http协议(十)实体首部字段
1、定义
包含在请求和响应中的实体部分所使用的首部,用于补充内容的更新时间等与实体相关的信息
2、Allow
通知客户端能够支持的Request-URI指定资源的所有http方法:如果服务器接收到不支持的方法,会返回状态码405Method Not Allowed作为响应返回
Allow:GET, HEAD
3、Content-Encoding
告知客户端服务器对实体的主体部分的选用的内容编码方式
内容编码指在不丢失实体信息的前提下所进行的压缩
主要采用以下这四种内容编码方式
gizp,conpress,deflate,identity
Content-Encoding: gizp
4、Content-Lanuage
告知客户端实体主体使用的自然语言(优先接收的语言)
Content-Lanuage: zh-CN
5、Content-Length
表明实体主体部分的大下(单位是字节)
若对实体主体进行编码传输,不能使用该字段
Content-Length: 15000
6、Content-Location
给出了与报文主体部分相对应的URI。与Location不同,该字段表示的是报文主体返回资源的URI
Content-Location: http://www.baidu/com/index-miss.html
7、Content-MD5
由一串由MD5算法生成的值,其目的在于检查报文 主体在传输中是否保持完整,以及确认传输到达。
Content-MD5: OFJKGKLDFUIGNG35565FGNHLDGNH==
8、Content-Range
告知客户端作为响应返回的实体的哪个部分符合范围请求,(单位:字节),表示当前发送部分及整个实体大小
Content-Range: bytes 5001-10000/10000
9、Expires
告知客户端资源失效的日期
如果首部字段存在Cache-Control有指定max-age指定时,会优先处理max-age指令
Expires: Wed, 04 Jul 2016 09:26:05 GMT
10、Last-Modified
指明资源的最终修改的时间
Last-Modified: Wed, 04 Jul 2016 09:26:05 GMT
这部分主要是附带说说,一般工作中不常用到,但了解也是很有好处的 - -
为Cookie服务的首部字段
Cookie的工作机制是用户识别及状态管理。
实现原理:方便管理用户状态,通过web浏览器将一些数据临时写入用户的计算机内,当用户访问时可通过通信方式取回之前发送的Cookle
调用Cookie的时候,由于可以调用Cookie的有效期,以及发送方的域、路径、协议等信息,所以正规发布的Cookie不是因为来自其他web站点和攻击者的攻击而泄漏
为Cookle服务的首部字段:
1、Set-Cookie字段的属性:
1)expires
指定浏览器可发送Cookie的有效期
若不指定则默认为会话时间段内
一旦Cookie从服务端发送到客户端,服务器就不存在可显式删除Cookie的方法,但可通过覆盖已过期的Cookie,实现对客户端的实质性删除
2)path
用于限制指定Cookie发送范围的文件目录
3)domain
通过该属性指定的域名可做到与结尾匹配一致
除了针对具体指定的多个域名发送的Cookie外,不指定domain属性显得更安全
4)secure
限制web界面仅在HTTPS安全连接时,才可以发送Cookie
发送Cookie时,指定属性的方法如下:
Set-Cookie: name=value; secure
5)HttpCookie
Cookie的扩展功能,使JavaScript脚本无法获得Cookie。主要目的是为了防止跨站脚本攻击对Cookie的信息窃取
发送指定HttpOnly属性的方法如下:
Set-Cookie: name=value; HttpOnly
2、Cookie
告知服务器,客户端想获得http状态管理支持时,就会在请求中包含从服务器接收到的Cookie。接收多个时,同样可以以多个发送
到这里基本关于http协议的基础就整理完了,整个的思路大概就是对TCP/IP的介绍,握手,数据传输的方式以及几种数据传输方法,请求响应报文的类型,字段等知识。。。