关于HTTP协议的理解
1:是什么
http(hyper text transfer protocol)超文本传输协议 ,基于TCP/IP通信协议来传输数据,属于应用层的面向对象的协议。
2:用在哪:
用于从万维网服务器传输超文本到本地浏览器的传输协议,工作于客户端到服务端架构上,浏览器作为HTTP客户端通过URL向服务器发送请求,服务器接到请求后向客户端发送响应信息
3:特点:
程序规模小,通信速度快,灵活
无连接节省传输时间
无状态,对事物处理没有记忆能力
支持B/S C/S 模式
4:工作原理:
客户端向服务器请求页面,服务器把页面传给客户端,HTTP协议采用来请求/相应的模式,客户端向服务器发送一个请求报文,(这个报文里包含:请求的方法,URl ,协议版本,请求头部,请求数据),服务器以一个状态进行响应,(包含协议版本 ,状态码,服务器信息,响应头部,响应数据)
5:具体步骤:
a: 浏览器向DNS服务器请求解析URL中的域名所对应的IP地址
b: 服务器解析完IP地址后,根据IP地址和端口号和服务器建立TCP连接(三次握手,下面会做详细讲解)
c:浏览器发出请求,该请求报文作为TCP三次握手的第三个报文数据发送给服务器
d:服务器对浏览器作出响应,把对应的html文本给浏览器
e:释放tcp连接
f:这个时候你就能看见你访问信息啦
关于TCP三次握手
第一次:建立连接的时候,客户端发送SYN(synchronize sequence numbers同步序列编号)到服务器,进入syn-send状态,等待确认
第二次:服务器收到SYN包后,确认客户的syn包,同时自己也发送一个syn包,即syn+ack包,进入syn-recv状态
第三次:客户端收到服务器的syn+ack包之后,向服务器发送确认包ack,进入established状态,完成三次握手,开始传输数据
关于通信协议:
ftp http https