HTTP协议
1. HTTP协议概述
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求【Request】-响应【Response】协议,它专门用于定义客户端与服务器之间交换数据的过程以及数据本身的格式。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
2. 浏览器请求服务器资源的简要概述信息
- 请求 URL :Request URL: https://www.baidu.com/
- 请求方式 : Request Method: GET或POST
- 响应状态码 : Status Code: 200 OK.
- 请求服务器 IP 地址和端口号 : Remote Address
- 引用的协议【跨域支持】: Referrer Policy: strict-origin-when-cross-origin
3. HTTP 协议请求头 Request
- / 请求资源 是当前服务器的根目录资源。
- HTTP/1.1 表示当前的请求的协议使用的是 HTTP/1.1协议
- Accept: 告知 服务器当前浏览器支持的数据类型
- Accept-Encoding: 当前浏览器支持的相关文件类型
- Accept-Language: 浏览器支持的语言
- Connection: 表示保持连接状态
- Cookie: 【核心知识点】会话控制技术,对应 Cookie and Session 可以用于存储用户的相关数据,浏览信息,【令牌】
4. HTTP 协议响应头 Response
- Connection: keep-alive 表示保持连接状态
- Content-Encoding: gzip Content 内容 Encoding 编码形式
- Content-Type: text/html; charset=utf-8 页面内容类型和对应的编码集,当前页面内容为可视化文本 HTML 文件,同时编码集为 utf-8
- Date: Thu, 23 Mar 2023 06:44:51 GMT 格林尼治时间,如果需要展示为当前 北京时间 + 8
- Server: 当前服务器的版本 BWS Baidu WebServer 服务器 1.1 版本
- Set-Cookie: BDSVRTM=382; path=/
Set-Cookie: BD_HOME=1; path=/
【核心】会话控制技术,服务器发送给浏览器 Cookie 数据保存,Cookie 数据是一个【键值对数据】
4. 状态码
状态码是提供给浏览器端得知当前服务器运行状态的一种形式。
分类 | 分类描述 |
---|---|
1** | 信息,服务器收到请求,需要请求者继续执行操作 |
2** | 成功,操作被成功接收并处理 |
3** | 重定向,需要进一步的操作以完成请求 |
4** | 客户端错误,请求包含语法错误或无法完成请求 |
5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
特殊关注状态码 | 信息描述 |
---|---|
404 | 资源未找到异常,通常出现在资源名称错误,资源路径错误,资源尚未放行。 |
405 Method Not Allowed | 项目代码中未满足方法必须重写的要求,例如 doGet 和 doPost |
5XX | 不要看浏览器,看 IDEA 的运行日志,运行日志有三个 Server,Tomcat Log, Cateline Log |
200 | 大吉大利,一切顺利 |
5. 服务器针对HTTP 协议相关对象
服务器针对于用户的请求:
Request 对象,当前对象中包含 HTTP 协议请求头的所有数据内容,包括用户请求参数内容。无论是 GET 请求还是 POST 请求,Request 都会存储对应的数据信息。
服务器针对于用户的响应:
1. 服务器会根据用户的请求 【Request 对象】 针对性创建对应的【Response 对象】
2. Response 对象通过 服务器发送给浏览器【解析】,针对于浏览器反馈的所有数据,都可以通过 Response 对象反馈