美文网首页
HTTP报文概略

HTTP报文概略

作者: ambe_gzy | 来源:发表于2019-03-14 19:56 被阅读0次

HTTP报文概略

本文目的是告诉读者何为HTTP报文,仅做粗略介绍,若想详细学习请自行寻找资料。笔者技术水平有限,若有写错请联系修改。

HTTP报文分为请求报文和响应报文两部分。请求方法主要分为GET、POST两种。

1.实际的请求报文格式

HTTP请求报文

①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。不过,当前的大多数浏览器只支持GET和POST。

②为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL。

③是协议名称及版本号。 

④是HTTP的报文头,报文头包含若干个属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。 

⑤是报文体,它将一个页面表单中的组件值通过param1=value1&param2=value2的键值对形式编码成一个格式化串,它承载多个请求参数的数据。不但报文体可以传递请求参数,请求URL也可以通过类似于“/chapter15/user.html? param1=value1&param2=value2”的方式传递请求参数。


常见HTTP请求报文头属性Header

HTTP响应头和请求头信息对照表

Content-Type

告诉服务器客户端发送过去的媒体类型.

e.g.发送js数据:Content-Type:application/x-javascript

常用对照表

Accept 

告诉服务器客户端能接受的数据。

e.g.客户端仅能接收纯文本信息  Accept:text/plain  

Cookie

客户端的Cookie通过此参数传递给服务端。

e.g.Cookie: $Version=1; Skin=new;jsessionid=5F4771183629C9834F8382E23BE13C4C  

服务端是怎么知道客户端的多个请求是隶属于一个Session呢?注意到后台的那个jsessionid=5F4771183629C9834F8382E23BE13C4C,通过HTTP请求报文头的Cookie属性的jsessionid的值关联起来的!(当然也可以通过重写URL的方式将会话ID附带在每个URL的后面哦)。

Referer

表示请求的来源URL,假设当你编写程序发送请求报文到腾讯的API,这个请求报文的Referer属性就是你的ip地址;假如你通过百度搜索出一个广告,你点进去那个广告,则这个广告网站的商家接收的请求报文的Referer报文头属性就是http://baidu.com。

Cache-Control

对缓存(响应返回的内容)进行控制。

e.g.服务端返回的内容不要在客户端缓存 Cache-Control:no-cache

其他属性


概括http请求:

http请求通俗来讲就是把客户端的东西通过http协议发给服务端,服务端根据http协议的定义解析客户端发过来的东西。

上边那些报文请求头参数都是http协议定义好的,我们自己写代码的时候有时候不用写,那是因为类库中,有的已经自动给加入啦。

header是可以自定义的,你可以加入任何变量到里边,许多云api都是用自定义的header。header中信息是可以任意修改,发送到 服务端的。

如果这篇文章能帮到你,不妨给我个like吧!

参考资料:

HTTP请求行、请求头、请求体详解

白话一下http请求

相关文章

网友评论

      本文标题:HTTP报文概略

      本文链接:https://www.haomeiwen.com/subject/zaecmqtx.html