HTTP相关:TCP/IP、DNS
最近在看HTTP的书,看得有点慢,而且断断续续的,很多东西看完就忘了。知识点多且零散,感觉要多看几遍才能消化。
TCP/IP协议族按层次分为4层:
应用层:
应用层决定了向用户提供应用服务时通信的活动。
传输层:
传输层为应用层提供处于网络连接中的两台计算机之间的数据传输。
网络层:
网络层用来处理在网络上流动的数据包。
链路层:
链路层用来处理连接网络的硬件部分。
TCP/IP通信传输流:
IP协议:
Internet Protocol的作用是把各种数据包传送给对方,有两个条件(MAC地址、IP地址)保证了数据能准确传输给对方。
MAC地址:
网卡所属的固定地址(物理地址) 。IP间通信依赖MAC地址,通信时一般要进行多次中转才能连接对方,中转过程就会用到MAC地址和ARP协议(ARP协议根据对方IP地址,寻找中转设备的MAC地址,通过中转设备传送,从而连接对方)。
IP地址:
指明节点被分配到的地址。IP地址是可以和MAC地址配对的,且IP地址可以变换。
TCP三次握手:
为了准确无误地将数据传送给目标,TCP协议采用了三次握手的机制。发送端先发送一个带SNY(synchronize)标志的数据包给对方,接收端收到后,会回传一个带有SYN/ACK(acknowledgement)标志的数据包表示确认收到,然后发送端再发送一个带ACK标志的数据包,代表握手结束了。注意:若在握手过程中某个阶段中断,TCP协议会再次以相同的顺序发送相同的数据包。
DNS服务:
计算机有IP地址、主机名和域名(例如www.cnblogs.com),用户通常用域名去访问而不是IP地址,因为相对于IP地址的一串数字,域名更符合人类的记忆习惯,但计算机是很难理解名称的,所以DNS服务应运而生。
最后看一张总览图:
以上所有图片来源于上野宣的《图解HTTP》(《今晚我们一起学习HTTP》)。