• HTTP 优缺点


    HTTP 最凸出的优点是「简单、灵活和易于扩展、应用广泛和跨平台」。

    1. 简单
    HTTP 基本的报文格式就是 header + body ,头部信息也是 key-value 简单文本的形式,易于理解,降低了学习和使用的门槛。
    2. 灵活和易于扩展
    HTTP协议里的各类请求方法、URI/URL、状态码、头字段等每个组成要求都没有被固定死,都允许开发人员自定义和扩充。同时 HTTP 由于是工作在应用层( OSI 第七层),则它下层可以随意变化。HTTPS 也就是在 HTTP 与 TCP 层之间增加了 SSL/TLS 安全传输层,HTTP/3 甚至把 TCP 层换成了基于 UDP 的 QUIC。
    3. 应用广泛和跨平台
    互联网发展至今,HTTP 的应用范围非常的广泛,从台式机的浏览器到手机上的各种 APP,从看新闻、刷贴吧到购物、理财,HTTP 的应用片地开花,同时天然具有跨平台的优越性。

    HTTP 的缺点--双刃剑

    1. 无状态

    无状态的好处:因为服务器不会去记忆 HTTP 的状态,所以不需要额外的资源来记录状态信息,这能减轻服务器的负担,能够把更多的 CPU 和内存用来对外提供服务。
    无状态的坏处:既然服务器没有记忆能力,它在完成有关联性的操作时会非常麻烦。例如登录->添加购物车->下单->结算->支付,这系列操作都要知道用户的身份才行。但服务器不知道这些请求是有关联的,每次都要问一遍身份信息。

    对于无状态的问题,解法方案有很多种,其中比较简单的方式用 Cookie 技术。

    Cookie 通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。相当于,在客户端第一次请求后,服务器会下发一个装有客户信息的「小贴纸」,后续客户端请求服务器的时候,带上「小贴纸」,服务器就能认得了。

    2. 明文传输
    明文意味着在传输过程中的信息,是可方便阅读的,通过浏览器的 F12 控制台或 Wireshark 抓包都可以直接肉眼查看,为我们调试工作带了极大的便利性。但是这正是这样,HTTP 的所有信息都暴露在了光天化日下,相当于信息裸奔。在传输的漫长的过程中,信息的内容都毫无隐私可言,很容易就能被窃取,比如里面有你的账号密码信息。

    3. 不安全
    HTTP 比较严重的缺点就是不安全:
    a.通信使用明文(不加密),内容可能会被窃听。比如,账号信息容易泄漏;
    b.不验证通信方的身份,因此有可能遭遇伪装。比如,访问假的淘宝、拼多多;
    c.无法证明报文的完整性,所以有可能已遭篡改。比如,网页上植入垃圾广告,视觉污染;

    HTTP 的安全问题,可以用 HTTPS 的方式解决,也就是通过引入 SSL/TLS 层,使得在安全上达到了极致。

     

     

     

    当你把所有的挫折和苦难都闯过去了,并且有一定的令人开心成就之后,愿你像个普通人一样无忧无论、心境淡然。

     

  • 相关阅读:
    【MySQL】# 自定义变量、一行数据与多行的转换、IF函数
    【AI语音】九联UNT402A_通刷_纯净精简_免费线刷固件包
    Pandas GroupBy 深度总结
    代码随想录一一一双指针法一一一移除元素
    国内云计算厂商那个有学生云服务器,该选择哪家比较好?
    【Matlab笔记_18】函数处理不同输出变量
    生产环境sql优化日记——从几十分钟优化到几十秒钟
    我去面试聊了半天MySQL索引,结果面试官黑脸让我回家等结果...
    python pandas提取正无穷inf与负无穷-inf所在数据行/列
    失败率高达80%,数字化转型如何正确完成战略规划?
  • 原文地址:https://www.cnblogs.com/lzcnblogs/p/16667141.html