HTTP协议小知识

HTTP是一种通信协议,构建在TCP/IP协议之上的,是TCP/IP协议的一个子集。下图展示了HTTP事务处理过程。当客户端访问WEB站点时,首先会通过DNS服务查询到域名的IP地址。然后浏览器生成HTTP请求,并通过TCP/IP协议发送给Web服务器。Web服务器接受到请求后会根据请求生成响应内容,并通过TCP/IP协议返回给客户端。

image.png

而对应的结构如下:

image.png

  • 应用层一般是我们编写的应用程序,决定了向用户提供的应用服务。应用层可以通过系统调用与传输层进行通信,如:FTP,DNS,HTTP

  • 传输层通过系统调用向应用层提供处于网络连接中的两台计算机之间的数据传输功能。在传输层中有两个性质不同的协议:TCP和UDP

  • 网络层用来处理在网络中流动的数据包。该层规定了通过怎样的路径到达对方计算机,并把数据包传输给对方

  • 链路层用来处理连接网络的硬件部分。包括控制操作系统。硬件设备驱动等。

数据包的封装过程

TTP

传输层-TCP三次握手

使用TCP协议进行通信的双方必须先建立连接,然后才能开始传输数据。为了确保连接双方的可靠性,在双方建立连接时,TCP协议采用三次握手的策略,UDP不用。

image.png

  • 第一次握手:客户端发送带有SYN标志的连接请求报文段,然后进入SYN_SEND状态,等待服务端确认 (证明甲有发送的能力)

  • 第二次握手:服务端接受到客户端的SYN报文段后,需要发送ACK信息对这个SYN报文段进行确认,同时还要发送自己的SYN请求信息。服务端会将上述的信息放到一个报文段(SYN+ACK)中,一并发送给客户端,此时服务端将会进入SYN_RECV状态。(证明乙有接受和发送的能力,证明甲发送成功的标志)

  • 第三次握手:客户端接受到服务端的SYN+ACK报文段后,会向服务端发送ACK确认报文段,这个报文段发送完毕后,客户端和服务端都进入ESTABLISHED状态,自此完成TCP三次握手(证明乙发送成功,开始连接)

HTTP报文头

image.png
image.png
image.png
image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 10,486评论 0 8
  • 1、TCP状态linux查看tcp的状态命令:1)、netstat -nat 查看TCP各个状态的数量2)、lso...
    北辰青阅读 13,181评论 0 11
  • 运输层协议概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是...
    srtianxia阅读 7,342评论 0 2
  • 今天我们上体育课的时候,在操场上看见了一只黑绿色的金龟子躺在地上,大家都觉得很好玩。我想把它翻过来,弄成站着...
    一只屑铭阅读 4,516评论 0 0
  • 我有一个爱我的爸爸。 他长的很高,有着1米75的个子,体重(保密),带着一副黑黑的眼镜。 我的爸爸很...
    璨璨lc阅读 4,711评论 1 2