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相同,那么同源
  • 两个源产生过多交互会有以下问题

 思考

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

跨域几种解决办法

  • Jsonp

Jsonp跨域很简单,就是利用<script>标签没有跨域限制的“漏洞”(历史遗迹啊)来达到与第三方通讯的目的。当…https://www.zhihu.com/question/19966531

  • 跨域资源共用(CORS)

  • 代理:利用代理将不同源的资源代理到同源的资源

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值