HTTP

一、什么是HTTP

http(超文本文件传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。

二、HTTP请求(百度)

客户端=>发出请求=>服务器

1.请求行
1
2
3
4
Request URL: https://www.baidu.com/ #请求的域名
Request Method: GET #请求方式 GET和POST
Status Code: 200 OK #状态码
Remote Address: 14.215.177.38:443 #实际上的IP地址和端口

请求方式:

  • GET:请求携带的数据比较少,大小有限制,会在访问的URL上面显示数据信息,不安全,但是高效
  • POST:请求携带的数据没有限制,大小没有限制,不会在访问的URL上面显示数据信息,安全,但是不高效
2.消息体
1
2
3
4
5
6
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,//告诉浏览器他支持的数据类型
Accept-Encoding: gzip, deflate, br//编码
Accept-Language: zh-CN,zh;q=0.9//语言
Cache-Control: max-age=0 //缓存控制
Connection: keep-alive //告诉浏览器请求完成后是不是断开连接,如果断开的话,下一次再要访问还要再次请求全部资源
Host: www.baidu.com//主机

三、HTTP响应(百度)

服务器=>发出相应=>客户端

1.响应体
1
2
3
4
5
Cache-Control: private//缓存控制
Connection: keep-alive //告诉浏览器响应完成后是不是断开连接,如果断开的话,下一次再要访问还要再次请求全部资源
Content-Encoding: gzip//编码
Content-Type: text/html;//类型
charset=utf-8//编码
2.响应状态码

200:响应成功

3XX:重定向

4XX:失败,资源找不到

5XX:服务器错误 502网关错误