【http】http协议介绍

2021/09/09 14:41:52

介绍

HTTP 是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是基于 TCP 协议的应用层传输协议。

默认 HTTP 的端口号为 80,HTTPS 的端口号为 443。

特性

无连接

无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间,并且可以提高并发性能,不能和每个用户建立长久的连接,请求一次相应一次,服务端和客户端就中断了。

无连接有两种方式,早期的 http 协议是一个请求一个响应之后,直接就断开了,但是现在的 http 协议 1.1 版本不是直接就断开了,而是等几秒钟,这几秒钟是等着用户有后续的操作,如果用户在这几秒钟之内有新的请求,那么还是通过之前的连接通道(socket)来收发消息,如果过了这几秒钟用户没有发送新的请求,那么就会断开连接,这样可以提高效率,减少短时间内建立连接的次数,因为建立连接也是耗时的,这个时间可以通过后端代码来调整。

无状态

不保存之前链接的状态,同一个客户端的这次请求和上次请求没有任何关系。

HTTP 协议的不足

  • 通信使用明文(不加密),内容可能会被窃听。
  • 不验证通信方的身份,因此有可能遭遇伪装。
  • 无法证明报文的完整性,所以返回结果有可能遭篡改。

参考

深入理解 HTTP 协议open in new window

HTTP 结构详解open in new window