写点什么

浅谈 Http,Https

作者:秋名山码民
  • 2022 年 5 月 26 日
  • 本文字数:1522 字

    阅读完需:约 5 分钟

HTTP 协议

HTTP协议(超文本传输协议 HyperText Transfer Protocol),它是基于 TCP 协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。


注意:客户端与服务器的角色不是固定的,一端充当客户端,也可能在某次请求中充当服务器。这取决与请求的发起端。HTTP 协议属于应用层,建立在传输层协议 TCP 之上。客户端通过与服务器建立 TCP 连接,之后发送 HTTP 请求与接收 HTTP 响应都是通过访问 Socket 接口来调用 TCP 协议实现。


HTTP 是一种无状态 (stateless) 协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理。这样做的目的是为了保持 HTTP 协议的简单性,从而能够快速处理大量的事务, 提高效率。


然而,在许多应用场景中,我们需要保持用户登录的状态或记录用户购物车中的商品。由于HTTP是无状态协议,所以必须引入一些技术来记录管理状态,例如Cookie


http url


HTTP URL 包含了用于查找某个资源的详细信息, 格式如下:


http://host[":"port][abs_path]

http 请求 Request

客户端发送一个 HTTP 请求到服务器的请求消息包括以下格式:

请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。

http 响应 Response

一般情况下,服务器接收并处理客户端发过来的请求后会返回一个 HTTP 的响应消息。

HTTP 响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

http5 大特点

  1. 支持客户/服务器模式

  2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GETHEADPOST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

  3. 灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

  4. 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。早期这么做的原因是请求资源少,追求快。后来通过Connection: Keep-Alive实现长连接

  5. 无状态HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

HTTP 的不足

  • 通信使用明文(不加密),内容可能会被窃听

  • 不验证通信方的身份,因此有可能遭遇伪装

  • 无法证明报文的完整性,所以有可能已遭篡改


从而引出了我们下文中的 HTTPS

HTTPS

HTTP 协议中没有加密机制,但可以通 过和 SSL(Secure Socket Layer, 安全套接层 )或 TLS(Transport Layer Security, 安全层传输协议)的组合使用,加密 HTTP 的通信内容。属于通信加密,即在整个通信线路中加密。


HTTP + 加密 + 认证 + 完整性保护 = HTTPS(HTTP Secure )


HTTPS 采用共享密钥加密(对称)和公开密钥加密(非对称)两者并用的混合加密机制。若密钥能够实现安全交换,那么有可能会考虑仅使用公开密钥加密来通信。但是公开密钥加密与共享密钥加密相比,其处理速度要慢。


HTTPS 的不足:


  • SSL 证书需要去,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。

  • SSL 证书通常需要绑定 IP,不能再同一 IP 上绑定多个域名,IPv4 资源不可能支撑这个消耗(SSL 有扩展可以部分解决这个问题,但是比较麻烦,而且要求浏览器、操作系统支持,Windows XP 就不支持这个扩展,考虑到 XP 的装机量,这个特性几乎没用)。

  • https 连接缓存不如 http 高效,大流量网站如非必要也不会采用,流量成本太高。

  • https 连接服务器端资源占用高很多,支持访客稍多的网站需要投入更大的成本,如果全部采用 https,基于大部分计算资源闲置的假设的 VPS 的平均成本会上去。

  • https 协议握手阶段比较费时,对网站的响应速度有负面影响,如非必要,没有理由牺牲用户体验。

发布于: 刚刚阅读数: 3
用户头像

卷不死,就往…… 2021.10.19 加入

2019NOIP退役成员,华为云享专家,阿里云专家博主,csdn博主,努力进行算法分享,有问题欢迎私聊

评论

发布
暂无评论
浅谈Http,Https_HTTP_秋名山码民_InfoQ写作社区