下面来讲响应消息。响应消息也分为响应起始行、响应头部、CRLF、响应主体。
响应起始行包括协议版本、响应状态码、原因短句。这里的重点就是响应状态码,它一共分为5类,状态码准确的说是一个三位数。
1xx:表示这段信息的作用主要是提示。
2xx:成功的响应。
3xx:需要客户端重定向。
4xx:客户端请求错误。
5xx:服务器端运行错误。
下面举一些常见的例子:
100:Continue,服务器收到了请求的初始部分,请客户端继续。
101:Switching Protocols,切换协议。
200:OK,响应完成,主体中包含请求的数据。
201:Created,PUT请求提交的数据已经被保存。
301:Moved Permanently,请求资源已被移除,Location响应头指定了请求资源的当前URL。
303:See Other,告知客户端使用另一个URL来获取资源。
304:Not Modified,请求的资源未被修改。
400:Bad Request,请求格式错误。
403:Forbidden,请求被服务器拒绝了。
404:Not Found,请求的资源不存在。
405:Method Not Allowed,发起的请求中带有URL不支持的方法。
500:Internal Server Error,服务器端程序执行过程中发生错误。
501:Not Implemented,请求的资源未实现请求的方法
503:Service Unavailable,服务器暂时无法提供服务。
505:HTTP Version Not Supported,请求所用的协议不被服务器所支持。
然后是响应头部,响应消息的头部的通用头和主题描述头和请求消息一样,这里列举一些响应消息专用头:
Server:告诉客户端服务器类型(ex:Apache)
Last-Modified:告诉客户端资源最后一次更改时间。
Content-Encoding:响应主体内容的编码类型(ex:gzip)
这里我只是稍微谈了下HTTP协议的基本知识点,关于它的原理以及用途感兴趣的可以自行了解。