“这是我参与「第四届青训营 」笔记创作活动的第5天 HTTP1.1 标准版本
超文本传输协议。监听端口80
发展历程
- 请求中最主要反应请求方式、协议版本
- 响应中最主要反应协议版本 状态码 状态信息
请求方法
方法遵循准则:
- safe安全的。不会修改服务器数据 GET HEAD OPTIONS
- idempotent幂等。同样的请求被执行一次与连续执行多次效果一样。所有安全的方法都幂等。
状态码
常用请求头
- 实体内容类型可以是form-data,或者json等
- http无状态,可以用cookie携带状态
常用响应头
- access-control-allow-origin常用来解决跨域
缓存
- 强缓存(资源本地有缓存,可以直接用)
- 协商缓存(本地缓存在使用前先和服务器通信确认才使用)
缓存流程
304表示请求的资源未修改
cookie
- 键值对的形式
HTTP 2
- 更快、更稳定、更简单
- 通信最小单位为帧(包含帧头,所属数据流)
- 二进制传输
- 数据流(已建立的连接内的双向字节流,可以承载多条消息)
- 连接复用性。连接是永久的,每个来源一个链接
- 流控制。阻止发送方向接收方发送大量数据的机制。
- 服务器推送(会同时把请求资源中引用到的其他资源一起发送给客户端)
HTTPS
- 对称加密和非对称加密混合使用(TSL/SSL加密)
- 对称加密:加密和解密使用同一个秘钥
- 非对称加密:加密解密使用不同秘钥(公钥和私钥)
- 监听端口443
静态资源部署(提供加载速度)
缓存 + CDN + 文件名hash
跨域
- 协议 域名 端口号其中之一不一样就说明发生了跨域
- 浏览器的同源策略造成
- 同源策略存在于浏览器与浏览器,浏览器与不同源服务器之间。服务器之间不受限制。
- 一般使用options请求
解决方案
- CORS
- jsonp
- 代理服务器(常用)
鉴权
记录登录状态
- 一般使用 cookie + session的方案
- JWT(json web token)
SSO单点登录
网站跳转自动登录
新的通信方式websocket
浏览器与服务器进行全双工通讯的技术
- 实时性要求高,比如聊天室
- URL使用WS://或 WSS://等开头