跳到主要内容

Http协议详解 Http请求方式有 Http响应状态码 ?

参考答案:

HTTP(Hypertext Transfer Protocol)协议是用于从Web服务器传输超文本到本地浏览器的传送协议。HTTP基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP请求方式

HTTP协议中定义了多种请求方法(HTTP Request Methods),每种方法都有其特定的用途。以下是HTTP/1.1规范中定义的一些主要请求方法:

  1. GET:用于请求访问已被URI识别的资源。GET方法应只被用于获取数据。
  2. POST:用于传输信息到指定的资源。POST方法可能用于提交表单数据。
  3. PUT:用于从客户端向服务器传送数据以创建新的资源或替换目标资源的当前表示。
  4. DELETE:请求服务器删除指定的资源。
  5. HEAD:与GET方法一样,都是向服务器发出指定资源的请求。只不过服务器在响应中只返回HTTP头部信息,不返回具体的内容。
  6. OPTIONS:返回服务器针对特定资源所支持的通信选项。
  7. TRACE:回显服务器收到的请求,主要用于测试或诊断。
  8. CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

HTTP响应状态码

HTTP状态码是由三位数字组成的,第一个数字定义了响应的类别,且有五种可能值:

  1. 1xx (信息性状态码):接收的请求正在处理。

    • 100 Continue:初始的请求已被接受,客户应当继续发送请求的其余部分。
    • 101 Switching Protocols:服务器将遵从客户的请求转换到另外一种协议。
  2. 2xx (成功状态码):请求正常处理完毕。

    • 200 OK:请求已成功,请求所希望的响应头或数据体将随此响应返回。
    • 201 Created:请求已经被实现,而且有一个新的资源已经依据请求的需要而创建。
    • 202 Accepted:服务器已接受请求,但尚未处理。
    • 203 Non-authoritative Information:文档已经正常地返回,但一些响应头可能不正确,因为使用的是文档的拷贝。
    • 204 No Content:没有新文档。浏览器应该继续显示原来的文档。如果用户定期地刷新页面,那么该状态码很有用。
    • 205 Reset Content:文档之前的内容已经被清除。如果文档有重置内容的功能,用户代理在接收到此响应后应该重置文档视图。
    • 206 Partial Content:服务器已经完成了部分用户的GET请求。
  3. 3xx (重定向状态码):要完成请求必须进行更进一步的操作。

    • 300 Multiple Choices:被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议机制(例如,用户代理可能基于内容协商的结果选择一个地址)。
    • 301 Moved Permanently:被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。
    • 302 Found:临时移动。
    • 303 See Other:对应当前请求的响应可以在另一个URI下找到,而且客户端应当采用GET方法获取那个资源。
    • 304 Not Modified:所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。
    • 305 Use Proxy:被请求的资源必须通过代理访问。
    • 307 Temporary Redirect:临时重定向。
  4. 4xx (客户端错误状态码):请求包含错误无法完成。

    • 400 Bad Request:服务器不能理解请求的语法。
    • 401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。
    • 402 Payment Required:此状态码不再使用,而是用403来代替。
    • 403 Forbidden:服务器收到请求,但是拒绝提供服务。
    • 404 Not Found:服务器无法找到被请求的URI。
    • 405 Method Not Allowed:请求行中指定的请求方法不能被用于请求相应的资源。
    • 406 Not Acceptable:根据用户发送的Accept拖,请求资源不可访问。
    • 407 Proxy Authentication Required:此状态码表示,客户端请求的资源需要通过代理认证。
    • 408 Request Timeout:客户端没有在用户定义的超时时间内完成请求。
    • 409 Conflict:由于和被请求的资源的当前状态之间存在冲突,请求