HTTP04报文和http状态码

报文的内容

request 请求报文

  • 第一部分 请求行method path http版本号
  • 第二部分 K/V对的 请求首部
  • 第三部分 空行
  • 第四部分 请求体
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
GET / HTTP/1.1 请求行
Host: www.baidu.com
Connection: keep-alive
Cache-Control: max-age=0
sec-ch-ua: "Google Chrome";v="87", " Not;A Brand";v="99", "Chromium";v="87"
sec-ch-ua-mobile: ?0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9

请求体

response 响应报文

  • 第一部分 请求行http版本号 状态码 状态码的解释
  • 第二部分 K/V对的 请求首部
  • 第三部分 空行
  • 第四部分 响应体
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
HTTP/1.1 200 OK
Bdpagetype: 2
Bdqid: 0xc2b78305000219a6
Cache-Control: private
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Wed, 30 Dec 2020 15:49:03 GMT
Expires: Wed, 30 Dec 2020 15:49:03 GMT
Server: BWS/1.1
Set-Cookie: BDSVRTM=116; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=33423_1467_33355_33306_33261_31253_33343_33313_33312_33311_33310_33309_26350_33308_33307_33389_33370; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Traceid: 1609343343346522650614030827221594282406
X-Ua-Compatible: IE=Edge,chrome=1
Transfer-Encoding: chunked
空行
响应体

HTTP状态码

  • 200 OK 成功
  • 204 No Content 请求成功了服务器做了处理了,但是不返回任何内容
  • 206 Partial Content 返回部分数据
  • 301 永久重定向,
    • 比如 当你访问aa.com ,重定向到bb.com,此时浏览器就会记录缓存,下次你输入 aa.com 会直接 跳转到 bb.com
  • 302 Found 临时重定向
  • 303 See Other
  • 304 Not Modified 缓存相关
  • 307 也是临时重定向
  • 400 bad request
  • 401 Unauthorized 未授权,没权限
  • 403 forbidden 被服务器拒绝了
  • 404 not found
  • 500 Internal Server Error
  • 503 Service Unavailable 服务器处理不过来了

重定向

302情况 访问 aa.com重定向
1
2
3
// 服务器端
statusCode = 302
setHeader('location','www.baidu.com')
301情况 访问 aa.com重定向
1
2
3
// 服务器端设置响应
statusCode = 301
setHeader('location','www.baidu.com')

注意!chrome调试的时候 不要勾选disable cache

响应类型和请求类型

1
2
3
4
5
// 响应类型
Content-Type: text/html;charset=utf-8

// 请求类型
Content-Type: application/x-www-form-urlencoded;charset=utf-8