HTTPS和HTTP2.0及同源策略

目录

HTTPS协议工作原理

HTTP2.0协议

同源策略

跨域几种解决办法


HTTPS可以保证网络传输环境的安全   (๑•̀ㅂ•́)و✧

HTTPS:应用层协议

HTTPS协议工作原理

HTTPS采用对称加密的方式加密传输的数据,对称加密的密钥,采用非对称加密的方式进行协商

  1. TCP协议三次握手,建立TCP协议
  2. 服务器利用TCP将证书发送给浏览器,证书里包含了公钥 (✿・ω・)/✉(//∇//)
  3. 浏览器通过本地ROOT CA验证网站证书
  4. 浏览器用证书的公钥加密:协商对称加密的算法和密码
  5. 服务器响应,确定对称加密算法和密码
  6. 会话建立(来往数据使用对称加密)

HTTP2.0协议

HTTPS协议的目的是解决HTTP协议的安全问题,HTTP2.0则是为了解决性能问题

HTTP1.1协议的Keep Alive让多个请求复用一个TCP连接,非多路复用。

  • 优点:节省TCP握手时间
  • 缺点:一个请求阻塞,其它请求也全都阻塞

HTTP2.0 使用多路复用,优点:一个请求阻塞了,其它请求依旧可以响应

HTTP2.0 还会对头部进行压缩 (HPACK算法)

头部压缩算法文章参考icon-default.png?t=M0H8https://segmentfault.com/a/1190000017011816

同源策略

定义:禁止一个源(origin)的脚本和文档与另一个源(origin)的脚本和文档交互

  • 两个URL的protocol,port,host相同,那么同源
  • 两个源产生过多交互会有以下问题

HTTPS和HTTP2.0及同源策略_第1张图片

 思考

  • 为什么不禁用不同源的js?
    • 没有意义,js通常是拿到CDN上的
  • 是否允许不同源的js获取远程图片内容?
    • 不允许,远程拿过来的就不一定是图片了   |_・)   
    • PS:a.jpg?xxxx=id
  • 是否允许网站提交数据到不同源的服务器?
    • 不允许,用户信息可能泄露
  • 是否允许网站提交cookie到不同源的服务器?
    • 不允许,cookie里有用户的敏感信息

跨域几种解决办法

  • Jsonp

Jsonp跨域很简单,就是利用

你可能感兴趣的:(计算机网络,https,http,网络协议,计算机网络)