HTTP协议详解
《图解HTTP》笔记整理
简介
HTTP(HyperText Transfer Protocol,超文本传输协议),是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。B端(Browser即浏览器)是建立在HTTP协议上进行通信的,所以做B端的都很必要先了解HTTP。
网络基础TCP/IP
网络(包括互联网)是在TCP/IP协议族的基础上运作的,而HTTP协议是TCP/IP协议族中重要的一个子集。
协议
计算机与网络设备要相互通信,双方必须基于相同的方法。比如:如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同硬件、操作系统之间的通信机制称为协议(Protocal)。
TCP/IP的分层管理
TCP/IP协议族按照层次分为以下4层:应用层、传输层、网络层和数据链路层。
TCP/IP的通信传输流
首先客户端发送一个查看Web页面的请求;接着,传输层为了传输方便(TCP协议)把HTTP请求报文进行分割,并在各个报文上打上标记序号及端口号后转发给网络层;在网络层(IP协议),增加作为通信的MAC地址后转发给链路层。服务端在链路层受到数据后,按序网上层发送,一直到应用层。
与HTTP关系密切的协议:IP、TCP和DNS
TCP协议
TCP(Transmission Control Protocol)协议:传输控制协议,提供可靠的字节流服务。字节流即将大块数据分割成以报文段(segement)为单位的数据包进行管理,可靠指的是能后准确可靠的传送给服务端。
三次握手建立连接
四次挥手断开连接
IP协议
把各种数据包发送给对方,一定要有IP地址和MAC地址。
IP地址:节点被分配到的地址
MAC地址:网卡所属的固定地址
DNS协议
DNS(Domain Name System)域名解析服务,提供域名到IP地址之间的解析服务。
可以通过域名查找IP地址,也可以逆向从IP地址反查域名。
各种协议与HTTP协议的关系
URI和URL
URI(Uniform Resource Identifier):统一资源标识符,由某个协议表示的资源的定位标识符
URL(Uniform Resource Locator):统一资源定位符
URI标识某一互联网资源,而URL表示资源的地点(网络中所处的位置),URL是URI的子集
HTTP协议知识点
http是不保存状态的协议
不会对发送过的请求和响应做持久化处理。
使用cookie进行状态管理
持久连接节省通信量
HTTP的初始版本中每进行一次HTTP通信都要断开TCP连接。在HTTP1.1中所有的连接都是持久连接,即只要任意一端没有明确提出断开连接,则保持TCP的连接状态。
减少通信开销,响应更快;减轻服务器负担