http协议与https协议

北城余情 提交于 2020-02-26 15:16:00

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加密,接收端对加密的信息进行解密的时候需要用到密钥,中间会传递密钥,(加密和解密的密钥是同一个),密钥在传输中间是被加密的。这种方式看起来安全,但是仍有潜在的危险,一旦被窃听,或者信息被挟持,就有可能破解密钥,而破解其中的信息。因此“共享密钥加密”这种方式存在安全隐患。
*/

 

  - 非对称秘钥加密

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

 

  - 证书秘钥加密

  

  

/*
服务器的开发者携带公开密钥,向数字证书认证机构提出公开密钥的申请,数字证书认证机构在认清申请者的身份,审核通过以后,会对开发者申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将密钥放在证书里面,绑定在一起

服务器将这份数字证书发送给客户端,因为客户端也认可证书机构,客户端可以通过数字证书中的数字签名来验证公钥的真伪,来确保服务器传过来的公开密钥是真实的。一般情况下,证书的数字签名是很难被伪造的,这取决于认证机构的公信力。一旦确认信息无误之后,客户端就会通过公钥对报文进行加密发送,服务器接收到以后用自己的私钥进行解密。
*/

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!