这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天
HTTP
初识HTTP
- Hyper Text Transfer Protocol 超文本传输协议
- 应用层协议,基于TCP协议
- 请求 响应
- 简单可扩展
- 无状态
协议分析
- 发展
- 报文
常用请求头
- Accept 接收类型,表示浏览器支持的MIME类型(对标服务器端返回的Content-Type)
- Content-Type 客户端发送出去实体内容的类型
- Cache-Control 指定请求和响应遵循的缓存机制,如no-cache
- Expires 缓存控制,在这个时间内不会请求,直接使用缓存,服务器时间
- Max-age 代表资源在本地缓存多少秒,有效时间内不会请求,而是使用缓存
- Cookie 有cookie并且同域访问时会自动带上 常用响应头
- Content-Type 服务器返回的实体内容的类型
- Cache-Control 指定请求和响应遵循的缓存机制,如no-cache
- Expires 应该在什么时候认为文档已经过期,从而不再缓存它
- Max-age 客户端的本地资源应该缓存多少秒,开启了Cache-Control后有效
常见场景
- 静态资源:缓存+CDN+文件名hash
- 跨域解决方案:
- CORS
- 代理服务器
- Iframe
实际应用
浏览器篇 AJAX-Fetch
- XMLHttpRequest的升级版
- 使用Promise
- 模块化设计
- 通过数据流处理对象,支持分块读取 node篇 标准库:HTTP/HTTPS
- 默认模板,无需安装其他依赖
- 功能有限/不是十分友好 常用请求库:axios
- 支持浏览器、nodejs环境
- 丰富的拦截器 用户体验