HTTP协议中request报文请求方法和状态响应码

时间:2021-11-19 04:59:39

  一个HTTP请求报文由4部分组成:

    1. 请求行(request line)
    2. 请求头部(header)
    3. 空行
    4. 请求数据

  下图给出了请求报文的一般格式:

                   HTTP协议中request报文请求方法和状态响应码

  请求行中包括了请求方法,常见的请求方法有:

  GET:从服务器获取一个资源
  HEAD:只从服务器获取文档的响应首部
  POST:向服务器发送要处理的数据
  PUT:将请求的主体部分存储在服务器上
  DELETE:请求删除服务器上指定的文档
  TRACE:追踪请求到达服务器中间经过的代理服务器
  OPTIONS:请求服务器返回对指定资源支持使用的请求方法

  用百度搜索http时的Request报头信息:

GET /s?wd=http&ie=utf-8&tn=94839763_hao_pg HTTP/1.1
Host: www.baidu.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=0&rsv_idx=1&tn=baidu&wd=http&rsv_pq=ef45e0e30001a4ba&rsv_t=4a37IT%2B5VmcChFM%2FQSS6rl4bOZAX61Q2PbU4CTa1x9RO%2BJzyUiQI1cD%2BDwc&rqlang=cn&rsv_enter=1&rsv_sug3=5&rsv_sug1=4&rsv_sug7=100&rsv_sug2=0&inputT=1596&rsv_sug4=1595&rsv_sug=2&__eis=1&__eist=335
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8
Cookie: 

  常见的HTTP状态响应码(HTTP Status Code)包括:

  1xx:100-101,信息提示
  2xx:200-206,成功
  3xx:300-305,重定向
  4xx:400-415,错误类信息,客户端错误
  5xx:500-505,错误类信息,服务器端错误
常见的状态码:
   200: 成功,请求的所有数据通过响应报文的entity-body部分发送;OK
   301: 请求的URL指向的资源已经被删除;但在响应报文中通过首部Location指明了资源现在所处的新位置;Moved Permanently
   302: 与301相似,但在响应报文中通过Location指明资源现在所处临时新位置;Found
   304: 客户端发出了条件式请求,但服务器上的资源未曾发生改变,则通过响应此响应状态码通知客户端;Not Modified
   401: 需要输入账号和密码认证方能访问资源;Unauthorized
   403: 请求被禁止;Forbidden
   404: 服务器无法找到客户端请求的资源;Not Found
   500: 服务器内部错误;Internal Server Error
   502: 代理服务器从后端服务器收到了一条伪响应;Bad Gateway

  用百度搜索http时,请求成功的响应码:

Request URL: https://www.baidu.com/s?wd=http&ie=utf-8&tn=94839763_hao_pg
Request Method: GET
Status Code: 200 OK
Remote Address: 163.177.151.109:443
Referrer Policy: no-referrer-when-downgrade