zoukankan      html  css  js  c++  java
  • http协议与https协议

    1.概念:

      超文本传输协议。因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。

    2.常用请求头信息

      -  User-Agent:请求载体的身份标识

      -  Connection:请求完毕后是断开连接还是保持连接//close|keepalive

      -  Accept:text/html,image/*(告诉服务器,浏览器可以接受文本,网页图片)

        -  Accept-Charaset:ISO-8859-1 [接受字符编码:iso-8859-1]

        -  Accept-Encoding:gzip,compress[可以接受  gzip,compress压缩后数据]

        -  Accept-Language:zh-cn[浏览器支持的语言]   

        -  Host:localhost:8080[浏览器要找的主机]

        -  Referer:http://localhost:8080/test/abc.html[告诉服务器我来自哪里,常用于防止下载,盗链]

    3.常用响应头

      - Content-Type: 服务器响应回客户端的数据类型

      - Allow:服务器允许的请求方式

      - Content-Length:返回内容的长度

    4.https协议

      - 安全的http协议(数据加密)

    5.加密方式

      - 对称秘钥加密

    /*
    客户端向服务器发送一条信息,首先客户端会采用已知的算法对信息进行加密,比如MD5或者Base64加密,接收端对加密的信息进行解密的时候需要用到密钥,中间会传递密钥,(加密和解密的密钥是同一个),密钥在传输中间是被加密的。
    这种方式看起来安全,但是仍有潜在的危险,一旦被窃听,或者信息被挟持,就有可能破解密钥,而破解其中的信息。因此“共享密钥加密”这种方式存在安全隐患。
    */

      - 非对称秘钥加密

    /*
    非对称加密”使用的时候有两把锁,一把叫做“私有密钥”,一把是“公开密钥”,使用非对象加密的加密方式的时候,服务器首先告诉客户端按照自己给定的公开密钥进行加密处理,客户端按照公开密钥加密以后,服务器接受到信息再通过自己的私有密钥进行解密,
    这样做的好处就是解密的钥匙根本就不会进行传输,因此也就避免了被挟持的风险。就算公开密钥被窃听者拿到了,它也很难进行解密,因为解密过程是对离散对数求值,这可不是轻而易举就能做到的事。
    */

      - 证书秘钥加密

      

      

    /*
    服务器的开发者携带公开密钥,向数字证书认证机构提出公开密钥的申请,数字证书认证机构在认清申请者的身份,审核通过以后,会对开发者申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将密钥放在证书里面,绑定在一起
    
    服务器将这份数字证书发送给客户端,因为客户端也认可证书机构,客户端可以通过数字证书中的数字签名来验证公钥的真伪,来确保服务器传过来的公开密钥是真实的。一般情况下,证书的数字签名是很难被伪造的,这取决于认证机构的公信力。一旦确认信息无误之后,客户端就会通过公钥对报文进行加密发送,服务器接收到以后用自己的私钥进行解密。
    */
  • 相关阅读:
    美国航天局的十大编码戒律(转)
    大型数据库应用解决方案总结
    IOCP模型
    SSH 连接慢的解决方案详解
    指针(详解)【转】
    有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别【转】
    USB入门开发的八个问题&USB枚举『转』
    浅谈 STM32 硬件I2C的使用 (中断方式 无DMA 无最高优先级)(转)
    KEIL Code RO-data RW-data ZI-data 【转】
    262K Color
  • 原文地址:https://www.cnblogs.com/kakawith/p/12367117.html
Copyright © 2011-2022 走看看