最后更新:2022-06-12 22:32:30 手机定位技术交流文章
目录
HTTP协议简介
通信
通信协议
HTTP
HTTP请求消息
HTTP请求消息组件
1. 请求行
2. 请求头部
3. 空行
4. 请求体
HTTP响应消息
HTTP响应消息组件
1. 状态行
2. 响应头部
3. 空行
4. 响应体
HTTP请求方法
HTTP响应状态码
HTTP响应状态代码的组成和分类
2**与成功有关的响应状态代码
3**重新定位响应状态代码
4**客户端与错误有关的响应状态代码
5**服务结束时与错误有关的响应状态代码
通信,就是信息的传递和交换。
沟通的三个要素主体通信的内容通信的方式

案例: 服务器 把传智专修学院的简介通过响应的方式发送给客户端浏览器。
其中,通信的主体是服务器和客户端浏览器;
文中内容是介绍通信情报专业;
通信的方式是响应;
通信协议是指双方之间的通信完成须遵守的规则和协议。 、
双方的共识是,双方使用商定的格式发送和接收讯息,这种预先确定的通信格式被称为通信协议。

在客户端和服务器之间传输网络内容时,通信双方必须遵守网络内容的传输协议。
网页内容又叫做超文本,所以网络内容传输协议也被称作 超文本传输协议 「HyperText Transfer Protocol」。HTTP 协议。
HyperText Transfer Protocol (HTTP) 指定在客户端和服务器之间传输网页内容时必须遵循的传输格式。
例如:
HTTP协议交互模型
HTTP协议采用请求/响应的交互模型。

因为HTTP协议属于客户端浏览器与服务器之间的通信协议,因此,客户端发起的请求叫做HTTP 请求,从客户端到服务器的讯息,叫做HTTP 请求消息。
注:HTTP请求消息也被调用HTTP 请求报文。
HTTP请求消息由四个部分组成:请求行、请求标题、空行和请求体。

请求行由请求模式、URL和HTTP协议版本它由三个部分组成,由它们之间的空间分开。




请求头部用来描述客户端的基本信息,从而向服务器提供与客户有关的信息。
比如:
请求头部由多行键/值对包含在每个行中的键和值之间分开的英文字母.

头部字段 |
说明 |
Host |
要请求的服务器域名 |
Connection |
如何连接客户端到服务器(关闭或保持生机) |
Content-Length |
描述请求体的大小 |
Accept |
客户端可识别响应内容类型列表 |
User-Agent |
生成请求的浏览器类型 |
Content-Type |
客户端告诉服务器发送的实际数据类型 |
Accept-Encoding |
客户接收内容的压缩编码格式 |
Accept-Language |
使用者期望获得的自然语言优先级 |

更多请求标题的描述可以在MDN官方文件中找到: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers
最后的请求标题由空行,通知服务器请求头部至此结束。
使用请求消息中的空行分开请求头和请求体。

在请求主体中存储的要通过POST 方式向服务器提交数据。


注意:只有 POST请求有请求机构,GET请求没有请求机构!
响应消息是服务器对客户端的响应消息的内容,也称为响应消息。
HTTP响应消息由状态行、响应头、空行和响应体它由四个部分组成,如图所示:

状态行由HTTP协议版本、状态代码和状态代码描述文本三个部分是由它们之间隔开的空间组成的;


响应头部用来描述服务器的基本信息。
响应头部由多行键/值对包含在每个行中的键和值之间分开的英文字母.


更多响应头条的描述可以在MDN官方文件中找到: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers
在最后一个响应头条字段结束之后,它会跟着一个空行来通知客户端响应头在这里结束。
响应消息中的空行,它用于分离反应头和反应体。

存储在响应体中是服务器响应客户端的资源内容。


HTTP请求方法是HTTP协议的一部分,用于指示在服务器上的资源上执行的操作.最常用的请求方法是GET和 POST。

HTTP状态代码也是HTTP协议的一部分。用来标识响应的状态。
响应状态代码与响应消息一起发送给客户端浏览器,该浏览器可以根据服务器返回的响应状态代码判断该HTTP请求的结果是否成功或失败。

HTTP 状态码由三个十进制数字第一个十个数字定义了状态代码的类型,第二个两个数字用于区分状态代码。HTTP状态代码分为5个类型:

完整的HTTP响应状态代码可以在MDN官方文件中找到: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status
2**范围状态代码,表示服务器成功接收并处理请求。 一般2**类型的状态代码如下:
状态码 |
状态码英文名称 |
中文描述 |
200 |
OK |
请求成功 。一般用于 GET 与 POST 请求 |
201 |
Created |
已创建 Successfully requested and created a new resource, usually used POST 或 PUT 请求 |
3**范围状态代码,表示服务器要求客户端重新定位,并要求客户端进行进一步操作完成资源请求。 常见的3**类型状态代码如下:

4**范围的状态代码,表示客户端的请求包含非法内容,导致请求失败。 常见的4**类型状态代码如下
状态码 |
状态码英文名称 |
中文描述 |
400 |
Bad Request |
1、 语法错误,服务器无法理解当前请求。 除非修改,否则客户端不应重复请求。 2 、请求参数有误。 |
401 |
Unauthorized |
当前请求需要用户验证。 |
403 |
Forbidden |
服务器已经理解了请求,但拒绝执行它。 |
404 |
Not Found |
服务器无法根据客户端的请求找到资源(页)。 |
408 |
Request Timeout |
请求延迟。 服务器太长时间等待客户端发送请求。 |
5**范围的状态代码,表示服务器因意外错误未能正确处理客户端的请求。 常见的5**类型状态代码如下


本文由 在线网速测试 整理编辑,转载请注明出处。