我们再看Response消息的结构, 和Request消息的结构基本一样。 同样也分为三部分,第一部分叫Response line, 第二部分叫Response header,第三部分是body. header和body之间也有个空行, 结构如下图
HTTP/version-number表示HTTP协议的版本号, status-code 和message 请看下节[状态代码]的详细解释.
我们用Fiddler 捕捉一个博客园首页的Response然后分析下它的结构, 在Inspectors tab下以Raw的方式可以看到完整的Response的消息, 如下图
Response 消息中的第一行叫做状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。
状态码用来告诉HTTP客户端,HTTP服务器是否产生了预期的Response.
HTTP/1.1中定义了5类状态码, 状态码由三位数字组成,第一个数字定义了响应的类别
1XX 提示信息 - 表示请求已被成功接收,继续处理
2XX 成功 - 表示请求已被成功接收,理解,接受
3XX 重定向 - 要完成请求必须进行更进一步的处理
4XX 客户端错误 - 请求有语法错误或请求无法实现
5XX 服务器端错误 - 服务器未能实现合法的请求
看看一些常见的状态码
最常见的就是成功响应状态码200了, 这表明该请求被成功地完成,所请求的资源发送回客户端
302 Found
重定向,新的URL会在response 中的Location中返回,浏览器将会自动使用新的URL发出新的Request
例如在IE中输入, http://www.google.com. HTTP服务器会返回302, IE取到Response中Location header的新URL, 又重新发送了一个Request.
304 Not Modified
代表上次的文档已经被缓存了, 还可以继续使用,
例如打开博客园首页, 发现很多Response 的status code 都是304
提示: 如果你不想使用本地缓存可以用Ctrl+F5 强制刷新页面
400 Bad Request 客户端请求与语法错误,不能被服务器所理解
403 Forbidden 服务器收到请求,但是拒绝提供服务
请求资源不存在(输错了URL)
比如在IE中输入一个错误的URL, http://www.cnblogs.com/tesdf.aspx
500 Internal Server Error 服务器发生了不可预期的错误
503 Server Unavailable 服务器当前不能处理客户端的请求,一段时间后可能恢复正常
相关推荐
HTTP响应消息头是指在响应状态行之后的多行文本,它们是由头字段名称和值构成的,每个响应消息头之后使用一个回车换行符标志结束。 HTTP响应消息头的格式为:头字段名称+冒号(:)+空格()+值。例如,Content-...
Ajax的状态值是XMLHttpRequest对象的属性`readyState`,它表示请求/响应的当前状态。状态值分为五个阶段,每个阶段都有其特定的数值: 1. `readyState = 0`: 请求未初始化。XMLHttpRequest对象已经创建,但尚未调用...
### HTTP返回状态值详解 HTTP(Hypertext Transfer Protocol)是互联网上应用最为广泛的一种网络协议,用于客户端与服务器之间的信息交互。当客户端(如浏览器)向服务器发起请求时,服务器会根据请求的内容进行...
响应也类似,包括状态行、响应头、空行和响应体。头信息包含了关于请求或响应的元数据,如缓存策略、内容类型、编码方式等。 2. 请求头:请求头字段例如`Host`(指定服务器的域名和端口)、`User-Agent`(发送请求...
HTTP状态码是由三位数字组成的响应状态代码,用于表示服务器对请求的响应结果。 1. **1xx** (Informational): 信息性状态码,如`100 Continue`表示客户端应当继续发送请求的剩余部分。 2. **2xx** (Successful): ...
Ajax状态码是HTTP协议返回的响应状态,通过`ajax.status`属性获取。状态码以三位数字表示,常见的有: - **2xx 成功**:请求已成功处理,例如200(OK)表示请求成功。 - **3xx 重定向**:需要进一步操作以完成请求...
在HTTP响应中,服务器通过一系列首部字段来告知客户端关于响应的详细信息,如状态码、编码类型、缓存控制策略等。"Content-Length"首部便是其中之一,它定义了响应体的大小,即实际传输的数据量,以字节为单位。 ...
(method 表示请求方式, url 请求路径, asynch 是否异步,对于 asynch 的值通常不会设置, 默认是true,表示异步发送请求) send(content) :向服务器发送请求 属性: onreadystatechange :状态回调函数 ...
HTTP 响应码是指在 HTTP 协议中,服务器返回给客户端的状态码,用于表明请求的结果。响应码由三位十进制数字组成,分为五种类型,即信息、成功、重定向、客户端错误和服务器错误。 1xx:信息,请求收到,继续处理 2...
// HTTP 状态值: 200 : OK // 内容类型: text/plain response.writeHead(200, {'Content-Type': 'text/plain'}); // 发送响应数据 "Hello World" response.end('Hello World\n'); }).listen(8888); /...
本文将详细介绍HTTP状态码的各种类型及其含义,帮助读者更好地理解和处理HTTP响应。 #### 一、1xx 信息性状态码 1xx状态码表示接收到请求并且正在处理。这些状态码主要用于通知客户端后续的动作,但客户端无需为此...
这个接口提供了设置响应状态码、添加响应头以及写入响应体等关键功能。本文将详细探讨如何设置HTTP响应头以及在编程过程中可能遇到的一些陷阱。 首先,设置HTTP响应头的关键在于`WriteHeader`方法的调用时机。`...
HTTP请求头和响应头是HTTP协议中不可或缺的部分,它们在客户端和服务器之间交换信息时扮演着关键角色。请求头主要用于指示客户端的偏好和能力,而响应头则包含了服务器对请求的响应信息。以下是一些常见的请求头和...
- **200 成功**:请求成功,这是最常见的响应状态码。 - **201 已创建**:请求成功并且服务器创建了新的资源。通常用于POST请求。 - **202 已接受**:服务器接受了请求,但尚未处理完毕。 - **203 非授权信息**:...
1. **状态行**:包含了HTTP版本、响应状态码和状态消息。 - 状态码是一个三位数的数字,用于表示响应的状态。例如,200 OK 表示请求成功。 - 常见的状态码包括: - 1xx: 信息响应,例如100 Continue。 - 2xx: ...
HTTP状态码是HTTP协议中服务器向客户端返回的一种状态反馈,用于表示请求处理的结果。这些状态码分为五大类,每类都对应着特定的含义和应用场景。 100-199的范围是临时响应,主要用于通知客户端一些中间状态。例如...
针对HTTP状态码:1xx,2xx,3xx,4xx,5xx的几十个状态码做了详细分析, 以及出现状态码代表了什么意思,个别的详细解释了出现的原因。供大家针对出现的问题思考解决方案;例如:300错误为:针对收到请求,服务器可执行...
* Status:只读,从上次检索 HTTP 响应状态代码,可以获取响应状态代码。 * StatusText:只读,检索/返回 HTTP 状态文本,可以获取响应状态文本信息。 WinHttp.WinHttpRequest.5.1 提供了丰富的事件、方法和属性,...
HTTP 状态码分为五大类:信息响应类(1xx)、处理成功响应类(2xx)、重定向响应类(3xx)、客户端错误类(4xx)和服务端错误类(5xx)。 1xx 信息响应类 * 100:客户端必须继续发出请求 * 101:客户端要求服务器...