这是我参与「第五届青训营 」伴学笔记创作活动的第5天。 初识HTTP 什么是HTTP Hyper Text Transfer Protocol超文本传输协议 应用层协议,基于TCP协议 请求 响应 简单可扩展 无状态
协议分析 Method safe(安全的):不会修改服务器的数据的方法;GET HEAD OPTIONS Idempotent(幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的,所有safe的方法都是Idempotent的;GET HEAD OPTIONS PUT DELETE
状态码 1xx:指示信息,表示请求已接收继续处理 2xx:成功,表示请求已成功接收、理解、接受 3xx:重定向,要完成请求必须进行更进一步的操作 4xx:客户端错误,请求有语法错误或请求无法实现 5xx:服务器错误,服务器未能实现合法的请求
RESTful API 一种API设计风格 遵循以下特征 每一个URI代表一种资源 客户端与服务器之间,传递这种资源的某种表现层 客户端通过HTTP method,对服务器端资源进行操作,实现“表现层状态转化”
HTTP/2 更快、更稳定、更简单 帧:HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流。 二进制编码的形式 消息:与逻辑请求或响应消息对应的完整的一系列帧。 数据流:已建立的连接内的双向字节流,可以承载一条或多条消息。 交错发送,接收方重组织 HTTP/2连接都是永久的,而且仅需要每个来源一个连接 流控制:阻止发送方向接收方发送大量数据的机制 服务器推送
HTTPS 经过TSL/SSL加密
场景分析 静态资源 静态资源方案:缓存+CDN+文件名hash CDN:通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务
跨域解决方案
- CORS
- 代理服务器
- 同源策略是浏览器的安全策略,不是HTTP的
- Iframe
- 诸多不便
鉴权 Session+cookie JWT(JSON web token)