初识HTTP协议
HTTP是超文本传输协议,应用层协议基于TCP协议,请求相应,简单可扩展,无状态(不带状态信息)
HTTP发展:起初是单行协议,它是非常单调的,不能满足用户的诉求,之后构建了HTTP可扩展性,增加了Header、状态码等等,丰富了语义,可承载多种文档类型。到1.1版本标准化协议之后,增加了链接复用、缓存、内容协商。目前到2版本,更快、更稳定、更简单。
协议分析-报文
GET读方法不会修改原始数据,属于安全方法,所有安全的方法都是幂等的。
状态码
易混淆:RESTful API
常用请求头
Accept、Content-Type、Cache-Control、if-Modified-Since、Expires等等
报文的请求头很多,需要掌握最基本的几种
常用响应头
Content-Type、Cache-Control、Last-Modified、Expires等等
缓存
强缓存和协商缓存,两者有各自的字段
cookie
用于携带用户相关的信息
HTTPS概述
经过加密、有对称加密和非对称加密,两种加密相混用有更高的安全性
HTTP协议的应用场景分析
静态资源
刷新页面后状态码还是200,是从本地缓存拿的
静态资源方案:缓存+CDN+文件名hash
登录
表单登录的请求和技术方案
跨域
任何一部分不同都是跨域 https默认端口号是443可以省略
处理跨域用CORS、代理服务器、Iframe可以解决,会先发起预请求
SSO单点登录
HTTP协议实战分析
浏览器发起HTTP协议:AJAX之XHR、AJAX之Fetch
node:标准库HTTP/HTTPS、请求库axios
网络优化可以提升用户体验,稳定性也很重要
个人总结
此次课程,我对HTTP协议有了清晰的理解,学习到HTTP的背景知识、概念解读、协议特征、发展历程以及报文解析。对静态资源和浏览器登录进行了分析。