300
客户端请求一个实际指向多个资源的URL时会返回这个状态码。
301
在请求的URL已被移除时使用,响应的Location首部中应该包含资源现在所处的URL。
400
用于告知客户端发送了一个错误的请求。
401
客户端未取得认证。
403
请求被服务器拒绝。
404
服务器无法找到所请求的URL。
***************************************原文结束,学习笔记如下***********************************************
我觉得单纯看这些死记没啥意义的,但是你在使用中遇到比如ajax或者rest接口或者做爬虫之类就会经常遇到,印象深刻。
1XX的我没见过,网上说信息提示,下面是常见类型。大概知道范围即可。细节可以网上查询。
2XX | 200-206 | 成功 |
3XX | 300-305 | 重定向 |
4XX | 400-415 | 客户端错误 |
5XX | 500-505 | 服务器错误 |
下面用jmeter脚本举例子,调用接口返回403:
Thread Name: 设备属性上报 1-1
Sample Start: 2016-03-01 10:36:16 CST
Load time: 27
Latency: 27
Size in bytes: 273
Headers size in bytes: 175
Body size in bytes: 98
Sample Count: 1
Error Count: 1
Response code: 403
Response message: Forbidden
Response headers:
HTTP/1.1 403 Forbidden
Server: nginx/1.6.2
Date: Tue, 01 Mar 2016 02:37:11 GMT
Content-Type: text/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
HTTPSampleResult fields:
ContentType: text/json;charset=UTF-8
DataEncoding: UTF-8
HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文
状态行格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF
其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。报头内容较常用。
写了几行还是不详细,还是推荐一篇好文(图解Http协议):http://ifeve.com/javaee-http/