本文已参与「新人创作礼」活动,一起开启掘金创作之路。
HTTP协议
HTTP请求协议包
按照自上而下划分为4个空间
- 请求行:
- 请求方式(POST/GET)
- GET:请求的参数显示到地址栏。通常有大小限制。没有请求体
- POST:请求的参数不会显示到地址栏(在请求体中)。POST没有大小限制。有请求体
- 请求地址
- 协议版本
- 请求方式(POST/GET)
- 请求头
- 请求头的格式一般是一个key对应一个或多个value
- referer:代表网页的来源(若没有跳转请求则返回null)(用于防盗链)
- User-Agent:获得客户端浏览器类型
- 空白行
- 没有任何内容,起到隔离作用
- 请求体
-
只有POST请求方式才有请求体(请求参数)
-
HTTP响应协议包
按照自上而下划分为4个空间
- 状态行:HTTP状态码
- 响应头:通常一个key对应的一个或多个value
- Location:重定向的路径
- Refresh:定时刷新
- Content-Disposition:文件下载时使用
- 空白行:没有任何内容,起到隔离作用
- 响应体:
- 可能是被访问的静态资源文件内容
- 可能是被访问的静态资源文件命令
- 可能是被访问的动态资源文件运行结果 都是以二进制形式*
状态码
| 状态码 | 描述 |
|---|---|
| 1** | 信息,服务器收到请求,需要请求者继续执行操作 |
| 2** | 成功,操作被成功接收并处理 |
| 3** | 重定向,需要进一步的操作以完成请求 |
| 4** | 客户端错误,请求包含语法错误或无法完成请求 |
| 5** | 服务器错误,服务器在处理请求的过程中发生了错误 |
防盗链:
防止拿到地址直接访问。防盗链可以利用referer判断请求来源,从而只允许指定的请求来访问