HTTP | 青训营笔记

54 阅读2分钟

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

1.什么是HTTP

当我们在使用浏览器的时候,浏览器是如何处理我们输入的信息并渲染出相应的页面的呢

image.png 通过这张图我们可以大致地了解到这个过程,我们主要看红色方框中与网络相关的部分

image.png 通过一个简单的hello的message请求,我们可以大概看到HTTP的五个特点

  1. http是超文本的,可以传输文本之外的很多信息,比如html,css,js,还有一些api
  2. http是基于tcp协议的应用层协议
  3. http主要由请求和响应组成
  4. http请求的构成是比较简单的,我们可以手动加一些请求头什么的对其进行扩展
  5. hhtp的每一个请求都是相对独立的,在发出一个请求的时候,我们一般不知道前面都进行了什么样的请求

2.协议分析

image.png 我们以http1.1为例来分析一下报文的结构及其包含了哪些信息

2.1 metrhod方法

image.png 常见的方法有postgetdelete

image.png 其中GET HEAD OPTIONS被称为safe,安全的、不会修改服务器数据的方法

GET HEAD OPTIONS PUT DELETE被称为idempotent,幂等,也就是说同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的

所有的safe方法都是idempotent的

2.2 状态码

常见的一些状态码

image.png

2.3 header

image.png

image.png 其中与缓存有关的header有

image.png 这其中的强缓存意思是,如果我们请求的资源本地已经有了,那么我们直接拿来用就好了,而协商缓存的意思是如果我们请求的资源本地有,那也不能直接用,我们需要和server服务器进行一个沟通和协商的过程。

etaglast-modified是response中会携带的信息,if-none-matchif-modified-since是请求中会携带的信息

image.png

2.4 cookie

image.png

3.协议发展