http协议请求响应报文格式及状态码详解

合集下载

HTTP请求报文和HTTP响应报文汇总

HTTP请求报文和HTTP响应报文汇总

HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。

HTTP有两类报文:请求报文和响应报文。

HTTP请求报文一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。

or<request-line><headers><blank line>[<request-body>1.请求头请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。

例如,GET /index.html HTTP/1.1。

HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。

而常见的有如下几种:1).GET最常见的一种请求方式,当客户端要从服务器中读取文档时,当点击网页上的链接或者通过在浏览器的地址栏输入网址来浏览网页的,使用的都是GET方式。

GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。

使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾与请求参数的开始,传递参数长度受限制。

例如,/index.jsp?id=100&op=bind,这样通过GET方式传递的数据直接表示在地址中,所以我们可以把请求结果以链接的形式发送给好友。

以用google搜索domety为例,Request格式如下:GET /search?hl=zh-CN&source=hp&q=domety&aq=f&oq=HTTP/1.1Accept: image/gif, image/x-xbitmap, image/jpeg,image/pjpeg, application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword, application/x-silverlight,application/x-shockwave-flash, */*Referer: <ahref="/">/</a> Accept-Language: zh-cnAccept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT5.1; SV1; .NET CLR 2.0.50727; TheWorld)Host: <a href=""></a> Connection: Keep-AliveCookie:PREF=ID=80a06da87be9ae3c:U=f7167333e2c3b714:NW=1:TM=126 1551909:LM=1261551917:S=ybYcq2wpfefs4V9g;NID=31=ojj8d-IygaEtSxLgaJmqSjVhCspkviJrB6omjamNrSm8lZhK y_yMfO2M4QMRKcH1g0iQv9u-2hfBW7bUFwVh7pGaRUb0RnHcJU37y- FxlRugatx63JLv7CWMD6UB_O_r可以看到,GET方式的请求一般不包含”请求内容”部分,请求数据以地址的形式表现在请求行。

HTTP协议格式详解

HTTP协议格式详解

HTTP协议格式详解一、引言HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议。

它是建立在TCP/IP协议之上的,用于在Web浏览器和Web服务器之间进行通信。

本协议详细介绍了HTTP协议的格式,包括请求报文和响应报文的结构、字段和常见的状态码。

二、请求报文格式HTTP请求报文由请求行、请求头部和请求体三部分组成。

1. 请求行请求行由请求方法、请求URI和HTTP协议版本组成,各部分之间使用空格分隔。

常见的请求方法有GET、POST、PUT、DELETE等。

示例:GET /index.html HTTP/1.12. 请求头部请求头部由多个字段组成,每个字段由字段名和字段值组成,中间使用冒号分隔。

字段名不区分大小写,字段值可以包含多个参数,参数之间使用分号分隔。

示例:Host: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36Content-Type: application/json3. 请求体请求体用于传输数据,可以是文本、二进制数据等。

请求体的格式由Content-Type字段指定。

示例:{"username": "example","password": "123456"}三、响应报文格式HTTP响应报文由状态行、响应头部和响应体三部分组成。

1. 状态行状态行由HTTP协议版本、状态码和状态消息组成,各部分之间使用空格分隔。

状态码用于表示服务器对请求的处理结果。

示例:HTTP/1.1 200 OK2. 响应头部响应头部由多个字段组成,与请求头部类似,每个字段由字段名和字段值组成,中间使用冒号分隔。

HTTP协议报文格式

HTTP协议报文格式

HTTP协议报文格式HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的协议,它定义了客户端和服务器之间进行通信的规则。

在HTTP通信中,客户端发送请求报文给服务器,服务器接收请求并发送响应报文给客户端。

1.请求报文格式:-起始行:包含请求方法、请求URL和HTTP版本。

-首部字段:描述请求的附加信息,以键值对的形式出现。

-空行:用于分隔首部字段和实体主体。

-实体主体:请求的数据,可以为空。

示例:```GET /index.html HTTP/1.1Accept: text/html```2.响应报文格式:-起始行:包含HTTP版本、状态码和状态消息。

-首部字段:描述响应的附加信息,以键值对的形式出现。

-空行:用于分隔首部字段和实体主体。

-实体主体:响应的数据,可以为空。

示例:```HTTP/1.1200OKContent-Type: text/htmlContent-Length: 1234<html><body>...</body></html>```3.请求方法:-GET:获取资源。

-POST:提交数据。

-PUT:创建或更新资源。

-DELETE:删除资源。

-HEAD:获取请求资源的元数据。

-OPTIONS:获取服务器支持的HTTP方法。

4.状态码:- 1xx:信息性状态码,表示请求已被接受并且服务器正在处理。

- 2xx:成功状态码,表示请求已成功处理。

- 3xx:重定向状态码,表示需要进一步操作才能完成请求。

- 4xx:客户端错误状态码,表示请求包含语法错误或无法完成请求。

- 5xx:服务器错误状态码,表示服务器在处理请求时发生内部错误。

5.首部字段:。

http协议格式

http协议格式

http协议格式HTTP(Hypertext Transfer Protocol)是构建互联网应用的基础协议之一,它定义了客户端和服务器之间进行通信的格式和规则。

HTTP协议的主要目标是实现一种简单而灵活的方式来传输超文本,以便可以访问和传输网页、图片、视频等资源。

HTTP协议的格式主要包括请求格式和响应格式。

下面分别介绍这两种格式。

一、请求格式HTTP请求由客户端发送给服务器,用于请求对特定资源的访问。

请求格式包括请求行、请求头部和请求主体。

1. 请求行:请求行的格式为:METHOD URL HTTP/版本号其中,METHOD表示请求方法,包括常见的GET、POST、PUT、DELETE等;URL代表请求的资源的路径;HTTP/版本号指定了使用的HTTP协议的版本。

2. 请求头部:请求头部包括多行,每行由键值对组成。

常见的头部有:- Host:指定请求的服务器主机名和端口号。

- User-Agent:客户端的浏览器信息。

- Accept:客户端可以接受的数据类型。

- Content-Type:请求主体的数据类型。

3. 请求主体:请求主体是可选的,用于在POST请求中向服务器传送数据。

二、响应格式服务器接收到客户端的请求后,返回给客户端一个响应。

响应格式包括状态行、响应头部和响应主体。

1. 状态行:状态行的格式为:HTTP/版本号状态码状态描述其中,状态码表示服务器处理请求的结果,常见的状态码有200(成功)、404(资源未找到)、500(服务器内部错误)等。

2. 响应头部:响应头部和请求头部的格式类似,由多行键值对组成。

常见的头部有:- Content-Type:响应主体的数据类型。

- Content-Length:响应主体的长度。

- Set-Cookie:设置响应的Cookie。

3. 响应主体:响应主体是服务器返回给客户端的数据。

三、HTTP协议的特点1. 简单灵活:HTTP协议采用简单的文本格式,易于理解和编写。

HTTP请求报文和响应报文

HTTP请求报文和响应报文

HTTP请求报⽂和响应报⽂索引1. 请求报⽂⼀个HTTP请求报⽂由请求⾏(request line)、请求头部(header)、空⾏和请求数据4个部分组成。

⼤致结构是这样的:<request-line> //请求⾏<headers> //⾸部⾏<blank line> //空⾏<request-body> //请求体⼀个简单的例⼦:POST /user HTTP/1.1 //请求⾏Host: Content-Type: application/x-www-form-urlencodedConnection: Keep-AliveUser-agent: Mozilla/5.0. //以上是⾸部⾏(此处必须有⼀空⾏) //空⾏分割header和请求内容name=world 请求体1.1 请求⾏请求⾏由三部分组成:请求⽅法,请求URL(不包括域名),HTTP协议版本请求⽅法⽐较多:GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT最常⽤的是GET和POST。

1.1.1 请求⽅法1) GET传递参数长度受限制,因为传递的参数是直接表⽰在地址栏中,⽽特定浏览器和服务器对url的长度是有限制的。

因此,GET不适合⽤来传递私密数据,也不适合拿来传递⼤量数据。

⼀般的HTTP请求⼤多都是GET。

2)POSTPOST把传递的数据封装在HTTP请求数据中,以名称/值的形式出现,可以传输⼤量数据,对数据量没有限制,也不会显⽰在URL中。

表单的提交⽤的是POST。

3)HEADHEAD跟GET相似,不过服务端接收到HEAD请求时只返回响应头,不发送响应内容。

所以,如果只需要查看某个页⾯的状态时,⽤HEAD 更⾼效,因为省去了传输页⾯内容的时间。

4)DELETE删除某⼀个资源。

5)OPTIONS⽤于获取当前URL所⽀持的⽅法。

若请求成功,会在HTTP头中包含⼀个名为“Allow”的头,值是所⽀持的⽅法,如“GET, POST”。

http协议请求响应报文格式及状态码详解

http协议请求响应报文格式及状态码详解

HTTP协议报文格式HTTP协议(Hypertext Transfer Protocol――超文本传输协议)浏览器端(客户端)向WEB 服务器端访问页面的过程和HTTP协议报文的格式。

基于HTTP协议的客户机访问包括4个过程,分别是建立TCP套接字连接、发送HTTP请求报文、接收HTTP应答报文和关闭TCP套接字连接:1. 创建TCP套接字连接客户端与WEB服务器创建TCP套接字连接,其中WEB端服务器的地址可以通过域名解析确定,WEB端的套接字侦听端口一般是80。

2. 发送HTTP请求报文客户端向WEB服务端发送请求报文,HTTP协议的请求报文格式为:请求消息= 请求行(实体头信息)CRLF[实体内容]请求行= 方法URL HTTP版本号CRLF方法= GET|HEAD|POST|扩展方法URL = 协议名称+宿主名+目录与文件名其中"CRLF"表示回车换行。

"请求行"中的"方法"描述了对指定资源执行的动作,常用的方法"GET"、"HEAD"和"POST"等3种,它们的含义如表15-8所示:请求报文一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。

(1)请求行请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。

例如,GET /index.html HTTP/1.1。

HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。

这里介绍最常用的GET方法和POST方法。

GET:当客户端要从服务器中读取文档时,使用GET方法。

GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。

使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾与请求参数的开始,传递参数长度受限制。

http协议,connect

http协议,connect

竭诚为您提供优质文档/双击可除http协议,connect篇一:http协议请求响应报文格式及状态码详解http协议报文格式http协议(hypertexttransferprotocol――超文本传输协议)浏览器端(客户端)向web服务器端访问页面的过程和http协议报文的格式。

基于http协议的客户机访问包括4个过程,分别是建立tcp套接字连接、发送http请求报文、接收http应答报文和关闭tcp套接字连接:1.创建tcp套接字连接客户端与web服务器创建tcp套接字连接,其中web端服务器的地址可以通过域名解析确定,web端的套接字侦听端口一般是80。

2.发送http请求报文客户端向web服务端发送请求报文,http协议的请求报文格式为:其中"cRlF"表示回车换行。

"请求行"中的"方法"描述了对指定资源执行的动作,常用的方法"get"、"head"和"post"等3种,它们的含义如表15-8所示:请求报文一个http请求报文由请求行(requestline)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。

(1)请求行请求行由请求方法字段、uRl字段和http协议版本字段3个字段组成,它们用空格分隔。

例如,get/index.htmlhttp/1.1。

http协议的请求方法有get、post、head、put、delete、options、tRace、connect。

这里介绍最常用的get方法和post方法。

get:当客户端要从服务器中读取文档时,使用get方法。

get方法要求服务器将uRl定位的资源放在响应报文的数据部分,回送给客户端。

使用get方法时,请求参数和对应的值附加在uRl后面,利用一个问号(“”)代表uRl的结尾与请求参数的开始,传递参数长度受限制。

HTTP协议的状态码

HTTP协议的状态码

HTTP协议的状态码1xx(信息响应):表示服务器已经接收到客户端的请求,并且正在处理中。

- 100 Continue:请求的初始部分已经被服务器收到,客户端可以继续发送剩余的请求。

- 101 Switching Protocols:服务器正在切换协议,客户端需切换到新协议继续通信。

2xx(成功响应):表示服务器已经成功处理了客户端的请求。

-200OK:请求成功,服务器返回的响应正常。

- 201 Created:请求已经被服务器处理,并且新的资源已经被创建。

- 204 No Content:服务器成功处理了请求,但没有返回任何内容。

3xx(重定向):表示客户端需要进一步的操作才能完成请求。

- 301 Moved Permanently:永久性重定向,请求的资源已经被永久移动到新的URL。

- 302 Found:临时性重定向,请求的资源已经被临时移动到新的URL。

- 304 Not Modified:客户端缓存的内容仍然有效,可以直接使用缓存的版本。

4xx(客户端错误):表示客户端发送的请求有错误或无法完成请求。

- 400 Bad Request:客户端发送的请求无效,服务器无法理解。

- 401 Unauthorized:请求需要身份验证,客户端未提供有效的身份验证凭据。

- 404 Not Found:请求的资源不存在。

5xx(服务器错误):表示服务器无法完成请求。

- 500 Internal Server Error:服务器内部错误。

- 503 Service Unavailable:服务器当前无法处理请求,通常由于过载或维护。

除了上述常见的状态码,HTTP协议还包括其他一些特殊的状态码的含义,例如:- 418 I'm a teapot:请求服务器泡茶,在愚人节玩笑中使用。

- 429 Too Many Requests:请求过于频繁,服务器拒绝处理。

状态码是HTTP协议中非常重要的一部分,它可以帮助客户端了解请求的处理结果,并根据不同的状态码做出相应的处理。

HTTP协议—HTTP报文格式详解

HTTP协议—HTTP报文格式详解

HTTP协议—HTTP报⽂格式详解HTTP协议中有两种报⽂:请求报⽂和响应报⽂⼀、请求报⽂下⾯是⼀个⽐较典型的请求报⽂:每⼀⾏由⼀个回车和换⾏符结束,最后⼀⾏额外再加⼀个回车换⾏符。

HTTP请求报⽂的第⼀⾏叫做请求⾏,后⾯部叫⾸部⾏。

1、请求⾏:请求⾏的三个字段:⽅法字段、URL字段、HTTP版本字段。

⽅法字段可取值:GET、POST、HEAD、PUT和DELETE。

绝⼤部分HTTP请求报⽂都是GET⽅法。

当浏览器请求⼀个对象时,使⽤GET⽅法,在URL字段带有请求对象标识。

2、⾸部⾏Host:127.0.0.1:指明了对象所在主机,虽然主机中已经有⼀条TCP连接存在,但该⾏提供的信息是Web代理⾼速缓存所要求的。

User-Agent:指明代理,就是浏览器的类型。

这服务器可以有效地为不同类型的⽤户代理实际发送相同对象的不同版本。

Accept-Language:zh-CN:表⽰语法版本。

如果服务器中没有这样的对象的,就会发送其默认的版本。

Connection:close :要求服务器在发送完被请求的对象后就关闭这条连接。

HTTP请求通⽤请求格式(下⾯讨论实体体)实体体(entity body):使⽤GET⽅法时实体体会为空,使⽤POST⽅法时才会使⽤该实体体。

提交表单时,会使⽤到POST⽅法(例如在搜索引擎中输⼊搜索关键字),实体体中包含的就是⽤户在表单字段中输⼊的值。

虽然POST⽅法才能⽤到实体体,但是”⽤表单⽣成的请求报⽂不是必须使⽤POST⽅法“:HTML表单经常使⽤GET⽅法,在表单字段中所请求的URL中包括输⼊的数据,例如⼀个使⽤GET⽅法的表单有两个字段aaa和bbb,那么其URL的的结构是这样的:/admin? aaa&bbb (⾮常常见,浏览⽹页的时候可以注意⼀下)下⾯介绍另外⼀些⽅法:HEAD⽅法,与GET类似,服务器收到HEAD请求时,会⽤⼀个HTTP报⽂响应,但是不会反回请求对象,常⽤于调试跟踪。

常见响应状态码

常见响应状态码

常见响应状态码常见响应状态码HTTP协议是Web通信的基础,而HTTP协议的核心就是请求和响应。

当客户端向服务器发起请求时,服务器会返回一个响应。

这个响应包含了一个状态码(status code),用来告诉客户端请求的处理结果。

常见的HTTP响应状态码有以下几种:1xx:信息性状态码100 Continue:表示服务器已经接收到了请求头,并且客户端可以继续发送请求体。

101 Switching Protocols:表示服务器已经理解了客户端的请求,并且正在切换到另外一种协议进行通信。

2xx:成功状态码200 OK:表示服务器已经成功处理了客户端的请求。

201 Created:表示服务器已经成功创建了资源。

202 Accepted:表示服务器已经接受了客户端的请求,但是还没有处理完成。

204 No Content:表示服务器已经成功处理了客户端的请求,但是没有返回任何内容。

206 Partial Content:表示服务器已经成功处理了部分GET请求,返回部分内容。

3xx:重定向状态码301 Moved Permanently:永久性重定向。

表示被请求资源被永久移动到新位置,并且将来所有对此资源的访问都要使用新地址替代旧地址。

302 Found / 303 See Other / 307 Temporary Redirect :临时性重定向。

这些状态码都表明被请求资源暂时被移动到新位置,但是将来还会返回原来的位置。

304 Not Modified:表示客户端缓存的资源没有发生变化,可以直接使用缓存中的资源。

4xx:客户端错误状态码400 Bad Request:表示客户端发送了一个错误的请求。

401 Unauthorized:表示需要进行身份验证才能访问被请求资源。

403 Forbidden:表示服务器拒绝了客户端的请求。

通常是因为客户端没有权限访问被请求资源。

404 Not Found:表示服务器无法找到被请求的资源。

HTTP协议格式详解

HTTP协议格式详解

HTTP协议格式详解HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议。

它是Web通信的基础,通过在客户端和服务器之间传递请求和响应来实现数据交换。

本文将详细介绍HTTP协议的格式,包括请求消息和响应消息的结构以及各个字段的含义。

一、请求消息格式HTTP请求消息由三个部分组成:请求行、请求头和请求体。

1. 请求行请求行包含了请求的方法、URI和HTTP版本。

格式如下:```<方法> <URI> HTTP/<版本>```常见的HTTP方法有GET、POST、PUT、DELETE等,URI表示请求的资源路径,版本表示HTTP协议的版本号。

2. 请求头请求头包含了请求的各种信息,以键值对的形式表示。

常见的请求头字段有:- Host:表示请求的主机名。

- User-Agent:表示客户端的用户代理。

- Accept:表示客户端能够接受的响应内容类型。

- Content-Type:表示请求体的内容类型。

- Cookie:表示客户端的Cookie信息。

- Authorization:表示客户端的身份验证信息。

请求头字段可以根据具体需求进行添加和修改,以满足请求的要求。

3. 请求体请求体是可选的,用于传递请求的数据。

常见的请求体格式有:- application/x-www-form-urlencoded:用于提交表单数据。

- multipart/form-data:用于上传文件。

- application/json:用于提交JSON格式的数据。

二、响应消息格式HTTP响应消息也由三个部分组成:状态行、响应头和响应体。

1. 状态行状态行包含了响应的HTTP版本、状态码和状态描述。

格式如下:```HTTP/<版本> <状态码> <状态描述>```常见的状态码有200表示成功,404表示资源未找到,500表示服务器内部错误等。

HTTP各种状态码,你知道吗

HTTP各种状态码,你知道吗

HTTP状态码(HTTP Status Code)1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。

代码说明100 (继续)请求者应当继续提出请求。

服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。

101 (切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。

2xx (成功)表示成功处理了请求的状态代码。

代码说明200 (成功)服务器已成功处理了请求。

通常,这表示服务器提供了请求的网页。

201 (已创建)请求成功并且服务器创建了新的资源。

202 (已接受)服务器已接受请求,但尚未处理。

203 (非授权信息)服务器已成功处理了请求,但返回的信息可能来自另一来源。

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

205 (重置内容)服务器成功处理了请求,但没有返回任何内容。

206 (部分内容)服务器成功处理了部分 GET 请求。

3xx (重定向)表示要完成请求,需要进一步操作。

通常,这些状态代码用来重定向。

代码说明300 (多种选择)针对请求,服务器可执行多种操作。

服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。

301 (永久移动)请求的网页已永久移动到新位置。

服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。

302 (临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

303 (查看其他位置)请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。

304 (未修改)自从上次请求后,请求的网页未修改过。

服务器返回此响应时,不会返回网页内容。

305 (使用代理)请求者只能使用代理访问请求的网页。

如果服务器返回此响应,还表示请求者应使用代理。

307 (临时重定向)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

http协议的状态码一览

http协议的状态码一览
3xx(重定向)
要完成请求,需要进一步操作。通常,这些状态码用来重定向。Google建议您在每次请求中使用重定向不要超过5次。您可以使用网站管理员工具查看一下Googlebot在抓取重定向网页时是否遇到问题。诊断下的网络抓取页列出了由于重定向错误导致Googlebot无法抓取的网址。
300(多种选择)
408(请求超时)
服务器等候请求时发生超时。
409(冲突)
服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。服务器在响应与前一个请求相冲突的PUT请求时可能会返回此代码,以及两个请求的差异列表。
410(已删除)
如果请求的资源已永久删除,服务器就会返回此响应。该代码与404(未找到)代码类似,但在资源以前存在而现在不存在的情况下,有时会用来替代404代码。如果资源已永久移动,您应使用301指定资源的新位置。
411(需要有效长度)
服务器不接受不含有效内容长度标头字段的请求。
412(未满足前提条件)
服务器未满足请求者在请求中设置的其中一个前提条件。
413(请求实体过大)
服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
414(请求的URI过长)
请求的URI(通常为网址)过长,服务器无法处理。
415(不支持的媒体类型)
.
305(使用代理)
请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。
307(临时重定向)
服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来响应以后的请求。此代码与响应GET和HEAD请求的<ahref=answer.py?answer=>301</a>代码类似,会自动将请求者转到不同的位置,但您不应使用此代码来告诉Googlebot某个页面或网站已经移动,因为Googlebot会继续抓取原有位置并编制索引。

http状态代码(错误代码)各代表什么意思

http状态代码(错误代码)各代表什么意思

http状态代码(错误代码)各代表什么意思状态代码(也称作错误代码),指为服务器所接收每个请求(网页点击)分配的 3 位数代码。

多数有效网页点击都有状态代码200("正常")。

"网页未找到"错误会生产404 错误。

某些常见的代码以粗体显示。

1xx(临时响应)用于表示临时响应并需要请求者执行操作才能继续的状态代码。

代码说明100(继续)请求者应当继续提出请求。

服务器返回此代码则意味着,服务器已收到了请求的第一部分,现正在等待接收其余部分。

101(切换协议)请求者已要求服务器切换协议,服务器已确认并准备进行切换。

2xx(成功)用于表示服务器已成功处理了请求的状态代码。

代码说明200(成功)服务器已成功处理了请求。

通常,这表示服务器提供了请求的网页。

如果您的robots.txt 文件显示为此状态,那么,这表示Googlebot 已成功检索到该文件。

201(已创建)请求成功且服务器已创建了新的资源。

202(已接受)服务器已接受了请求,但尚未对其进行处理。

203(非授权信息)服务器已成功处理了请求,但返回了可能来自另一来源的信息。

204(无内容)服务器成功处理了请求,但未返回任何内容。

205(重置内容)服务器成功处理了请求,但未返回任何内容。

与204 响应不同,此响应要求请求者重置文档视图(例如清除表单内容以输入新内容)。

206(部分内容)服务器成功处理了部分GET 请求。

3xx(已重定向)要完成请求,您需要进一步进行操作。

通常,这些状态代码是永远重定向的。

Google 建议您在每次请求时使用的重定向要少于 5 个。

您可以使用网站管理员工具来查看Googlebot 在抓取您已重定向的网页时是否会遇到问题。

诊断下的抓取错误页中列出了Googlebot 由于重定向错误而无法抓取的网址。

代码说明300(多种选择)服务器根据请求可执行多种操作。

服务器可根据请求者(User agent) 来选择一项操作,或提供操作列表供请求者选择。

HTTP协议状态码详解列表

HTTP协议状态码详解列表

HTTP协议状态码详解列表本文列出了HTTP协议的所有的状态码,并对每个状态码的含义作了深入的解释,以便大家参考。

一、消息(1字头)这一类型的状态码,代表请求已被接受,需要继续处理。

这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。

由于HTTP/1.0 协议中没有定义任何1xx 状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1xx 响应。

100 Continue客户端应当继续发送请求。

这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。

客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。

服务器必须在请求完成后向客户端发送一个最终响应。

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

在发送完这个响应最后的空行后,服务器将会切换到在Upgrade 消息头中定义的那些协议。

只有在切换新的协议更有好处的时候才应该采取类似措施。

例如,切换到新的HTTP 版本比旧版本更有优势,或者切换到一个实时且同步的协议以传送利用此类特性的资源。

102 Processing由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执行。

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

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

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

假如需要的资源无法及时建立的话,应当返回'202 Accepted'。

202 Accepted服务器已接受请求,但尚未处理。

正如它可能被拒绝一样,最终该请求可能会也可能不会被执行。

在异步操作的场合下,没有比发送这个状态码更方便的做法了。

HTTP协议状态码详解(HTTPStatusCode)

HTTP协议状态码详解(HTTPStatusCode)

HTTP协议状态码详解(HTTPStatusCode)使⽤/PHP/JSP 或者javascript都会⽤到http的不同状态,⼀些常见的状态码为:200 – 服务器成功返回⽹页 404 – 请求的⽹页不存在 503 – 服务不可⽤1xx(临时响应)表⽰临时响应并需要请求者继续执⾏操作的状态代码。

代码说明100 (继续)请求者应当继续提出请求。

服务器返回此代码表⽰已收到请求的第⼀部分,正在等待其余部分。

101 (切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换。

2xx (成功)表⽰成功处理了请求的状态代码。

代码说明200 (成功)服务器已成功处理了请求。

通常,这表⽰服务器提供了请求的⽹页。

201 (已创建)请求成功并且服务器创建了新的资源。

202 (已接受)服务器已接受请求,但尚未处理。

203 (⾮授权信息)服务器已成功处理了请求,但返回的信息可能来⾃另⼀来源。

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

205 (重置内容)服务器成功处理了请求,但没有返回任何内容。

206 (部分内容)服务器成功处理了部分 GET 请求。

3xx (重定向)表⽰要完成请求,需要进⼀步操作。

通常,这些状态代码⽤来重定向。

代码说明300 (多种选择)针对请求,服务器可执⾏多种操作。

服务器可根据请求者 (user agent) 选择⼀项操作,或提供操作列表供请求者选择。

301 (永久移动)请求的⽹页已永久移动到新位置。

服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会⾃动将请求者转到新位置。

302 (临时移动)服务器⽬前从不同位置的⽹页响应请求,但请求者应继续使⽤原有位置来进⾏以后的请求。

303 (查看其他位置)请求者应当对不同的位置使⽤单独的 GET 请求来检索响应时,服务器返回此代码。

304 (未修改)⾃从上次请求后,请求的⽹页未修改过。

服务器返回此响应时,不会返回⽹页内容。

305 (使⽤代理)请求者只能使⽤代理访问请求的⽹页。

http协议请求响应报文格式及状态码详解

http协议请求响应报文格式及状态码详解

HTTP协议报文格式HTTP协议(Hypertext Transfer Protocol――超文本传输协议)浏览器端(客户端)向WEB 服务器端访问页面的过程和HTTP协议报文的格式。

基于HTTP协议的客户机访问包括4个过程,分别是建立TCP套接字连接、发送HTTP请求报文、接收HTTP应答报文和关闭TCP套接字连接:1. 创建TCP套接字连接客户端与WEB服务器创建TCP套接字连接,其中WEB端服务器的地址可以通过域名解析确定,WEB端的套接字侦听端口一般是80。

2. 发送HTTP请求报文客户端向WEB服务端发送请求报文,HTTP协议的请求报文格式为:请求消息= 请求行(实体头信息)CRLF[实体内容]请求行= 方法URL HTTP版本号CRLF方法= GET|HEAD|POST|扩展方法URL = 协议名称+宿主名+目录与文件名其中"CRLF"表示回车换行。

"请求行"中的"方法"描述了对指定资源执行的动作,常用的方法"GET"、"HEAD"和"POST"等3种,它们的含义如表15-8所示:请求报文一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。

(1)请求行请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。

例如,GET /index.html HTTP/1.1。

HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。

这里介绍最常用的GET方法和POST方法。

GET:当客户端要从服务器中读取文档时,使用GET方法。

GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。

使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾与请求参数的开始,传递参数长度受限制。

HTTP协议中常用相应的状态码总结

HTTP协议中常用相应的状态码总结

HTTP协议中常⽤相应的状态码总结HTTP协议与我们的⽣活息息相关,尤其对于我们后端开发⼈员,⼯作之余我整理了⼀些HTTP协议响应的⼀些常见的状态码,希望能帮助⼤家 HTTP状态码列表消息(1字头)服务器收到请求,需要请求者继续执⾏操作状态码状态码英⽂名称中⽂描述100Continue继续。

客户端应继续其请求101Switching Protocols切换协议。

服务器根据客户端的请求切换协议。

只能切换到更⾼级的协议,例如,切换到HTTP的新版本协议102Processing由WebDAV(RFC 2518)扩展的状态码,代表处理将被继续执⾏。

成功(2字头)操作被成功接收并处理状态码状态码英⽂名称中⽂描述200OK请求成功。

⼀般⽤于GET与POST请求201Created已创建。

成功请求并创建了新的资源202Accepted已接受。

已经接受请求,但未处理完成203Non-Authoritative Information⾮授权信息。

请求成功。

但返回的meta信息不在原始的服务器,⽽是⼀个副本204No Content⽆内容。

服务器成功处理,但未返回内容。

在未更新⽹页的情况下,可确保浏览器继续显⽰当前⽂档205Reset Content重置内容。

服务器处理成功,⽤户终端(例如:浏览器)应重置⽂档视图。

可通过此返回码清除浏览器的表单域206Partial Content部分内容。

服务器成功处理了部分GET请求207Multi-Status由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是⼀个XML消息,并且可能依照之前⼦请求数量的不同,包含⼀系列独⽴的响应代码。

重定向(3字头)需要进⼀步的操作以完成请求状态码状态码英⽂名称中⽂描述300Multiple Choices多种选择。

请求的资源可包括多个位置,相应可返回⼀个资源特征与地址的列表⽤于⽤户终端(例如:浏览器)选择301Moved Permanently永久移动。

HTTP常见状态码和请求

HTTP常见状态码和请求

HTTP常见状态码和请求
HTTP常见状态码
状态码为3位整数,1开头代表信息通知;2开头代表操作成功;3开头代表重定向,需要进⼀步操作;4开头代表客户端错误,⽆法完成请求;5开头是服务器错误
2开头的状态码
200:请求成功,⼀般是GET和POST请求。

201:创建了⼀个新资源,发送此响应代码,⼀般是POST/PUT/PATCH请求。

204:是指服务端接受了客户端的请求,但是通知客户端资源不能改变。

3开头的状态码
303 重定向,使得客户端可以请求,但是不强迫客户端下载其所有数据。

可以向响应报头中的URL发送GET请求获取资源。

304:主体为空,主要是由于服务端信息相较于缓存来说没有改变,返回304。

307:指资源不在本地,对于GET来说,是让客户端重新定向到镜像站点发起Get请求。

⽽对于PUT\POST\DELETE\PATCH来说,是要向重定向的URL提交整个新的请求。

4开头的状态码
400:通⽤的错误状态码
401:客户端对⼀个受保护的资源进⾏操作,但是没有正确的证书提供。

403:当某个资源只允许特定时间段或者特定IP地址的⽤户访问的话,拒绝访问就是403。

404:⽆法把请求的URI转换为⼀个资源,404有时候也是⽤来掩盖401或403的,不想通过401\403透露信息。

415:指代请求的实体信息⽆法识别,请求失效。

5开头的状态码
500:通⽤的错误响应,执⾏请求发⽣异常
503:HTTP服务器正常,下层WEB服务不能正常⼯作,常见于资源不⾜,服务器突然收到⼤量请求。

HTTP请求的常见返回状态码

HTTP请求的常见返回状态码

HTTP请求的常见返回状态码HTTP(Hypertext Transfer Protocol)是一种常用的互联网协议,用于在Web浏览器和Web服务器之间传输信息。

当Web浏览器向Web服务器发送请求时,在一些情况下,Web服务器将返回一个状态码来表示请求的处理结果。

本文将详细介绍常见的HTTP状态码。

1xx:信息类状态码100 Continue:表示客户端请求的部分已被服务器接收,客户端可以继续发送请求的其他部分。

101 Switching Protocols:表示服务器将遵从客户端的请求,切换协议。

2xx:成功状态码200 OK:表示请求已成功。

一般用于GET和POST请求。

201 Created:表示服务器已经成功地创建了资源,通常在POST请求之后。

202 Accepted:表示请求已经被接受,但尚未被处理。

204 No Content:表示请求成功,但响应的实体无需返回任何内容。

3xx:重定向状态码300 Multiple Choices:表示客户端请求的多个请求都可返回该响应,其中包含每个可用选项的URL以及其他相关元数据。

301 Moved Permanently:表示请求的URL已被永久地移动到一个新位置。

该响应应该包括一个包含新URL的Location头。

302 Found:表示请求的URL已被暂时移动到一个新位置。

该响应应该包括一个包含新URL的Location头。

304 Not Modified:表示客户端已经拥有了请求的数据,并且该数据没发生更改,因此不需要重新传输。

4xx:客户端错误状态码400 Bad Request:表示请求无效,因为请求中可能存在语法错误、错误的请求消息头等。

401 Unauthorized:表示请求需要身份验证。

服务器端返回此状态码时,可能还返回一个WWW-Authenticate头,要求客户端提供身份验证。

403 Forbidden:表示客户端请求的操作被禁止,服务器可能附加一个包含更多详细信息的消息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

HTTP协议报文格式HTTP协议(Hypertext Transfer Protocol――超文本传输协议)浏览器端(客户端)向WEB 服务器端访问页面的过程和HTTP协议报文的格式。

基于HTTP协议的客户机访问包括4个过程,分别是建立TCP套接字连接、发送HTTP请求报文、接收HTTP应答报文和关闭TCP套接字连接:1. 创建TCP套接字连接客户端与WEB服务器创建TCP套接字连接,其中WEB端服务器的地址可以通过域名解析确定,WEB端的套接字侦听端口一般是80。

2. 发送HTTP请求报文客户端向WEB服务端发送请求报文,HTTP协议的请求报文格式为:请求消息= 请求行(实体头信息)CRLF[实体内容]请求行= 方法URL HTTP版本号CRLF方法= GET|HEAD|POST|扩展方法URL = 协议名称+宿主名+目录与文件名其中"CRLF"表示回车换行。

"请求行"中的"方法"描述了对指定资源执行的动作,常用的方法"GET"、"HEAD"和"POST"等3种,它们的含义如表15-8所示:请求报文一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。

(1)请求行请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。

例如,GET /index.html HTTP/1.1。

HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。

这里介绍最常用的GET方法和POST方法。

GET:当客户端要从服务器中读取文档时,使用GET方法。

GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。

使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾与请求参数的开始,传递参数长度受限制。

例如,/index.jsp?id=100&op=bind。

POST:当客户端给服务器提供信息较多时可以使用POST方法。

POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据。

表15-8 HTTP请求方法取值描述GET 从WEB服务器中获取对象,不同类型的对象将获取不同的信息,比如:·文件类型对象,获取该文件的内容。

·程序类型对象,获取该程序执行的结果。

·数据库查询类型对象,获取该查询的结果。

HEAD 要求服务器查找对象的元信息。

POST 从客户端向WEB服务器发送数据。

"实体头信息"中记载了报文的属性,利用这些信息可以实现客户端与WEB服务器之间的请求或应答,它包括报文的数据类型、压缩方法、语言、长度、压缩方法、最后一次修改时间、数据有效期等信息。

实体内容是报文传送的附加信息,一般供POST请求填写。

GET请求报文例子一个URL为"/toupiaoceshi.asp?name=朱云翔"的GET请求报文例子如下:GET /toupiaoceshi.asp?name=朱云翔HTTP/1.1Accept: */*Accept-Language: zh-cnAccept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0;Windows NT 5.1; SV1; .NET CLR 2.0.50727)Host: Connection: Keep-Alive其中"/toupiaoceshi.asp?name=朱云翔"是URL信息,语句"ACCEPT:*/*"及其后的语句是"实体头信息"。

注意:在语句"Connection:Keep-Alive"下的空行是必须的。

全部HTTP请求方法:1.HTTP请求行:请求行格式为Method Request-URI Protocol。

在上面这个例子里,"GET / HTTP/1.1"是请求行。

(以下为请求头的关键字)2.Accept:指浏览器或其他客户可以接爱的MIME文件格式。

可以根据它判断并返回适当的文件格式。

3.Accept-Charset:指出浏览器可以接受的字符编码。

英文浏览器的默认值是ISO-8859-1.4.Accept-Language:指出浏览器可以接受的语言种类,如en或en-us,指英语。

5.Accept-Encoding:指出浏览器可以接受的编码方式。

编码方式不同于文件格式,它是为了压缩文件并加速文件传递速度。

浏览器在接收到Web响应之后先解码,然后再检查文件格式。

6.Authorization:当使用密码机制时用来标识浏览器。

7.Cache-Control:设置关于请求被代理服务器存储的相关选项。

一般用不到。

8.Connection:用来告诉服务器是否可以维持固定的HTTP连接。

HTTP/1.1使用Keep-Alive 为默认值,这样,当浏览器需要多个文件时(比如一个HTML文件和相关的图形文件),不需要每次都建立连接。

9.Content-Type:用来表名request的内容类型。

可以用HttpServletRequest的getContentType()方法取得。

10.Cookie:浏览器用这个属性向服务器发送Cookie。

Cookie是在浏览器中寄存的小型数据体,它可以记载和服务器相关的用户信息,也可以用来实现会话功能。

11.Expect:表时客户预期的响应状态。

12.From:给出客户端HTTP请求负责人的email地址。

13.Host:对应网址URL中的Web名称和端口号。

14.If-Match:供PUT方法使用。

15.If-Modified-Since:客户使用这个属性表明它只需要在指定日期之后更改过的网页。

因为浏览器可以使用其存储的文件而不必从服务器请求,这样节省了Web资源。

由于Servlet是动态生成的网页,一般不需要使用这个属性。

16.If-None-Match:和If-Match相反的操作,供PUT方法使用。

17.If-Unmodified-Since:和If-Match-Since相反。

18.Pragma:这个属性只有一种值,即Pragma:no-cache,表明如果servlet充当代理服务器,即使其有已经存储的网页,也要将请求传递给目的服务器。

19.Proxy-Authorization:代理服务器使用这个属性,一般用不到。

20.Range:如果客户有部分网页,这个属性可以请求剩余部分。

21.Referer:表明产生请求的网页URL。

比如从网页/beijing.html中点击一个链接到网页/qingdao.html,在向服务器发送的GET /beijing.html中的请求中,Referer是/qingdao.html 。

这个属性可以用来跟踪Web请求是从什么网站来的。

22.Upgrage:客户通过这个属性设定可以使用与HTTP/1.1不同的协议。

er-Agent:是客户浏览器名称。

24.Via:用来记录Web请求经过的代理服务器或Web通道。

25.Warning:用来由客户声明传递或存储(cache)错误。

POST请求报文例子下面是HTTP协议中关于POST请求报文例子,节自《中国联合通信公司短消息网关系统接口协议(SGIP)》V1.2版:POST /sp.cgi HTTP/1.0 /* 请求行,服务程序为sp.cgi */Host: /* 以下为实体头信息*/Authorization: Basic <Base64 串>Content-Length: <Content-Length><CommandId>=<4> /* 以下为POST请求的实体信息*/<SequenceNumber>=<205502327125025327> /* 实体部分输送报文*/<UserNumber>=<8613001125453><SPNumber>=<168><MessageContent>=<ABCD 1234>一般情况下,采用POST报文传送信息的数据存储在"实体"部分中。

3. 接收HTTP应答报文WEB服务器处理客户请求,并向客户机发送应答报文,HTTP协议的应答报文格式为:应答报文= 状态行(实体头信息)CRLF [实体内容]状态行= HTTP版本号状态码原因叙述状态码描述了WEB服务器执行客户机请求的状态信息,其取值含义如表15-8所示:表15-8 HTTP应答响应码含义(后附录里有全部的响应码)取值描述1××保留。

2××成功接收,比如“200”表示处理成功。

3××客户需进一步细化请求。

4××客户错误,比如“404”表示访问的指定资源不存在。

5××服务器错误。

GET应答报文例子一个请求URL为"/toupiaoceshi.asp?name=朱云翔"的应答报文例子如下:HTTP/1.1 200 OKConnection: keep-aliveDate: Thu, 26 Jul 2007 14:00:02 GMTServer: Microsoft-IIS/6.0X-Powered-By: Content-Length: 190Content-Type: text/htmlSet-Cookie: ASPSESSIONIDSAA TTCSQ=JOPPKDCAMHHBEOICJPGPBJOB;path=/Cache-control: private<html><head><title>精通Unix下C语言编程</title></head><body><b>精通Unix下C语言编程与项目实战<br></b><b>投票测试<br></b>感谢你为选手朱云翔投票!</body></html>语句"HTTP/1.1 200 OK"中,"200"是响应码,"OK"是原因描述。

相关文档
最新文档