TCP&HTTP协议详解

这篇具有很好参考价值的文章主要介绍了TCP&HTTP协议详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

TCP&HTTP协议详解

1、HTTP协议理解

超文本传输协议(hypertext transfer protocol,HTTP)是在互联网上应用最为广泛的-种网络协议。所有的WWW服务器都基于该协议。

http的内容就有

  • http协议;
  • http资源定位
  • http请求
  • 响应头详细信息
  • http状态码
  • MIME类型;

超文本传输协议标准架构–>RFC–>是http的基础

2、http协议与tcp协议区别

从应用领域来说:

  • tcp协议主要用于数据传输控制
  • http协议主要用于应用层的数据交换

http协议是应用层协议,建立在TCP协议基础之上;

  • http协议以客户端请求额服务器端应答为标准;
  • 客户端给服务器端发起请求
    • TCP会建立三次握手–>建立数据连接通道
    • 然后进行http的数据交互;
  • http连接是无状态连接;建立的时间非常端
  • tcp连接是有状态连接;
3、资源定位标识符

http的请求内容资源由统一的资源标识符(URI)来表示

资源定位以及标识有三种:

  • URI:用来唯 标识一个资源
  • URN:通过名字来标识或识别资源
  • URL:是一种具体的URI,URL可以用来标识一个资源,而且可以访问或者获取该资源

概念:

  • protocol: 基于某种协议,常见协议有HTTP、HTTPS、FTP、RSYNC等
    • http协议
  • host: 服务器的IP地址或者域名。
    • www.baidu.com
  • port: 服务器的端口号,如果是HTTP 80端口,默认可以省略.
  • path : 访问资源在服务器的路径
    • 192.168.75.30:/a.txt
  • query-string: 传递给服务器的参数及字符串
    • tid=2
  • anchor-:锚定结束。
    • baidu
4、http与端口通信

http web服务默认会监听80端口;‘在linux中,每个运行的程序都会监听一个本地的端口;从而我们引入一个端口的概念;

端口的概念:

  • 端口是TCP/IP协议中应用层进程与传输层协议实体间的通信接口
  • 端口是操作系统可分配的一种资源,用于实现数据转发,接收使用的;
  • 应用程序通过系统调用与某个端口绑定后,传输层传给该端口的数据会被该进程接收,相应进程发给传输层的数据都通过该端口输出;

引入端口的概念,可以固定一些程序运行的时候,识别服务的类型;

没有端口号的时候,使用PID来标识,但是PID是没有固定的,因此引入一个端口的概念来统一标识;比如说

  • http:80
  • ftp:21、20
  • mysql:3306

套接字的理解:

  • 计算机的发展趋势,TCP/IP协议模型引入了套接字的应用程序接口;
    • 基于socket接口技术:一台计算机就可以与任何一台计算机具有socket接口的计算机进行通信;
5、http的request与response

如果客户请求数据–>发送request–>服务器接收都请求–>给与response回应;这就是大概的理解;

这里有三个部分需要理解

  • request line:
  • request header:
  • request body:

通过一条命令来理解web服务器的request 和response的处理流程

#request 的信息组成
[root@Node1 ~]# curl -v 192.168.75.130
	#一下这里就是请求头详细信息
* About to connect() to 192.168.75.130 port 80 (#0)
*   Trying 192.168.75.130...
* Connected to 192.168.75.130 (192.168.75.130) port 80 (#0)
> GET / HTTP/1.1				#请求类型是get
> User-Agent: curl/7.29.0 		#代理信息
> Host: 192.168.75.130			#处理的头部就是目标主机
> Accept: */*
> 

	#第二部分就是response的请求头详细
< HTTP/1.1 200 OK					#这个就是状态码
< Server: nginx/1.20.1				#服务器使用的类型
< Date: Thu, 30 Mar 2023 03:18:05 GMT
< Content-Type: text/html
< Content-Length: 15
< Last-Modified: Thu, 30 Mar 2023 03:18:00 GMT
< Connection: keep-alive
< ETag: "6424ff68-f"
< Accept-Ranges: bytes
<
#这里就是正文的信息
this is nginx 
* Connection #0 to host 192.168.75.130 left intact

reques请求方法有如下几个:文章来源地址https://www.toymoban.com/news/detail-721420.html

  • get方法: 向特定的资源发出请求,获取服务器端数据
  • post方法: 向Web服务器提交数据进行处理请求,常指提交新数据
  • put方法:向Web服务器提交上传最新内容,常指更新数据。
  • delete:请求删除request-URL所标识的服务器资源
  • trace:回显服务器收到的请求,主要用于测试或诊断
  • connect:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
  • options:返回服务器针对特定资源所支持的HTTP请求方法
  • head方法:HEAD方法跟GET方法相同,只不过服务器响应时不会返回消息体
6、http常见的几种状态码
  • 100:continue,表示继续,客户端继续请求HTTP 服务器
  • 101:switching protocols服务器根据客户端的请求切换协议,切换到 HTTP的新版本协议
  • 200:OKHTTP 请求完成,常用于 GETPOST 请求中
  • 301:moved permanently:永久移动,请求的资源已被永久的移动到新 URI
  • 302:found:临时移动,资源临时被移动,客户端应继续使用原有 URI
  • 304:not modified:文件未修改,请求的资源未修改,服务器返回此状态码时,常用于缓存
  • 400:bad request:客户端请求的语法错误,服务器无法解析或者访问
  • 401:unauthorized:请求要求用户的身份认证
  • 402:payment required:此状态码保留,为以后使用
  • 403:forbidden:服务器理解请求客户端的请求,但是拒绝执行此请求
  • 404:not found:服务器没有该资源,请求的文件找不到
  • 500:internal server error服务器内部错误,无法完成请求
  • 502:bad gateway服务器返回错误代码或者代理服务器错误的网关
  • 503:service unavailable服务器无法响应客户端请求,或者后端服务器异常
  • 504:gateway time-out网关超时或者代理服务器超时

到了这里,关于TCP&HTTP协议详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络协议分析-http/https/tcp/udp

    “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生 错误”。主要目的防止 server 端一直等待,浪费资源。换句话说,即是为了保证服务端能收 接受到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手,为了保证客

    2024年02月11日
    浏览(50)
  • TCP/IP协议、HTTP协议和FTP协议等网络协议简介

    常见的网络协议主要包括TCP/IP协议、HTTP协议、FTP协议等。 TCP/IP协议(Transmission Control Protocol/Internet Protocol)是互联网最基础的协议,由网络层的IP协议和传输层的TCP协议组成。 TCP/IP定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准,是Internet国际互联网络

    2024年04月10日
    浏览(84)
  • 前端面试:【网络协议与性能优化】HTTP/HTTPS、TCP/IP和WebSocket

    嗨,亲爱的Web开发者!在构建现代Web应用时,了解网络协议是优化性能和确保安全性的关键。本文将深入探讨HTTP/HTTPS、TCP/IP和WebSocket这三个网络协议,帮助你理解它们的作用以及如何优化Web应用的性能。 1. HTTP/HTTPS协议: HTTP(超文本传输协议): HTTP是用于在Web上传输数据的

    2024年02月11日
    浏览(51)
  • HTTP协议与TCP协议

    HTTP 1.0 标准中,定义了3种请求⽅法:GET、POST、HEAD HTTP 1.1 标准中,新增了请求⽅法:PUT、PATCH、DELETE、OPTIONS、TRACE、CONNECT 方法 功能 GET 通常⽤于请求服务器发送某些资源 POST 发送数据给服务器 HEAD 请求资源的头部信息, 并且这些头部与 HTTP GET ⽅法请求时返回的⼀致。 该请求

    2024年02月05日
    浏览(35)
  • 浅谈Http协议、TCP协议(转载)

    TCP标志位,有6种标示:SYN(synchronous建立联机) ,ACK(acknowledgement 确认) ,PSH(push传送),FIN(finish结束) ,RST(reset重置), URG(urgent紧急) Sequence number(顺序号码) ,Acknowledge number(确认号码),在上面我们已经详细说明!下图是工作原理图: 三次握手: 第一次握手:建立连接时,主机A发送

    2024年02月09日
    浏览(43)
  • TCP/IP协议、HTTP协议

    面试时,我们可能会被问到TCP/IP相关问题,比如: 什么是TCP/IP协议? TCP建立连接为什么要进行三次握手? TCP断开连接为什么要进行四次挥手? 一、TCP/IP协议模型 (TCP协议)传输控制协议是一种面向连接的、可靠的、基于字节流的方式进行有序的无差错的数据传输通讯协议

    2024年03月14日
    浏览(63)
  • TCP/IP协议—HTTP

    超文本传输协议(Hypertext Transfer Protocol,HTTP)是一种请求-响应的协议,用户可以通过HTTP向服务器上传、下载数据。HTTP基于TCP协议,是web应用中最主要的应用层协议,比如浏览器上网就是使用HTTP协议。通讯端口默认为80。 超文本安全传输协议(Hypertext Transfer Protocol Secure,

    2024年04月26日
    浏览(43)
  • 网络协议报文理解刨析篇二(再谈Http和Https), 加上TCP/UDP/IP协议分析(理解着学习), 面试官都惊讶你对网络的见解

    目录 前文链接(系列助学, 也为后文学习做铺垫, 可按需读取) 一. 再谈HTTP再理解 二. HTTP对比学习HTTPS HTTP和HTTPS的区别如下: 三.TCP协议  (三次握手四次挥手细节过程理解在之前的博文中有详细图解) tcp缓冲区概念的引入  (解释流量控制): 确认应答(ACK)机制的理解 (编序号)

    2023年04月09日
    浏览(66)
  • TCP、IP、TCP/IP、HTTP和HTTPS协议简介

    TCP、IP、TCP/IP、HTTP和HTTPS都是计算机网络通信中常见的协议。 TCP TCP(Transmission Control Protocol)是传输层协议,在网络通信中提供可靠的、面向连接的数据传输服务。TCP协议确保数据的可靠性、完整性和有序性,并且可以自动进行重传和错误校验,为应用层提供了可靠的数据传输

    2024年02月04日
    浏览(47)
  • Websocket协议-http协议-tcp协议区别和相同点

    通讯形式 单工通讯-数据只能单向传送一方来发送数据,另一方来接收数据 半双工通讯-数据能双向传送但不能同时双向传送 全双工通讯-数据能够同时双向传送和接受 注:http的通讯方式是分版本 http1.0 :单工。因为是短连接,客户端发起请求之后,服务端处理完请求并收到

    2024年02月15日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包