HTTP 报文


HTTP 协议入门我们详细介绍了 HTTP 的历史演变和设计思路。

在这篇博客中,我将对 HTTP 报文进行介绍。


HTTP 请求报文

HTTP 请求报文主要由请求行、请求头、空一行、请求正文四部分组成。如下图所示。
在这里插入图片描述

  • 请求行:请求方法 + 请求路径 + 协议/版本 + /r/n
  • 请求头:附加的需要服务器知道的一些信息。
  • 空行:规定。
  • 请求体:请求体相当于是一种参数。如果使用的方法是 GET,那么就没有请求体(GET 请求的参数会放在 url 里面),如果是 POST,就有请求体。

下面来看一个具体的例子。
在这里插入图片描述
了解了 HTTP 请求报文的大体格式,让我们来具体了解这些字段。

1. 请求方法(Request Method)


下面是 HTTP 1.1 版本中的请求方法。

请求方法备注
GET请求资源
POST提交资源
HEAD获取响应头
PUT替换资源
DELETE删除资源
OPTIONS允许客户端查看服务器性能
TRACE回显服务器收到的请求,用于测试或诊断

2. URL


  • Uniform Resource Locator:统一资源定位符,用于描述网上的资源
  • 格式:schema://host[:port#]/path/…/[?query-string]
  • scheme:协议,如 http,https,ftp 等等。
  • host:域名或者 IP 地址
  • port:端口,
  • path:资源路径
  • query-string:发送的参数

比如:https://www.baidu.com/s?wd=hello

3. 请求头

是以键值对的形式出现。

请求头描述
Host主机 ip 地址或域名
User-Agent客户端相关信息,如操作系统、浏览器等信息
Accept指定客户端接收信息类型,如:image/jpg,text/html
Accept-Charset客户端接收的字符集,如 gb2312
Accept-Encoding可接受的内容编码,如 gzip
Accept-Language接收的语言,如 Accept-language:zh-cn
Authorization客户端提供给服务端,进行权限认证的信息
Cookie携带的 cookie 信息
Referer当前文档的 URL,即从哪个链接过来的
Content-Type请求体内容类型,如 Content-Type: application/x-www-form-urlencoded
Content-Length数据长度
Cache-Control缓存机制,如 Cache-Control: no-cache
Pragma防止页面被缓存

HTTP 响应报文

HTTP 响应报文主要由状态行、消息报头、空行、响应正文四部分组成。
在这里插入图片描述
下面来看一个具体的例子。
在这里插入图片描述

1. 状态码(Status Code)

用以表示网页服务器 HTTP 响应状态的 3 位数字代码

状态码描述
1xx提示信息,请求被成功接收
2xx成功,请求被成功处理 200
3xx重定向相关 304
4xx客户端错误 404
5xx服务端错误 500

2. 响应头(Response Head)

响应头描述
ServerHTTP服务器的软件信息
Date响应报文的时间
Expires指定缓存过期时间
Set-Cookies种 Cookie
Last-Modified资源最后修改时间
Content-Type响应的类型和字符集
Content-Length内容长度
Connection如:Keep-Alive,表示保持 TCP 连接不关闭
Location指明重定向的位置,新的 URL 地址
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值