持久连接
只要任意一端没有明确提出断开连接,那么保持TCP连接状态。这样做减少了TCP连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。
管线化
管线化不用等待响应即可直接发送下一条请求。
Cookie状态管理
Cookie技术通过在请求和响应报文中写入Cookie信息来控制客户端的状态。以方便服务器端通过该信息查找是哪个客户端发送的连接请求。
HTTP报文
- 报文首部: 服务器端或客户端需处理的请求或响应的内容及属性。
- 报文主题: 应被发送的数据。
状态码
响应类型有 5 种:
1XX | 信息性状态码 | 接收的请求正在处理
2XX | 成功状态码 | 请求正常处理完毕
3XX | 重定向状态码 | 需要进行附加操作以完成请求
4XX | 客户端错误状态码 | 服务器无法处理请求
5XX | 服务器错误状态码 | 服务器处理请求出错
通信的加密
HTTP协议没有加密机制,安全通信的方法有两种。一种是通过和 SSL 或 TLS 的组合使用,这种方法是将整个通信线路进行加密。与 SSL 合用的 HTTP 称为 HTTPS。还有一种就是给传输内容本身进行加密。
HTTPS
HTTP + 通信加密 + 证书 + 完整性保护 = HTTPS
TCP/IP的分层管理
-
应用层
向用户提供应用服务时通信活动,如FTP、DNS、HTTP。 -
传输层
对应用层提供处于网络连接中的两台计算机之间的数据传输。如果是从应用层到网络层,那么主要的工作是把从应用层收到的数据进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。有两个性质不同的协议:TCP和UDP。 -
网络层
处理网络上流动的数据包,该层规定了通过怎样的路径到达对方计算机,并把数据传输给对方。 -
数据链路层
处理连接网络的硬件部分,包括控制操作系统、硬件的设备驱动、网卡等。
IP协议
IP协议作用是把各种数据包传送给对方。需要满足的两个重要条件是IP地址和MAC地址。IP地址指明了节点被分配到的地址,MAC地址使之网卡所属的固定地址。通信过程是不断的中转直到到达目的地的过程,而这里的中转站的MAC地址是ARP协议通过通信的IP地址反查出来的。
TCP协议确保可靠性
TCP将大数据分割成报文段,并且可以确认最终数据是否被送达给对方。确认的方法就是三次握手。
- 由发送端发送标有SYN数据包给接收端;
- 接收端收到数据并给发送端发送标有SYN/ACK的数据包,表示可以正常接收发送端发送的消息;
- 发送端接收到回应后再给接收端发送标有ACK的数据,表示可以正常接收接收端的消息。
DNS负责域名解析
DNS 服务是和HTTP协议一样位于应用层,提供域名到IP地址之间的解析服务。
SSL/TLS
SSL/TLS的作用是将通信内容加密后再经网络隧道传输。
网友评论