最后更新:2022-06-11 06:56:06 手机定位技术交流文章
HTTP概念
超文本传输协议(HTTP)是浏览器和服务器之间的超文本传输协议数据传输的规则。
F12打开开发工具并点击网络或网络要查看请求数据和请求响应数据的具体格式内容,请参阅以下图表:


因此,学习HTTP主要是学习请求和响应数据的具体格式内容。HTTP协议特点
HTTP协议具有自己的特征,这些特征是:
基于TCP的协议:面向连接,安全
TCP是一个面向连接的(在建立连接之前需要三个手)可靠的、基于字节流的层级通信协议,对于数据传输来说更安全。
请求-响应模型:一个请求与一个响应相符
请求和答复是一对一的通信
HTTP协议是无状态的协议:它们没有处理东西的内存容量。 每个请求响应是独立的
statusless 意味着,当客户端向服务器发送HTTP请求后,服务器不会根据请求响应数据完成响应后记录任何信息。
无法在请求之间共享数据可能造成问题,例如:
加入购物车和去购物车结算是两次请求,具体使用时,我们发现北京通常可以显示数据,因为Java已经考虑了这个问题,提出了使用会议技术(Cookie,会议)下面我们将详细讨论如何解决这个问题。 刚才提到的HTTP协议定义了请求和响应数据的格式,具体格式是什么?
总的来说,请求数据分为三个部分:请求行、请求头、请求体

请求行:HTTP请求中的第一个数据行,请求行包含三个内容块,分别GET[请求方法]/[请求URL路径]HTTP/1.1[HTTP协议和版本],有七种请求模式,最常见的是GET和 POST
请求标题:第二行开始使用格式键:值,并包含多个属性。常见的HTTP请求标题包括:
这些数据有什么用处?
例如:服务端可以根据请求标题的内容获取与客户有关的信息,并通过这些信息,服务端可以处理不同的业务要求,例如:
如果上面的红色框的内容是请求体的内容,那么请求体和请求头将被空行隔开。 此时浏览器发送了 POST请求,为什么不使用GET呢? GET和 POST请求之间的区别需要加以审查:修改页面中的表格方法属性,以测试GET请求和 POST请求的参数传递。
设置获取请求模式的方法:
设置方法以 POST请求模式:


响应数据分别分为三个部分响应行、响应头、响应体

关于响应状态代码,我们首先主要识别三个状态代码,其余部分则被用于掌握:
| 状态码分类 | 说明 |
|---|---|
| 1xx | 作为回应 - 临时状态代码, 说明请求已经接受, 告诉客户继续请求或如果已完成,则忽略它 |
| 2xx | 成功 - 表示请求已成功收到并处理 |
| 3xx | Redirecting — Redirecting to another location: 允许客户端重新启动请求完成整个过程。 |
| 4xx | 客户错误-处理出现的错误,客户的责任,例如客户要求不存在的资源,客户没有授权,访问被禁止,等等。 |
| 5xx | 服务器端错误-出现的处理错误、服务端的责任,例如:服务端例外、路由错误、HTTP版本不支持等等。 |
国家代码概览: https://cloud.Ten cent.com/developer/chapter/13553
| 状态码 | 英文描述 | 解释 |
|---|---|---|
| 200 |
OK
|
客户请求成功,即成功处理,这是我们最希望看到的状态代码 |
| 302 |
Found
|
指示请求资源已移到Location响应头条指定的URL,浏览器将自动重浏览此页 |
| 304 |
Not Modified
|
告诉客户端,您请求的资源从上次获取以来没有改变,并直接使用您的本地缓存。 |
| 400 |
Bad Request
|
客户端请求有一个语法错误,不能由服务器理解 |
| 403 |
Forbidden
|
服务器收到请求,但拒绝提供服务,例如:没有访问相关资源的权限 |
| 404 |
Not Found
|
请求资源不存在,通常URL输入错误,或网站资源被删除 |
| 428 |
Precondition Required
|
服务器请求一个条件请求,它告诉客户端如果他想访问资源,要携带一个特定的请求头 |
| 429 |
Too Many Requests
|
太多的请求,可以限制请求资源的客户端数目,并结合复试后响应头 |
| 431 |
Request Header Fields Too Large
|
请求头太大,服务器不想处理请求,因为头字字段太大。 请求可以在减少请求头字的大小后重新提交。 |
| 405 |
Method Not Allowed
|
请求方法错误,例如资源应该使用GET请求方法,使用 POST |
| 500 |
Internal Server Error
|
在服务器上发生了意外的错误。 服务器不正常。 |
| 503 |
Service Unavailable
|
服务器尚未准备好处理请求,服务器刚刚启动并尚未启动 |
| 511 |
Network Authentication Required
|
客户端需要身份验证才能访问网络 |
在前面的节中,我们介绍了IDEA的http项目中的服务器。 包含自定义服务器代码的Java类主要由ServerSocket和Socket
上面代码,大家不需要自己写,主要通过上述代码,你只需要知道服务器可以编译Java,可以接受向前端浏览器发送的页面请求和响应数据,真正使用的网络服务器,我们不会自己写,他们都使用当前更受欢迎的网络服务器,比如Tomcat
小结
响应数据由三个部分组成:响应线、响应头和响应体
master 200, 404, 500 这些三个响应状态代码表示分配成功,访问的资源不存在,服务不正常
本文由 在线网速测试 整理编辑,转载请注明出处。