HTTP介绍
- 超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信。
- HTTP 的工作方式是客户端与服务器之间的请求-应答协议。
- web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。
HTTP请求方法
- GET - 从指定的资源请求数据
- POST - 向指定的资源提交要被处理的数据
HTTP状态信息
GET方法
- GET 请求可被缓存
- GET 请求保留在浏览器历史记录中
- GET 请求可被收藏为书签
- GET 请求不应在处理敏感数据时使用
- GET 请求有长度限制
- GET 请求只应当用于取回数据
POST 方法
- POST 请求不会被缓存
- POST 请求不会保留在浏览器历史记录中
- POST 不能被收藏为书签
- POST 请求对数据长度没有要求
2xx信息:成功
200 OK | 请求成功(这是对HTTP请求成功的标准应答 |
201 Created | 请求被创建完成,同时新的资源被创建 |
202 Accepted | 供处理的请求已被接受,但是处理未完成 |
203 Non-Authoritative Information | 请求已经被成功处理,但是一些应答头可能不正确,因为使用的是其他文档的拷贝 |
204 No Content | 请求已经被成功处理,但是没有返回新文档。浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的 |
205 Reset Content | 请求已经被成功处理,但是没有返回新文档。但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容 |
206 Partial Content | 客户发送了一个带有Range头的GET请求,服务器完成了它 |
3xx:重定向
300 Multiple Choices | 多重选择。链接列表。用户可以选择某链接到达目的地。最多允许五个地址 | |
301 Moved Permanently | 所请求的页面已经转移至新的 URL | |
302 Found | 所请求的页面已经临时转移至新的 URL | |
303 See Other | 所请求的页面可在别的 URL 下被找到 | |
304 Not Modified |
| |
305 Use Proxy | 客户请求的文档应该通过Location头所指明的代理服务器提取 | |
307 Temporary Redirect | 被请求的页面已经临时移至新的 URL | |
308 Resume Incomplete | 用于 PUT 或者 POST 请求恢复失败时的恢复请求建议 |
4xx: 客户端错误
400 Bad Request | 因为语法错误,服务器未能理解请求 |
401 Unauthorized | 合法请求,但对被请求页面的访问被禁止。因为被请求的页面需要身份验证,客户端没有提供或者身份验证失败 |
403 Forbidden | 合法请求,但对被请求页面的访问被禁止 |
404 Not Found | 服务器无法找到被请求的页面 |
405 Method Not Allowed | 请求中指定的方法不被允许 |
406 Not Acceptable | 服务器生成的响应无法被客户端所接受 |
407 Proxy Authentication Required | 用户必须首先使用代理服务器进行验证,这样请求才会被处理 |
408 Request Timeout | 请求超出了服务器的等待时间 |
5xx: 服务器错误
500 Internal Server Error | 请求未完成。服务器遇到不可预知的情况 |
501 Not Implemented | 请求未完成。服务器不支持所请求的功能,或者服务器无法完成请求 |
502 Bad Gateway | 请求未完成。服务器充当网关或者代理的角色时,从上游服务器收到一个无效的响应 |
503 Service Unavailable | 服务器当前不可用(过载或者当机) |
504 Gateway Timeout | 网关超时。服务器充当网关或者代理的角色时,未能从上游服务器收到一个及时的响应 |
505 HTTP Version Not Supported | 服务器不支持请求中指明的HTTP协议版本 |