HTTP协议

81 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

HTTP协议

HTTP请求协议包

按照自上而下划分为4个空间

  • 请求行:
    • 请求方式(POST/GET)
      • GET:请求的参数显示到地址栏。通常有大小限制。没有请求体
      • POST:请求的参数不会显示到地址栏(在请求体中)。POST没有大小限制。有请求体
    • 请求地址
    • 协议版本
  • 请求头
    • 请求头的格式一般是一个key对应一个或多个value
    • referer:代表网页的来源(若没有跳转请求则返回null)(用于防盗链)
    • User-Agent:获得客户端浏览器类型
  • 空白行
    • 没有任何内容,起到隔离作用
  • 请求体
    • 只有POST请求方式才有请求体(请求参数) 在这里插入图片描述

HTTP响应协议包

按照自上而下划分为4个空间

  • 状态行:HTTP状态码
  • 响应头:通常一个key对应的一个或多个value
    • Location:重定向的路径
    • Refresh:定时刷新
    • Content-Disposition:文件下载时使用
  • 空白行:没有任何内容,起到隔离作用
  • 响应体:
    • 可能是被访问的静态资源文件内容
    • 可能是被访问的静态资源文件命令
    • 可能是被访问的动态资源文件运行结果 都是以二进制形式*

在这里插入图片描述

状态码

状态码描述
1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作以完成请求
4**客户端错误,请求包含语法错误或无法完成请求
5**服务器错误,服务器在处理请求的过程中发生了错误
在这里插入图片描述

防盗链:

防止拿到地址直接访问。防盗链可以利用referer判断请求来源,从而只允许指定的请求来访问