HTTP协议学习
Posted 小河沟大河沟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议学习相关的知识,希望对你有一定的参考价值。
一、URL
二、资源请求(Request)
GET:向Web服务器请求一个资源
POST:向Web服务器发送资源
PUT:向Web服务器发送资源并存储在服务器上
DELETE:从Web服务器上删除一个资源
|
当请求方式为Get的时候请求的body部分为空此时有可能在URL中跟着参数、此时。参数将在RequestHeader区域中。在path - to - resource部分则是请求资源名称,比如URL(www.baidu.com/index.php)那么path - to - resource 将由index.php替换,最后的HTTP/Version-number表示请求使用的协议类型和版本。
Host:表示请求服务器地址(域名/ip)。
Connection:表示是否需要持久连接、在HTTP 1.1的时候、默认进行的是长连接、也就是连接处于keepalive状态、其优点是、在资源包含多个元素是(比如web页面中的图片)将减少下载时间,当Connection为Keep-Alive时、表示在Keep-Alive时间内不会断开连接。而非KeepAlive模式时、请求之后都将会断开。 Accept:指定客户端能够接受的内容类型、按照先后顺序表示客户端接受的先后次序、如上图中的Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8. User-Agent:表示请求的客户端浏览器详细信息、通过这些信息服务器可以判断当前客户端口浏览器类别。 DNT:DO NOT TRACK 的缩写、要求服务器不要跟踪记录用户信息。为1时表示开启、0时表示关闭。主流浏览器都支持这些、在chrome,firefox中你可以在设置中找到这个设置项。 Accept-Encoding:浏览器能处理的编码、非字符编码而是指资源压缩方法(是否支持压缩、支持那种类型的压缩gzip,deflate等)。 Accept-Language:客户端申明自己所能接收的语言、比如gb2312 utf-8 等、语言和字符集的关系是、语言中包含了字符。 Cookie:浏览器在请求时如果本地存在请求服务器的资源的Cookie信息时、则在Request的时候将会带上这对Cookie信息、帮助服务器识别是否是历史访问人员(网站的请记住我功能就是采用这种方式实现的。将用户的信息通过respoonse时回写到客户端的cookie中。当用户第二次再访问时首先检查访问者是否携带了有效的cookie来做不同的UI呈现或者免登录之类的),cookie内容由服务器程序自行协定、主要格式为name(cookie名称),value(cookie名称对应的值)[Name-Value采用键值对的方式存储],Domain(域名地址),Path(资源路径,用于控制cookie的有效访问范围),Max-Age(有效期、单位为秒,超过这个时间则过期失效。)。对了。其实session也是通过cookie存储的。只不过cookie存储session的时候存储的是一个seesionid。而session实际是存储在服务器进程中的。 更具体的本文将不再阐述、请参照这个地址对查请求头参数核查地址或者这个。
总结:方法就是为了告诉服务器需要做什么。 |
响应状态码用于表示服务器对请求的各种不同处理结果和状态,他是一个三维的十进制数。响应状态码可以归类为5种,使用最高位为1到5来进行分类,如下:
(1)100-199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。
(2)200-299:表示成功接收请求并完成整个处理过程。 (3)300-399:未完成请求,客户需要进一步细化请求,例如请求的资源已经移动到一个新的地址。 |
关于状态值,点击这里有官方的解释。
同样、首先我们还是来看看协议头结构,如下图、和Request是一样的。同样是三部分
HTTP/version-number就是协议版本 而status code就是上面描述的状态码。message就是返回状态消息。
同样以访问百度首页为例子,我们得到的Response信息如下图
有兴趣的可以猛戳→→→→Web_Sniffer-------这里你可以任意的输入有效域名。就能很清楚的看到Request和Response的信息。
以上是关于HTTP协议学习的主要内容,如果未能解决你的问题,请参考以下文章