HTTP响应:
13,在接收和解释请求消息后,服务器会返回一个HTTP响应消息。
14,与HTTP请求类似,HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文。
15,状态行由协议版本、数字形式的状态代码、及响应的状态描述组成,各元素之间以空格分隔,除了结尾的CRLF(回车换行)序列外,不允许出现CR或LF字符。格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF
Http-Version表示服务器HTTP协议的版本,Status-Code表示服务器发挥的响应代码,Reason-Phrase表示状态代码的文本描述,CRLF表示回车换行。例如:
HTTP/1.1 200 OK (CRLF)
16,状态代码由3位数字组成,表示请求是否被理解或被满足,状态描述给出了关于状态代码的简短的文本描述。
17,状态代码的第一个数字定义了响应的类别,后面两位数字没有具体的分类。第一个数字有五种可能的取值:
-1xx:指示信息-表示请求以接受,继续处理
-2xx:成功-表示请求已经被成功接受、理解、接受
-3xx:重定向-要完成请求必须进行跟进一步的操作
-4xx:客户端错误-请求有语法错误或请求无法实现
-5xx:服务器端错误-服务器未能实现合法的请求
状态代码 |
状态描述 |
|
200 |
OK |
客户端请求成功 |
400 |
Bad Request |
由于客户端请求有语法错误,不能被服务器所理解 |
401 |
Unauthorized |
请求未经授权。这个状态代码必须和WWW-Authenticate报头域一起使用 |
403 |
Forbidden |
服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因 |
404 |
Not Found |
请求的资源不存在,例如,输入了错误的URL |
500 |
Internal Server Error |
服务器发生不可预期的错误,导致无法完成客户端的请求 |
503 |
Service Unavailable |
服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常 |