第一章网络基础
http1.0 http1.1 http2.0
http1.x版本报文格式
http2.0报文
将在最后详细解读。
HTTP1.1仍然是现在主流的http协议版本。
和互联网相关的协议称为TCP/IP协议族。
TCP/IP协议按照层次分为了四层:
应用层(File Transfer Protocol FTP, DNS Domain Name System)
传输层(TCP UDP分别指的是Transmission Control Protocol和User Data Protocol)
网络层(用来处理在网络上流动的数据包,数据包是网络传输的最小数据单位)
数据链路层(用来处理连接网络的硬件部分,包括硬件驱动,网络适配器)
数据的整个传输过程为如图所示:
整个HTTP传输的起点一定是从客户端的应用层开始,按照TCP/IP协议簇分层的顺序在客户端自顶向下,在服务端自底向上。
和HTTP相关的三个协议:IP,TCP,DNS
IP协议的作用是确保数据能传到target。要做到这点的条件就是IP地址和MAC地址。MAC地址指的是网络适配器(网卡)的固有地址,IP地址是节点分配的地址,随着网络环境而改变,而MAC地址一般不变。有了地址就能在一个网络下进行通讯了,而不在同一局域网内就无法进行通讯了,这就用到了ARP(Address Resolution Protocol),ARP的作用就是用来解析地址,根据IP地址就能查出对应的MAC地址,这样就不会找不到人了。
TCP协议作用是确保数据传输正确并且被接受,采用了三次握手的策略。主要为
Client---------------携带SYN的请求--------------->Server
Client<------------- 接受SYN/ACK--------------------Server 表示服务端完成了请求
Client---------------------ACK--------------------------->Server 表示客户端收到
DNS就是我们经常用到的,主要完成了IP地址和域名之间的转换。
HTTP协议通信过程
请求过程:
Client-------------------发送请求报文------------------------------------->Server
Server------------------相应请求报文-------------------------------------->Client