HTTP的三次握手
作者:互联网
HTTP 协议的三次握手
HTTP(Hypertext Transfer Protocol):超文本传输协议
TCP(Transmission Control Protocol):传输控制协议
1、HTTP协议和TCP/IP协议的区别?
答:TCP/IP协议是传输层协议,主要解决数据如何在网络中传输。而HTTP是应用层协议,主要解决如何包装数据。Web使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP作传输层协议将它发送到网络上。
HTTP协议的七层协议如下:
7 | 应用层 | HTTP、SMTP、FTP Telnet、SIP、DNS、RTSP、XMPP |
6 | 表示层 | XDR、ASN.1、SMB、AFP、NCP |
5 | 会话层 | ADSP、TLS、SSH、RPC、RTCP、ASP、SCP |
4 | 传输层 | TCP、UDP、RTP、SCTP、SPX、ATP、IL |
3 | 网络层 | IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP |
2 | 数据链路层 | 以太网、令牌环、HDLC、帧中继、ISDN、ATM |
1 | 物理层 | 线路、无线电、光纤、信鸽 |
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器端开始传送数据。以买家和淘宝客服举例说明,如下图所示:
2、HTTP协议的关键字段解释
打开谷歌浏览器,按键盘上的F12键进入控制台(有的笔记本电脑按F12键的时候,可能没反应,此时需要Fn键和F12键一起按下去就可以进入控制台了)
在浏览器中打开百度网页,在打开的控制台中点击“Network”—>“XHR”—>“Headers”
Request URL:请求的URL地址
Request Method:GET,这里表示请求的类型是GET类型,常见的还有POST类型、PUT类型、DELETE类型。
Status Code:200OK,这里的200OK是HTTP的响应状态码,200表示正常,没有错误信息。
Cookie:Cookie 表示一个保存在客户机中的简单的文本文件, 这个文件与特定的Web文档关联在一起, 保存了该客户机访问这个Web文档时的信息, 当客户机再次访问这个Web文档时这些信息可供该文档使用。
Host:这里的Host指的是网站的网络服务器。
Content-Type:内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件。
User-Agent:User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
标签:协议,浏览器,握手,SYN,TCP,服务器,三次,HTTP 来源: https://www.cnblogs.com/0722tian/p/16197731.html