bai3/note

HTTP、HTTP2和HTTPS的区别

Opened this issue · 0 comments

bai3 commented

HTTP、HTTP2和HTTPS的区别

HTTP特性

  • 无状态

    即当客户端访问一次服务器再次访问的时候,服务器是无法知道这个客户端是否已经访问过

  • 持久链接

    HTTP1.1使用持久连接keepalive,所谓持久连接,就是服务器在发送响应之后仍然在一段时间内保持这条连接,允许在同一连接中存在多次数据请求和响应

  • 支持客户/服务器模式

缺陷

  • 耗时

    每次传输数据都要建立连接

  • 不安全

    HTTP是明文传输,所有东西都可见

  • header内容过大

  • keepalive压力过大

    当传输的文件的数据特别大的时候,会对服务器造成大量性能压力

HTTP2 特性

  • 二进制帧

    HTTP1的解析基于文本,HTTP2会将传输的信息分割为更小的消息和帧,然后采用二进制的格式进行编码

  • 多路复用

    所有的请求都是通过一个TCP链接并发完成。

  • 流量控制和流的优先级

  • 服务器端推送

    服务器端的推送,就是服务器可以对一个客户端请求发送多个响应。

  • 首部压缩(对应HTTP1 heade内容过大)

HTTPS特性

  • HTTPS协议需要申请证书
  • HTTPS是使用具有安全性的ssl加密传输协议
  • HTTPS端口使用443
  • HTTPS协议是由SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议