美文网首页
HTTP协议的请求和响应

HTTP协议的请求和响应

作者: 西域战神 | 来源:发表于2018-06-05 21:44 被阅读0次

  HTTP协议主要用于客户端和服务器端之间的通信。请求访问文本或图片等资源的一端称为客户端,而提供资源响应的一端称为服务器端。应用HTTP协议的时候,必定是一端担任客户端的角色,而另外一端担任服务器端的角色。HTTP协议规定,请求必定从客户端发出,最后服务器端响应该请求并返回资源。

 请求报文是由请求方法,请求URI,协议版本,可选的请求首部字段以及内容实体构成。

  响应报文基本由协议版本,状态码(用于表示请求成功或者失败的数字),用于解释状态码原因的短语,以及实体主体组成。如下图所示。

curl命令通常由动作,{关键词},路径,协议/版本组成。如下命令:

curl -X POST -d "1234567890"   -H "xxx" -- "https://www.baidu.com"

-X表示请求动作,默认是GET,如果不指定动作的话。-d是data表示将相应的数据发送给服务器,然后等待服务器的响应。-H表示设置HTTP头部额外的内容。之后服务器会响应该请求。HTTP协议是无状态的连接协议,服务器无法知道客户是否拥有权限访问该服务器。Token就是一种存储在客户端cookie或者Local Storage的一种身份验证方法。当客户端发送请求后,服务器端会去验证客户端身份,然后发送一个Token,客户端每次请求都会要求携带一个合法的Token。如下图。

一些常用HTTP状态码:

1xx消息

这一类型的状态码,代表请求已被接受,需要继续处理。

100 Continue

服务器已经接收到请求头,并且客户端应继续发送请求主体(在需要发送身体的请求的情况下:例如,POST请求),或者如果请求已经完成,忽略这个响应。

101 Switching Protocols

服务器已经理解了客户端的请求,并将通过Upgrade消息头通知客户端采用不同的协议来完成这个请求。

102 Processing

WebDAV请求可能包含许多涉及文件操作的子请求,需要很长时间才能完成请求。该代码表示​​服务器已经收到并正在处理请求,但无响应可用。

2xx成功

这一类型的状态码,代表请求已成功被服务器接收、理解、并接受。

200 OK

请求已成功,请求所希望的响应头或数据体将随此响应返回。

201 Created

请求已经被实现,而且有一个新的资源已经依据请求的需要而创建,且其URI已经随Location头信息返回。

202 Accepted

服务器已接受请求,但尚未处理。最终该请求可能会也可能不会被执行,并且可能在处理发生时被禁止。

203 Non-Authoritative Information(自HTTP / 1.1起)

服务器是一个转换代理服务器(transforming proxy,例如网络加速器),以200 OK状态码为起源,但回应了原始响应的修改版本。

204 No Content

服务器成功处理了请求,没有返回任何内容。

205 Reset Content

服务器成功处理了请求,但没有返回任何内容。与204响应不同,此响应要求请求者重置文档视图。

206 Partial Content

服务器已经成功处理了部分GET请求。类似于FlashGet或者迅雷这类的HTTP 下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。

3xx重定向

这类状态码代表需要客户端采取进一步的操作才能完成请求。

300 Multiple Choices

被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息

301 Moved Permanently

被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。

4xx客户端错误

这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。

400 Bad Request

由于明显的客户端错误,服务器不能或不会处理该请求。

401 Unauthorized

即用户没有必要的凭据

403 Forbidden

服务器已经理解请求,但是拒绝执行它。

404 Not Found

请求失败,请求所希望得到的资源未被在服务器上发现

5xx服务器错误

表示服务器无法完成明显有效的请求。

500 Internal Server Error

通用错误消息,服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。没有给出具体错误信息。

501 Not Implemented

服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。

502 Bad Gateway

作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

503 Service Unavailable

由于临时的服务器维护或者过载,服务器当前无法处理请求

505 HTTP Version Not Supported

服务器不支持,或者拒绝支持在请求中使用的HTTP版本。

507 Insufficient Storage

服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。

508 Loop Detected

服务器在处理请求时陷入死循环。

510 Not Extended

获取资源所需要的策略并没有被满足。

511 Network Authentication Required

客户端需要进行身份验证才能获得网络访问权限,旨在限制用户群访问特定网络。

相关文章

  • 《图解HTTP》笔记(二)

    HTTP协议 Http是一种无状态协议。协议对于发送过的请求和响应之间的通信状态不进行保存。 客户端发送HTTP请...

  • 图解HTTP笔记

    一、URI格式 二、Http协议请求和响应 HTTP是一种不保存状态,即无状态协议。自身不对请求和响应之间的通信状...

  • 网络基础与 Node.js Server

    网络基础 网络与 IP 前面说了,请求和响应都是遵循 HTTP 协议的,HTTP 只是规定了请求和响应时那 4 个...

  • HTTP协议的必知核心点!

    HTTP协议,即超文本传输协议 HTTP是一个应用层协议 HTTP承载于TCP协议之上 HTTP由请求和响应构成 ...

  • HTTP 协议简介

    HTTP协议 请求响应式协议,一次请求和一次响应构成一次HTTP事务。HTTP 协议是无状态的,任何两次请求都是没...

  • Http基础知识学习(三),第6章摘抄

    6HTTP 首部 HTTP协议的请求和响应报文中必定包含HTTP首部 6.1 HTTP报文首部 HTTP协议的请求...

  • 网络HTTP/HTTPS TCP/IP详解

    本文分别从请求和响应报文,http/https,tcp/ip三部分讲解,在最后还有不同http版本协议的区别。 请...

  • HTTP协议的请求和响应

    HTTP协议主要用于客户端和服务器端之间的通信。请求访问文本或图片等资源的一端称为客户端,而提供资源响应的一端称...

  • 《图解HTTP》笔记概要2

    HTTP首部 HTTP协议的请求和响应报文中必定包含HTTP首部。首部内容为客户端和服务器分别处理请求和响应所提供...

  • 图解HTTP 第二章

    HTTP时不保存状态的协议HTTP是一种无状态协议,HTTP协议不对请求和响应之间的通信状态进行保存.协议对应发送...

网友评论

      本文标题:HTTP协议的请求和响应

      本文链接:https://www.haomeiwen.com/subject/jcrmsftx.html