这是我参与「第五届青训营 」伴学笔记创作活动的第 五 天
前端技术栈之HTTP协议| 青训营笔记
目录:
- 初始HTTP协议
- 缓存
- 静态资源
- 跨域问题
初识HTTP协议
HTTP(Hyper Text)协议简称超文本传输协议,用于从服务器传输超文本到本地浏览器的传输协议。
协议发展
HTTP/0.9 单行协议
- 请求GET /mypage.html
- 响应只有HTML文档
HTTP/1.0 构建可扩展性
- 增加了Header
- 有了状态码
- 支持多种文档类型
HTTP/1.1 标准化协议
- 链接服用
- 缓存
- 内容协商
HTTP/2 更优异的表现
- 二进制协议
- 压缩header
- 服务器推送
部分请求含义
- GET 请求一个指定资源的表示形式,使用GET的请求应该只被用于获取数据。
- POST 用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用。
- PUT 用于请求有效载荷替换目标资源的所有当前表示。
- HEAD 请求一个与GET请求的响应相同的响应,但没有响应体
- CONNECT 建立一个到由目标资源标识的服务器的隧道。
状态码 表示的含义
- 200 OK -客户端请求成功
- 301 - 资源(网页等)被永久转移到其他URL
- 302 - 临时跳转
- 401 Unauthorized - 请求未经授权
- 404 - 请求资源不存在,可能是输入了错误的URL
- 500 - 服务器内部发生了不可预期的错误
- 504 Gateway Timeout - 网关或者代理的服务器无法在规定的时间内获得想要的响应
RESTful API
RESTful API:一种API设计风格。
- 每一个URL代表一种资源
- 客户端和服务端之间,传递这种资源的某种表现层;
- 客户端通过HTTP method,对服务端资源进行操作,实现表现层状态转化。
常用请求头含义
- Accept 接收类型,表示浏览器支持的MIME类型
- Content-Type 客户端发送出去实体内容的类型
- Cache-Control 指定请求和响应遵循的缓存机制
- Cookie 有cookie并且同域访问时会自动带上
缓存
强缓存:强缓存就是利用HTTP头的Expres(时间字符串)和cache-control(相对时间)两个字段来控制的。
弱缓存:弱缓存也就是协商缓存,就是由服务器来确定缓存资源是否可用,所以客户端和服务端需要用来用某种标识来进行刷新一半都是协商缓存。
静态资源
静态资源解决方案:缓存+CDN+文件名hash
CDN:Content Delivery Network 通过用户就近性和服务器负载的判断,CDN确保内如以一种极为高效的方式为用户的请求提供服务
跨域解决方案
- CORS
- 代理服务器
-
- 同源策略是浏览器的安全策略,不是HTTP的
- iframe
-
- 诸多不便
本章笔记部分内容经过本人经过修改,部分内容不太专业。