Http请求报文(请求行,请求头、请求体)
Http请求报文:
http请求报文由3部分组成,请求行,请求头,请求体。
一、请求行:
请求方法、URL地址、协议版本
请求方法:POST、GET、DELETE、PUT、HEAD、OPTIONS、TRACE
二、请求头:
请求头包含于若干个属性,格式:“属性名:属性值”
下面是部分常用的请求头属性讲解:
| 属性名 | 举例说明 | ||
| host | 请求的web服务器域名地址 | ||
| accept | 指定客户端接受数据类型的信息 | ||
| accept-language | 接受语言 |
en或en-us指英语,zh或zh--cn指中文 ; zh-CN,zh;q=0.9表示客户端接收的语言为中文,权重系数为0.9 |
|
| accept-encoding | 浏览器发给服务器,声明浏览器支持的编码类型的 |
1.compress, gzip 支持compress 和gzip类型 ; 3.* 支持所有类型 ; |
Accept-Encoding: gzip;q=0.5, identity; q=1, *;q=0 ; 支持权重系数顺序支持: identity, gzip,其余类型不支持 |
| authorization | 身份验证 | ||
| cookie | 浏览器用这个属性向服务器发送Cookie | 格式: 属性1=属性值1;属性2=属性值2; | |
| content-type | Body编码方式 |
1.application/x-www-form-urlencoded:表单数据向服务器提交时所采用的编码类型; 2.application/json:消息的主体是序列化后的JSON字符串; 3.multipart/form-data:文件上传; |
|
| user-agent | 标识客户端身份的名称 | ||
|
connection |
表示客户端与服务器的连接类型 | 默认:keep-alive |
①Client发起一个包含Connection:keep-alive的请求(HTTP 1.1使用keep-alive为默认值) ②Server收到请求后: 如果Server支持keep-alive, 回复一个包含Conection:keep-alive的响应,不关闭连接。 如果Server不支持keep-alive,回复一个包含Connection:close的响应,关闭连接。 ③如果Client收到包含Connection:keep-alive的响应,则向同个连接发送下一个请求,直到一方主动关闭连接。 注意: Connection:keep-alive 在很多情况下能够重用连接,减少资源消耗,缩短响应时间。例如,当浏览器需要多个文件时(如一个HTML文件和多个Image文件),不需要每次都去请求建立连接 |
upgrade-insecure-requests |
升级为HTTPS请求 |
upgrade-insecure-requests:1 |
表示升级不安全的请求,会在加载HTTP资源时自动替换成HTTPS请求,让浏览器不再显示HTTPS页面中的HTTP请求警报。 HTTPS是以安全为目标的HTTP通道,所以在HTTPS承载的页面上不允许出现HTTP请求,一且出现就会提示或报错。 |
注:q:表示权重系数,范围是0=<q<= 1。q值越大,请求越倾向于获得其“;”之前的类型表示的内容。若没有指定q值,则默认为1,按从左到右排序;若被赋值为0,则表示浏览器不接受此内容类型。
Accept:常见的媒体格式
application/json : JSON数据格式
application/xhtml+xml :XHTML格式
application/xml : XML数据格式
application/atom+xml :Atom XML聚合格式
application/pdf :pdf格式
application/msword : Word文档格式
application/octet-stream : 二进制流数据(如常见的文件下载)
application/x-www-form-urlencoded : < form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)
text/html:html格式,浏览器在获取到这种文件时会自动调用html的解析器对文件进行相应的处理。
text/xml:纯文本格式
text/xml:XML格式
text/plain:将文件设置为纯文本的形式,浏览器在获取到这种文件时并不会对其进行处理
image/gif :gif图片格式
image/png:png图片格式
video/mpeg:视频
*/*:所有格式
三、请求体:
请求参数
====================================================================================
详细资料可以查看:
http 中文开发手册:https://www.php.cn/manual/view/35581.html
Http请求报文(请求行,请求头、请求体)的更多相关文章
- HTTP请求报文(请求行、请求头、请求体)
HTTP协议 1.简介 HTTP协议(Hyper Text Transfer Protocol,超文本传输协议),是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的 ...
- Python编程系列---获取请求报文行中的URL的几种方法总结
在浏览器访问web服务器的时候,服务器收到的是一个请求报文,大概GET请求的格式大概如下: 先随便拿到一个请求报文,蓝色即为我们要获取的 GET /index.html HTTP/1.1 Hos ...
- 重温Http协议--请求报文和响应报文
http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过h ...
- HTTP 请求报文 响应报文
引言 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发 ...
- HTTP 请求报文 响应报文(转)
引言 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发 ...
- HTTP请求报文解剖
转自:https://www.iteye.com/topic/1124408 HTTP请求报文由3部分组成(请求行+请求头+请求体): 下面是一个实际的请求报文: ①是请求方法,GET和POST是最常 ...
- Http协议--请求报文和响应报文
http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应 ...
- HTTP请求报文、响应报文
HTTP请求报文 HTTP请求报文由3部分组成(请求行+请求头+请求体): 请求行:①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE.HEAD.OPTIONS.PUT. ...
- HTTP请求协议中请求报文(Request Headers)跟响应报文(Response Headers)的简单理解
背景 今儿个一新来的应届生问我,开发模式中所看到的web请求的请求头里的属性怎么理解,我便根据自己的经验随便拉开一个请求跟他聊了起来,顺便自己记录下文字版,以后再有交流直接发地址给他就好了,嘻嘻,机智 ...
- HTTP协议扫盲(七)请求报文之 GET、POST-FORM 和 POST-FILE
一.get 1.页面代码 2.请求报文 3.小结 get请求没有报文体,所以请求报文没有content-type url上的query参数param11=val11¶m12=val12 ...
随机推荐
- USB协议详解第10讲(USB描述符-报告描述符)
1.报告描述符的概念和作用 开门见山,报告描述符就是描述报告(HID接口上传输事务中的数据)的一组数据结构. 首先大家可能会问,报告又是什么?我们前面讲过,USB主机一般是以中断的方式向HID设备发送 ...
- 017 Python 流程控制之 if 判断
博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...
- python中的时间处理
python程序编写中的时间处理涉及三种: 1.时间的显示: 2.时间的转换: 3.时间的运算. 时间处理模块:time模块 时间的三种表示方式: ①时间戳,从1970年1月1日开始,每过1s增加1, ...
- centos7.6源码方式安装python3.6.8
1 安装依赖包 centos7.6是没有自带python3的 [root@opgs201 ~]# cat /etc/redhat-release CentOS Linux release 7.6.18 ...
- CSP模拟 小 trick 总结 (持续施工中)
虽然这篇博客来的有点晚,但还是写了,欢迎dalao补充( (很杂,建议先浏览目录) 1.分块.莫队有关: \(\color{brown}(1)一个真正的回滚莫队(感谢\ Qyun\ 的讲解):\) $ ...
- Gitlab私有存储库支持SourceLink 调试之使用proxy方式
前情概要 在 让你发布的nuget包支持源代码调试#为gitlab的私有源代码项目提供支持 小节中有介绍到如何让gitlab的私有存储库支持SourceLink. 其中有一个方法是说在vs中打开web ...
- 5.29 杭州站云原生 Meetup,邀您观看线上同步直播
5 月 15 日在上海组织的云原生 Meetup,除了现场火爆.人数爆满之外,同步进行的线上直播也同样受到了广大社区小伙伴的关注,在线观看直播人数足有千人之众. 为了能让更多的社区小伙伴能够参与到 M ...
- ARM 版 OpenEuler 22.03 部署 KubeSphere v3.4.0 不完全指南
作者:运维有术 前言 知识点 定级:入门级 KubeKey 安装部署 ARM 版 KubeSphere 和 Kubernetes ARM 版 KubeSphere 和 Kubernetes 常见问题 ...
- vivo 游戏中心包体积优化方案与实践
作者:来自 vivo 互联网大前端团队- Ke Jie 介绍 App 包体积优化的必要性,游戏中心 App 在实际优化过程中的有效措施,包括一些优化建议以及优化思路. 一.包体积优化的必要性 安装包大 ...
- Java的多线程编程模型5--从AtomicInteger开始(自增长实现)
AtomicInteger,一个提供原子操作的Integer的类.在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字.而AtomicIn ...