这本书感觉一个周末就可以读完
传输协议/HTTP相关知识
HTTP/HTTPS定义
- 超文本传输协议/超文本安全传输协议
TCP/IP与HTTP的关系
- TCP/IP 是互联网相关的各类协议的总称
- TCP/IP 采取分层管理(4层)
- 应用层 :决定向用户提供服务时通信的活动 【HTTP】【FTP】【DNS】
- 传输层 : 提供处于网络链接中两台计算机之间的数据传输 【TCP】【UDP】
- 网络层 : 处理在网络上流动的数据包 【IP】数据包是网络传输的最小单位
- 数据链路层 : 用来处理连接网络的硬件部分 【硬件的设备驱动】【网卡】【光纤】
HTTP 是TCP/IP的子集,属于TCP/IP分层结构中的应用层
IP协议、TCP协议、DNS 名词解释
- IP协议 :TCP/IP协议集合中的网络层,主要作用的将数据包传送给对方要确保数据能正确的传输给目标方,需具备以下条件 1. IP地址 :指明节点被分配到的地址 【IP地址通常是可变的】 2. MAC地址 :网卡所属的固定地址 【MAC地址通常是不变的】
- TCP协议 :TCP属于传输层,提供可靠的字节流服务要确保数据能真情的传输给目标方,TCP采取三次握手的形式,确保数据成功发送!
- DNS : 属于应用层,主要负责域名解析即将域名解析为IP,或将IP转换为对应域名
TCP/IP的通信流程

- 客户端在应用层发起http请求
- TCP传输层将数据(HTTP请求 报文)进行分割,并在各个报文上打上标记序号以及端口号,然后转发给网络层
- 网络层(IP协议)增加作为通信目的地的MAC地址后转发给数据链路层
- 接收端服务器在数据链路层接收到数据,按序往上层发送,一直到应用层。
- 当响应数据传输到应用层,一次请求完成
从输入URL 到页面展示的过程
HTTP协议介绍
- 无状态
HTTP是无状态的协议,为了实现状态保持功能,后续引入cookie 技术
- 持久链接:keep-alive
在HTTP初始协议中,每进行一次HTTP通信,就要断开一次TCP连接,大量的TCP连接和断开会增加通信量的开销。
为了解决上述问题,HTTP/1.1 和一部分HTTP/1.0 提出持久连接的方法。持久连接的特点是,只要任意一端没有明确提出断开连接,则保持TCP连接状态
- 管线化
持久连接使得多数请求以管线化的方式发送成为可能,以往发送请求后需等待并收到响应,才能发送下一个请求,管线化技术实现后不用等待响应亦可直接发送下一个请求。【并行发送多个请求】
- 使用Cookie 管理状态
cookie 技术通过在请求和响应报文中写入Cookie 信息来控制客户端的状态
- 根据响应报文的set-cookie 的首部字段,通知客户端写入cookie
- 当下次客户端向服务器发送请求时自动在请求报文中加入Cookie 的值发送给客户端
