「HTTP 实用指南」| 青训营笔记

68 阅读2分钟

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

一、重点内容:

  1. HTTP协议简介

  2. HTTP协议的基本结构与发展历程

  3. 常见场景中的HTTP协议应用

  4. 在不同的环境中发起HTTP请求

  5. 知识扩展,了解更多网络通信协议

二、详细内容:

1. 什么是HTTP

  • Hyper Text Transfer Protocol超文本传输协议
  • 应用层协议,基于TCP协议
  • 请求响应
  • 简单可扩展
  • 无状态

2. HTTP协议

Method

  • Safe(安全的):不会修改服务器的数据的方法
  • GET HEAD OPTIONS
  • ldempotent(幂等)︰同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的
  • 所有safe的方法都是ldempotent 的
  • GET HEAD OPTIONS PUT DELETE

帧(frame)

HTTP/2通信的最小单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流。

消息

与逻辑请求或响应消息对应的完整的一系列帧。

数据流

已建立的连接内的双向字节流,可以承载一条或多条消息。

HTTP/2连接都是永久的,而且仅需要每个来源一个连接

流控制

阻止发送方向接收方发送大量数据的机制

对称加密

加密和解密都是使用同一个密钥

非对称加密

加密和解密需要使用两个不同的密钥︰公钥(public key)和私钥(private key)

3. 常见场景中的HTTP协议应用

登录

业务场景

  1. 表单登录
  • 扫码登录技术方式
  • SSO
  1. 账号密码登陆
  • 打开控制台- network -勾选 preserve log-过滤quick_login观察请求

为什么有options的请求?

跨域,cross-origin

Cookie技术

针对http协议的无状态特性带来的弊端:无法保存用户的状态。cookie技术应运而生。

cookie技术通过在请求和响应报文中写入Cookie信息来控制(或者说记录)客户端的状态。

1、Cookie技术会根据从服务器端发送的响应报文内的一个叫做Set-Cookie的首部字段信息,通知客户端保存Cookie。

2、客户端再向服务器端发送请求的时候,客户端会在请求报文中加入Cookie值后发送出去。

服务器端会检查客户端发送的请求中有没有Cookie值,然后对比服务器上的记录,最后确定是哪一个客户端,之前的信息状态是什么.

三、课后个人总结:

纸上得来终觉浅,告一段落了,感谢字节,感谢掘金

引用参考:

课件和 HTTP详解 - 知乎 (zhihu.com)