HTTP|青训营笔记

27 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 5天

HTTP

发展历程:0.9单行协议(请求get/mypage.html,响应只有html文档)>1.0构建可拓展性,增加了header,有了状态码,支持多种文档文档类型>1.1标准化协议,链接复用,缓解,内容协商> 2更优异的表现更快更稳定,二进制协议,压缩header,服务器推送>3草案

Method:有一些是安全的,即不会修改服务器数据的方法,如head/options。幂等即执行一次或多次结果相同。

缓存:强缓存:expires,时间戳,协商缓存:Etag:资源的特定版本的标识符,类似于指纹

Cookie:携带用户的相关信息

场景分析:

静态资源方案(可使用户拿到的信息快):缓存+CDN(content delivery network)通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务

如何保证新?利用文件名做手脚,使用户在刷新时访问最新资源

当有跨域请求时时(即协议,hos,子域等不同时)

1、利用CORS(跨域请求共享)预请求:获知服务端是否允许该跨源请求(复杂请求),相关协议头:Access-control-allow-...等

2、代理服务器:同源策略是浏览器的安全策略,不是HTTP的

3、Iframe 有诸多的不方便

当登录时

向什么地址做了什么动作

使用域名POST方法

目标域名sso.toutiao.com

目标path/quick_login/v2/

携带了那些信息,返回了哪些信息

携带信息:post body,数据格式为form,希望获取的数据格式为json,已有的cookie

返回信息:数据格式json,种cookie的信息

鉴权:session +cookie, JWT(JSON web token)

跳转后的网站如何自动登录的:SSO单点登陆(Single Sign On),具体情况具体讨论