HTTP请求

客户端–>请求–>服务器

  • 超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

  • HTTP是基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。

  • HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。

以请求百度为例

1
2
3
4
Request URL: https://www.baidu.com/  请求地址
Request Method: GET 请求方法get/post
Status Code: 200 OK 状态码
Remote Address: 36.152.44.96:443 远程地址ip+端口
1
2
3
4
5
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9 语言
Cache-Control: max-age=0
Connection: keep-alive

1.请求行

请求行中的请求方式:GET

请求头图

GET请求方式

请求方式:

image-20250414142250490

2.消息头

image-20250414142603869
1
2
3
4
5
Accept: 告诉浏览器,请求支持的数据类型
Accept-Encoding: 支持的编码格式
Accept-Language: 语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完是断开还是保持连接

HTTP响应

服务器–>响应–>客户端

例子

1
2
3
4
Request URL: https://www.baidu.com/  请求地址
Request Method: GET 请求方法get/post
Status Code: 200 OK 状态码
Remote Address: 36.152.44.96:443 远程地址ip+端口

响应体

1
2
3
4
5
6
7
8
Accept: 告诉浏览器,请求支持的数据类型
Accept-Encoding: 支持的编码格式
Accept-Language: 语言环境
Cache-Control: 缓存控制
Connection: 告诉浏览器,请求完是断开还是保持连接
Refresh:表示浏览器应该在多少时间之后刷新文档,以秒计。
Location:表示客户应当到哪里去提取文档。Location通常不是直接设置的,而是通过HttpServletResponse的 sendRedirect方法,该方法同时设置状态代码为302。
Set-Cookie:设置和页面关联的Cookie。

响应状态码

常见状态码

200:请求响应成功

301:请求重定向

  • 请求重定向(Redirect):通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。

404: 找不到资源

500:服务器代码错误

HTTP状态码分类

HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:

image-20250414143407248