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类型 ;
2.identity 默认类型;

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请求报文(请求行,请求头、请求体)的更多相关文章

  1. HTTP请求报文(请求行、请求头、请求体)

    HTTP协议 1.简介 HTTP协议(Hyper Text Transfer Protocol,超文本传输协议),是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的 ...

  2. Python编程系列---获取请求报文行中的URL的几种方法总结

    在浏览器访问web服务器的时候,服务器收到的是一个请求报文,大概GET请求的格式大概如下: 先随便拿到一个请求报文,蓝色即为我们要获取的 GET  /index.html  HTTP/1.1  Hos ...

  3. 重温Http协议--请求报文和响应报文

    http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过h ...

  4. HTTP 请求报文 响应报文

    引言 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发 ...

  5. HTTP 请求报文 响应报文(转)

    引言 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发 ...

  6. HTTP请求报文解剖

    转自:https://www.iteye.com/topic/1124408 HTTP请求报文由3部分组成(请求行+请求头+请求体): 下面是一个实际的请求报文: ①是请求方法,GET和POST是最常 ...

  7. Http协议--请求报文和响应报文

           http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应 ...

  8. HTTP请求报文、响应报文

    HTTP请求报文 HTTP请求报文由3部分组成(请求行+请求头+请求体): 请求行:①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE.HEAD.OPTIONS.PUT. ...

  9. HTTP请求协议中请求报文(Request Headers)跟响应报文(Response Headers)的简单理解

    背景 今儿个一新来的应届生问我,开发模式中所看到的web请求的请求头里的属性怎么理解,我便根据自己的经验随便拉开一个请求跟他聊了起来,顺便自己记录下文字版,以后再有交流直接发地址给他就好了,嘻嘻,机智 ...

  10. HTTP协议扫盲(七)请求报文之 GET、POST-FORM 和 POST-FILE

    一.get 1.页面代码 2.请求报文 3.小结 get请求没有报文体,所以请求报文没有content-type url上的query参数param11=val11&param12=val12 ...

随机推荐

  1. [OI] 容斥原理拓展

    10.容斥原理拓展 10.1 二项式反演 \[P.10.1(1) \] 设 \(U=\{S_1,S_2,S_3...S_n\}\),且任意 \(i\) 个元素的交集都相等 定义 \(g(x)\) 为 ...

  2. 称骨算命免费api接口_json数据接口示例_八字称骨测算程序php接口

    称骨算命是算命方法的一种,和生辰八字算命.紫微斗数算命异曲同工,略有不同,虽然都是用出生的时间算命,但比较而言,称骨算命将命运分的比较粗略,只是把命运分为五十一种.故对命运的考察不细致,不太准确,可以 ...

  3. Java日期时间API系列29-----Jdk8中java.time包中的新的日期时间API类,Java定时任务job中cron表达式计算应用。

    Java开发过程中经常会用到定时任务job的场景,比如定时处理数据报表等问题,开源作业调度框架也非常多,常用的开源作业调度框架有:Spring Task.Quartz和xxl-job等.各个框架的具体 ...

  4. 标准库之 random 模块

    一.介绍random模块 1.1.random模块简介 random模块是Python标准库中用于生成伪随机数的模块,伪随机数是通过算法生成的数列,在一定范围内表现出随机性,虽然这些数列在一定程度上是 ...

  5. kotlin集合——>迭代器、区间与数列

    1.迭代器 对于遍历集合元素,Kotlin 标准库支持 迭代器 的常用机制⸺对象可按顺序提供对元素的访问权限,而 不会暴露集合的底层结构.当需要逐个处理集合的所有元素(例如打印值或对其进行类似更新)时 ...

  6. Spring 实现 3 种异步流式接口,干掉接口超时烦恼

    大家好,我是小富- 如何处理比较耗时的接口? 这题我熟,直接上异步接口,使用 Callable.WebAsyncTask 和 DeferredResult.CompletableFuture等均可实现 ...

  7. 云原生周刊:Argo Rollouts 支持 Kubernetes Gateway API 1.0 | 2024.7.1

    开源项目 Kubetools Recommender System Kubetools Recommender System (Krs) 是一个基于 GenAI 的工具,用于帮助管理和优化 Kuber ...

  8. 云原生周刊:Kubernetes Grafana 看板更新 | 2024.5.13

    开源项目推荐 Chart Testing Chart Testing 是用于测试 Helm 图表的工具.它旨在用于对拉取请求进行 lint 和测试.它会自动检测针对目标分支更改的图表. Cluster ...

  9. PME算法简单Python实现

    技术背景 在前面的两篇博客中,我们分别介绍了Ewald算法求解静电势能和基于格点拉格朗日插值法的PME算法.在多种计算优化算法(Ewald求和.快速傅里叶变换.格点拉格朗日插值.截断近似)的加持下,使 ...

  10. C++处理系统相关权限问题

    1.给某个文件或文件夹赋予特定用户的特定访问权限 /* 给文件(夹)szPath设置用户名为pszAccount的可读可写可修改权限 */ bool GiveTheAccountPrivToFile( ...