《图解HTTP》笔记——了解web及网络基础(第一章)
Web使用一种名为HTTP(HyperText Transfer Protocol,超文本传输协议)的协议作为规范,完成从客户端到服务器等一系列运转流程。而协议是指规则的约定。可以说,Web是建立在HTTP协议上通信的。
通常使用的网络(包括互联网)是在TCP/IP协议族的基础上运转的。而HTTP属于他内部的一个子集。
不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议。把与互联网相关联的协议集合起来总称为TCP/IP。
TCP/IP协议族按层次分别分为以下4层:应用层、传输层、网络层和数据链路层。分层优势:如果互联网只有一个协议统筹,某个地方需要改变时,就必须把所有部分整体替换掉。而分层之后只需要把变动的层替换掉即可。
TCP/IP协议族中与HTTP密不可分的三个协议(IP、TCP和DNS):
(1)负责传输的IP协议(此IP指Internet Protocol网络协议,而不是IP地址),属于网络层。IP协议的作用是把各种数据包传送给对方。其中两个重要的条件是IP地址和MAC地址。IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。IP地址可变换,但MAC地址基本上不会改变。IP间的通信依赖MAC地址,双方通常是结果多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的MAC地址来搜索下一个中转目标,这是会采用ARP协议,ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。
(2)确保可靠性的TCP协议,属于传输层。TCP协议为了更容易传送大数据才把数据分割,而且TCP协议能够确认数据最终是否送达到对方。为了TCP协议采用了三次握手策略。用TCP协议把数据发送出去后,一定会向对方确认是否成功发送。握手过程中使用了TCP的标志——SYN(synchronize同步)和ACK(acknowledgement确认)。发送端首先发送一个带SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。最后,发送端再回传一个带ACK标志的数据包,代表握手结束。若在握手过程中某个阶段莫名中断,TCP协议会再次以相同的顺序发送相同的数据包。
(3)DNS(Domain Name System)服务是和HTTP协议一样位于应用层的协议。它提供域名到IP地址之间的解析服务。计算机既可以被赋予IP地址,也可以被赋予主机名和域名。用户通常使用主机名或域名来访问对方的计算机,而不是通过IP地址来访问,但计算机需要通过IP地址来访问。DNS协议提供通过域名查找IP地址,或逆向从IP地址反查 域名的服务。
TCP/IP协议族中的各种协议与HTTP协议的关系
URI(统一资源标识符)与URL(Uniform Resource Locator,统一资源定位符,也是浏览web页面时需要输入的网址)。URI用字符串标识某一互联网资源,而URL表示资源的地点(互联网上所处的位置)。可见URL是URI的子集