这一部分基本上是《图解HTTP》这本书第一章的笔记,获取更多信息可以查看原书,建议支持正版

使用HTTP访问Web

  • 客户端(Client)通过发送请求获取服务器(Server)上的资源。

屏幕快照 2020-03-11 上午11.07.07.png

TCP/IP协议族

什么是TCP/IP协议族

  • 协议:网络设备之间通信所采取的规则
  • TCP/IP 协议族:通常我们使用的网络是在TCP/IP协议族基础上运作的。HTTP是它内部的一个子集

屏幕快照 2020-03-11 上午11.12.40.png

TCP/IP的分层管理

  • 应用层:提供各类服务,HTTP位于此层。
  • 传输层:提供两台计算机之间的数据传输,TCP位于此层。
  • 网络层:选择数据包的传输路线。
  • 链路层:硬件范畴。

TCP/IP 通信传输流

  • 这里我们模拟客户端向服务器发送请求。

HTTP请求.png

  • 发送端在层与层之间传输数据时,每经过一层必定会打上一个该层所属的首部信息;
  • 接收端在层与层之间传输数据时,每经过一层必定会消去对应的首部。

屏幕快照 2020-03-11 上午11.41.23.png

几个协议

IP协议(负责传输)

  • IP协议位于网络层。
  • P协议的作用:把各种数据包传送给对方,传输过程依赖于IP地址MAC地址。
  • IP地址:指明了节点被分配到的地址(可变)。
  • MAC地址:网卡所属的固定地址(基本不变)。
  • ARP协议:使用该协议可以由IP地址反查出MAC地址。

屏幕快照 2020-03-11 上午11.49.50.png

没有人能全面预测互联网中的传输状况 在到达通信目标之前的中转过程中,计算机和路由等设备只能获悉很粗略的传输路线。

TCP/IP 协议(确保可靠性)

  • TCP协议位于传输层
  • TCP协议的作用:提供字节流服务(将报文段分割成数据包),并提供可靠的数据传输(确认送达)。
  • 如何提供可靠的传输:三次握手🤝🤝🤝(使用SYNACK标志及其他各种手段。

屏幕快照 2020-03-11 上午11.56.09.png

若握手🤝过程中莫名中断,会再次以同样顺序发送数据包。

DNS 协议(负责域名解析)

  • DNS协议位于应用层
  • DNS协议的作用:提供域名IP地址之间的解析服务。(正反向均可)

屏幕快照 2020-03-11 下午12.01.06.png

各种协议和HTTP协议之间的关系

  • 用一张图来表示:

屏幕快照 2020-03-11 下午12.02.51.png