HTTP协议(HyperText Transfer Protocol超文本传输协议)是因特网上应用最为广泛的一种网络传输协议所有的WWW文件都必须遵守这个标准。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
一、HTTP 超文本传输协议HTTP 是基于客户端/服务端(C/S)的架构模型通过一个可靠的链接来交换信息是一个无状态的请求/响应协议。
一个HTTP "服务器"同样也是一个应用程序(通常是一个Web服务如Apache Web服务器或IIS服务器等)通过接收客户端的请求并向客户端发送HTTP响应数据。
HTTP 使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接。
HTTP 请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1 新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。
二、HTTP 请求方式:GET 请求指定的页面信息并返回实体主体。
HEAD 类似于get请求只不过返回的响应中没有具体的内容用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
PUT 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE 请求服务器删除指定的页面。
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求主要用于测试或诊断。
三、HTTP 返回状态码( 网址HTTP状态批量检测工具)1xx 处理信息服务器收到请求需要请求者继续执行操作;
2xx 请求成功操作被成功接收并处理;
3xx 重定向内容优化操作被成功接收并处理;
3xx 重定向需要进一步的操作以完成请求;
4xx 客户端错误请求包含语法错误或无法完成请求;
5xx 服务器错误服务器在处理请求的过程中发生了错误;
四、HTTP 状态码详解1xx - 信息提示
这些状态代码表示临时的响应。客户端在收到常规响应之前应准备接收一个或多个 1xx 响应。
100 - Continue 继续;
初始的请求已经接受客户应当继续发送请求的其余部分。(HTTP 1.1新)
101 - Switching Protocols 切换协议;
服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新)
2xx - 成功
这类状态代码表明服务器成功地接受了客户端请求。
200 - OK 正常;
对GET和POST请求的应答文档跟在后面。
201 - Created 已创建;
服务器已经创建了文档Location头给出了它的URL。
202 - Accepted 接受;
已经接受请求但处理尚未完成。
203 - Non-Authoritative Information 非权威的信息;
文档已经正常地返回但一些应答头可能不正确因为使用的是文档的拷贝非权威性信息(HTTP 1.1新)。
204 - No Content 没有内容;
浏览器应该继续显示原来的文档。如果用户定期地刷新页面而Servlet可以确定用户文档足够新这个状态代码是很有用的。
205 - Reset Content 重置内容;
但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容(HTTP 1.1新)。
206 - Partial Content 部分内容;
客户发送了一个带有Range头的GET请求服务器完成了它(HTTP 1.1新)。
207 - 多状态
紧跟消息体后面的是xml消息并且包含了多个单独的响应状态码内容优化服务器完成了它(HTTP 1.1新)。
207 - 多状态
紧跟消息体后面的是xml消息并且包含了多个单独的响应状态码响应的数量取决于子请求的个数。
208 - 已经报告
一个DAV的绑定成员被前一个请求枚举并且没有被再一次包括。
226 - IM Used
服务器已经满足了请求所要的资源并且响应是一个或者多个实例操作应用于当前实例的结果。
3xx - 重定向
客户端浏览器必须采取更多操作来实现请求。
例如浏览器可能不得不请求服务器上的不同的页面或通过代理服务器重复该请求。
300 - Multiple Choices 多重选择;
客户请求的文档可以在多个位置找到这些位置已经在返回的文档内列出。如果服务器要提出优先选择则应该在Location应答头指明。
301- Moved Permanently 永久移动;
客户请求的文档在其他地方新的URL在Location头中给出内容优化新的URL在Location头中给出浏览器应该自动地访问新的URL。