HTTP实用指南 | 青训营笔记

46 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第7天

1.初识HTTP

  • 超文本传输协议
  • 应用层协议,基于TCP协议
  • 请求响应
  • 简单可扩展
  • 无状态(每个请求之间是孤立的,当前请求不知道之前携带过什么信息)

image.png

2.协议分析

2.1.报文结构

  • Method

image.png Safe:不会修改服务器的数据的方法 GET HEAD OPTIONS

Idempotent(幂等):同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的,所有safe的方法都是Idemponent的 GET HEAD OPTIONS PUT DELETE

  • 状态码

image.png

  • 常用请求头

image.png - 缓存image.png - cookie

image.png

  • 常用响应头

image.png

2.2.HTTP/2

  • 概述:更快、更稳定、更简单
  • 消息:与逻辑请求或相应信息对应的完整的一系列帧
  • 数据流:已建立的连接内的双向字节流,可以承载一条或多条消息
  • 交错发送,接收方重组织
  • HTTP/2连接都是永久的,而且仅需要每个来源一个连接
  • 流控制:阻止发送方向接收方发送大量数据的机制

2.3.HTTPS

image.png

3.常见场景

3.1.静态资源

  • 静态资源方案: 缓存 + CDN + 文件名hash

    • CDN:通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务

3.2.登录

为什么会有options的请求:跨域cross-origin

  • 跨域:

image.png

  • 跨域解决方案

    • 代理服务器:同源策略是浏览器的安全策略,不是HTTP的
    • Iframe:诸多不便
  • 登录向什么地址做了什么动作:

    • 使用POST方法
    • 目标域名 https: //sso.toutiao.com
    • 目标path/ quick_login/v2/
  • 携带了哪些信息,返回了哪些信息

    • 携带信息

      • Post body,数据格式为form
      • 希望获取的数据格式为json
      • 已有的cookie
    • 返回信息

      • 数据格式json
      • 种cookie的信息