目录
HTTPS协议工作原理
HTTP2.0协议
同源策略
跨域几种解决办法
HTTPS可以保证网络传输环境的安全 (๑•̀ㅂ•́)و✧
HTTPS:应用层协议
HTTPS协议工作原理HTTPS采用对称加密的方式加密传输的数据,对称加密的密钥,采用非对称加密的方式进行协商
- TCP协议三次握手,建立TCP协议服务器利用TCP将证书发送给浏览器,证书里包含了公钥 (✿・ω・)/✉(//∇//)浏览器通过本地ROOT CA验证网站证书浏览器用证书的公钥加密:协商对称加密的算法和密码服务器响应,确定对称加密算法和密码会话建立(来往数据使用对称加密)
HTTPS协议的目的是解决HTTP协议的安全问题,HTTP2.0则是为了解决性能问题
HTTP1.1协议的Keep Alive让多个请求复用一个TCP连接,非多路复用。
优点:节省TCP握手时间缺点:一个请求阻塞,其它请求也全都阻塞
HTTP2.0 使用多路复用,优点:一个请求阻塞了,其它请求依旧可以响应
HTTP2.0 还会对头部进行压缩 (HPACK算法)
头部压缩算法文章参考https://segmentfault.com/a/1190000017011816
同源策略定义:禁止一个源(origin)的脚本和文档与另一个源(origin)的脚本和文档交互
两个URL的protocol,port,host相同,那么同源两个源产生过多交互会有以下问题
思考
为什么不禁用不同源的js?
没有意义,js通常是拿到CDN上的是否允许不同源的js获取远程图片内容?
不允许,远程拿过来的就不一定是图片了 |_・) PS:a.jpg?xxxx=id是否允许网站提交数据到不同源的服务器?
不允许,用户信息可能泄露是否允许网站提交cookie到不同源的服务器?
不允许,cookie里有用户的敏感信息 跨域几种解决办法
Jsonp
Jsonp跨域很简单,就是利用