写这篇文章的原因
记录前端性能优化用到的关键概念
简化大家对HTTP的学习
大家或许面试的时候可以用得到哦
HTTP是什么
Web的应用层协议(超文本传输协议HyperText Transfer Protocol)。它由两个程序实现:客户端程序和服务器端程序。这两个程序运行在两个不同端系统,通过交换HTTP报文来实现通信。对于web前端工程师常见的场景中Web浏览器(即客户端)而Web server(nginx、apache等)就是服务器端。你的机器只要有了这两端,就可以在本地实现HTTP通信传输。
传说中的三次握手是什么
客户端—->发送TCP报文段—->服务器端 (第一次)
服务器端—->用TCP报文段确认和响应—->客户端 (第二次)
客户端向服务器端返回确认、发送HTTP请求报文 (第三次)
报文的组成
起始行(start line)
首部块(header)
主体(body)
起始行关键点
状态码(status code)
200 请求没有问题,实体的主题部分包含了所请求的资源
304 最近资源没有被修改
404 无法找到所请求的URL
500 服务器遇到一个妨碍它为请求提供服务的错误
首部块(header)
通用首部 (chrome中Headers下面的General)
请求首部 (chrome中Headers下面的Request Headers)
响应首部 (chrome中Headers下面的Response Headers)
跟缓存有关的头信息
请求首部
Cache-Control:no-cache
Pragma:no-cache
用户在本地浏览器设置disable-cache时
响应首部
Etag 与此资源相关的资源标记
Expires 资源不再有效,要从源端再次获取实体日期和时间
Last-Modified 资源最后被修改的时间