Qt之Http:2 请求报文介绍

实验环境:

window环境下使用Apache——Apache的安装与卸载_lxy0322的博客-CSDN博客_apache卸载

用Telnet发送HTTP请求_勇往直前的专栏-CSDN博客

1、请求报文

image-20210530160935918

1.1 请求行

请求行的格式如图所示:

image-20210530162308788

1.1.1 请求方法

方法说明支持的 HTTP 协议版本
GET获取资源1.0、 1.1
POST传输实体主体1.0、 1.1
PUT传输文件1.0、 1.1
HEAD获得报文首部1.0、 1.1
DELETE删除文件1.0、 1.1
OPTIONS询问支持的方法1.1
TRACE追踪路径1.1
CONNECT要求用隧道协议连接代理1.1
LINK建立和资源之间的联系1.0
UNLINE断开连接关系1.0

GET:特定浏览器和服务器对URL长度有限制,例如 IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系 统的支持。

因此对于GET提交时,传输数据就会受到URL长度的 限制。

POST:由于不是通过URL传值,理论上数据不受 限。但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置。

  • GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变,

关于HTTP协议,一篇就够了 - 简书 (jianshu.com)

1.1.2 请求资源

比如 : /index.html, “/” 会打开默认的网页,一般为index.htm 或者 index.html

1.1.3 请求协议

比如:HTTP/1.1 HTTP 协议 1.1 版本

1.2 请求首部

从客户端向服务器端发送请求报文时使用的首部。 补充了请求的附加内容、 客户端信息、 响应内容相关优先级等信息。

请求首部字段名说明
Accept用户代理可处理的媒体类型
Accept-Charset优先的字符集
Accept-Encoding优先的内容编码
Accept-Language优先的语言(自然语言)
AuthorizationWeb认证信息
Expect期待服务器的特定行为
From用户的电子邮箱地址
Host请求资源所在服务器
If-Match比较实体标记(ETag)
If-Modified-Since比较资源的更新时间
If-None-Match比较实体标记(与 If-Match 相反)
If-Range资源未更新时发送实体 Byte 的范围请求
If-Unmodified-Since比较资源的更新时间(与If-Modified-Since相反)
Max-Forwards最大传输逐跳数
Proxy-Authorization代理服务器要求客户端的认证信息
Range实体的字节范围请求
Referer对请求中 URI 的原始获取方
TE传输编码的优先级
User-AgentHTTP 客户端程序的信息

1.3 通用首部字段

这是请求报文和响应报文两方都会使用的首部。

通用首部字段名说明
Cache-Control控制缓存的行为
Connection逐跳首部、 连接的管理
Date创建报文的日期时间
Pragma报文指令
Trailer报文末端的首部一览
Transfer-Encoding指定报文主体的传输编码方式
Upgrade升级为其他协议
Via代理服务器的相关信息
Warning错误通知

1.4 实体首部

实体首部字段名说明
Allow资源可支持的HTTP方法
Content-Encoding实体主体适用的编码方式
Content-Language实体主体的自然语言
Content-Length实体主体的大小(单位: 字节)
Content-Location替代对应资源的URI
Content-MD5实体主体的报文摘要
Content-Range实体主体的位置范围
Content-Type实体主体的媒体类型
Expires实体主体过期的日期时间
Last-Modified资源的最后修改日期时间

2、试验

使用apache 服务器 和 telnet 并使用请求报文来模拟访问http服务器。

其他服务器,可能telnet 需要输入额外的命令:set localecho 或者 set crlf 等。

2.1 架设http服务器

详见开头的链接,故略

2.2 win10 安装telnet

可百度

2.3 GET 请求

1)链接 http 服务器

telnet 127.0.0.1 80

  1. 打开回显模式

输入 CTRL + ] 并回车

3) 输入GET请求

GET /index.html HTTP/1.1
Host:127.0.0.1

4)返回报文

HTTP/1.1 200 OK
Date: Sun, 30 May 2021 10:43:02 GMT
Server: Apache/2.4.48 (Win64)
Last-Modified: Mon, 11 Jun 2007 18:53:14 GMT
ETag: "2d-432a5e4a73a80"
Accept-Ranges: bytes
Content-Length: 45
Content-Type: text/html

<html><body><h1>It works!</h1></body></html>

5)截图

  • GET 请求:

image-20210530184532939

  • HEAD 请求:

image-20210530184724450

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值