HTTP协议学习笔记 | 青训营

69 阅读2分钟

前言

此笔记是不仅在看视频的时候随手记的,之后也去查询了相关资料,思考、总结而成。以哔哩哔哩网站分析。

一、 什么是HTTP?

HTTP (Hyper Text Transfer Protocol):  全称为超文本传输协议,是基于 TCP/IP 通信协议来传递数据的,用于从万维网服务器传输超文本到本地浏览器的传送协议。

  • 网络协议 四层模型(由七层网络分层简化后)   第一层:主机到网络层(网络访问层):合并了物理层+数据链路层
    第二层:网络层(interent 层): IP 协议,本质就是规则,双方都要遵循的守则
    第三层:传输层
    第四层:应用层 ,合并了 回话层+表示层+应用层(HTTP协议就在该层)

  •  当我们在浏览器输入一个网址,此时浏览器就会给对应的服务器发送一个 HTTP 请求,对应的服务器收到这个请求之后,经过计算处理,就会返回一个 HTTP 响应。并且当我们访问一个网站时,可能涉及不止一次的 HTTP 请求和响应的交互过程。

二、 报文分析

(一)请求报文

http请求由四部分组成:1.请求行2.消息报头/请求头3.空行4.请求正文。

1.请求行

Method Request-URI HTTP/Version RLF

  1. Method。 根据 HTTP 标准,HTTP 请求可以使用多种请求方法。分别有: GET, POST ,HEAD ,OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。太多了,就先不一一讲述。
  2. Request-URI。 URI完整地指定了要访问的网络资源,通常只要给出相对于服务器的根目录的相对目录即可,因此总是以“/”开头。
  3. HTTP/Version 。为协议/版本。

2.消息报头/请求头

Accept、Accept-Charset、Accept-Encoding、Accept-Language、Authorization、Host、User-Agent等。

3.空行

空行为只有CRLF的行。它表示请求头已经结束,接下来的是请求正文。

(二)响应报文

http请求由四部分组成:1.状态行2.消息报头/响应头3.空行4.响应正文。整体上跟请求差不多,但是细节上会有不同。

1.状态行

HTTP/Version Status-Code Reason-Phrase CRLF 分别为:协议名称、版本号、状态码、状态码描述。

2.消息报头/响应头

为Location、Server、WWW-Authenticate等

3.空行

作用与请求报文中的空行类似。 三、场景分析 以哔哩哔哩网站为例,分析。不过时间有点来不及了,下回分解。 啊.png