• http协议--笔记


    HTTP协议的缺点:
    1.通信使用明文(不加密),内容可能会被窃听
    2.不验证通信方的身份,因此有可能遭遇伪装
    3.无法证明报文的完整性,所以有可能已遭篡改

    防止窃听保护信息的几种对策:加密技术
    通信的加密
    HTTP和SSL(Secure Socket Layer,安全套接层)或TLS(Transport Layer Security,安全层传输协议)的组合使用,加密HTTP的通信内容。与SSL组合使用的HTTP被称为HTTPS(HTTP Secure,超文本传输安全协议)或HTTP over SSL.

    HTTP+加密+认证+完整性保护=HTTPS
    我们把添加了加密及认证机制的HTTP称为HTTPS(HTTP Secure)

    HTTPS是身披SSL外壳的HTTP
    HTTPS不是应用层的一种新协议。只是HTTP通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议代替而已
    通常,HTTP直接和TCP通信。当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信了。
    SSL是独立于HTTP的协议,所以不光是HTTP协议,其他运行在应用层的SMTP和Telnet等协议均可配合SSL协议使用。SSL是当今世界上应用最为广泛的网络安全技术

    近代的加密方法中加密算法是公开的,而密钥却是保密的。加密和解密都会用到密钥。没有密钥就无法对密码解密

    共享密钥加密的困境
    加密和解密同用一个密钥的方式称为共享密钥加密(Common key crypto system),也被叫做对称密钥加密

    密钥发送问题
    发送密钥就有被窃听的风险,但不发送,对方就不能解密。再说,密钥若能够安全发送,那数据也应该能安全送达

    使用两把密钥的公开密钥加密
    公开密钥加密使用一对非对称的密钥。一把叫做私有密钥(private key),另一把叫做公开密钥(public key)

    要想根据密文和公开密钥,恢复到信息原文是异常困难的,因为解密过程就是在对离散对数进行求值,这并非轻而易举就能办到。退一步讲,如果能对一个非常大的整数做到快速地因式分解,那么密码破解还是存在希望的。但就目前的技术来看是不太现实的

    Ajax的核心技术是名为XMLHttpRequest的API,通过JavaScript脚本语言的调用就能和服务器进行HTTP通信

    使用HTTP协议探知服务器上是否有内容更新,就必须频繁地从客户端到服务器端进行确认。如果服务器上没有内容更新,那么就会产生徒劳的通信。
    想在现有WEB实现所需的功能,以下这些HTTP标准就会成为瓶颈
    1.一条连接上只可发送一个请求
    2.请求只能从客户端开始,客户端不可以接收除响应以外的指令
    3.请求/响应首部未经压缩就发送。首部信息越多延迟越大
    4.发送冗余的首部。每次互相发送相同的首部造次的浪费较多
    5.可任意选择数据压缩格式。非强制压缩发送

    SPDY没有完全改写HTTP协议,而是在TCP/IP的应用层与运输层之间通过新加会话层的形式运作。同时,考虑到安全性问题,SPDY规定通信中使用SSL


    SPDY以会话层的形式加入,控制对数据的流动,但还是采用HTTP建立通信连接。因此,可照常使用HTTP的GET和POST等方法、Cookie以及HTTP报文等

    使用SPDY后,HTTP协议额外获得以下功能
    多路复用流
    通过单一的TCP连接,可以无限制处理多个HTTP请求。所有请求的处理都在一条TCP连接上完成,因此TCP的处理效率得到提高
    赋予请求优先级
    SPDY不仅可以无限制地并发处理请求,还可以给请求逐个分配优先级顺序。这样主要是为了在发送多个请求时,解决因带宽低而导致响应变慢的问题
    压缩HTTP首部
    压缩HTTP请求和响应的首部。这样一来,通信产生的数据包数量和发送的字节数就更少了
    推送功能
    支持服务器主动向客户端推送数据的功能。这样,服务器可直接发送数据,而不必等待客户端的请求
    服务器提示功能
    服务器可以主动提示客户端请求所需的资源。由于在客户端发现资源之前就可以获知资源的存在,因此在资源已缓存等情况下,可以避免发送不必要的请求。
    不足:SPDY基本上只是将单个域名(IP地址)的通信多路复用,所以当一个Web网站上使用多个域名下的资源,改善效果就会受到限制

    WebSocket的设计与功能
    WebSocket,即Web浏览器与Web服务器之间全双工通信标准。仍在开发中的WebSocket技术主要是为了解决Ajax和Comet里XMLHttpRequest附带的缺陷所引起的问题

  • 相关阅读:
    合并两个有序列表
    根据前序遍历和中序遍历还原二叉树
    快速排序
    二叉树搜索的后序遍历序列
    最长回文子串
    爬楼梯
    Selenium EC 与 Wait
    爬取Django 绕过csrf实现批量注册
    Django 数据传递 个人汇总贴
    python bytes和str转换
  • 原文地址:https://www.cnblogs.com/919czzl/p/4946236.html
Copyright © 2020-2023  润新知