初识HTTP协议|青训营笔记

40 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第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)