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的介绍,握手,数据传输的方式以及几种数据传输方法,请求响应报文的类型,字段等知识。。。

http协议基础(十)实体首部字段的更多相关文章

  1. Content-Type实体首部字段

      现代互联网下,每天都会有数以亿计的各种媒体对象经由HTTP传输,如图像,文本,影视以及软件程序等.这些数据都包含在HTTP报文的实体内容中,如果把HTTP报文想像成一份快递,HTTP实体就是快递实 ...

  2. http协议(十)实体首部字段

    1.定义 包含在请求和响应中的实体部分所使用的首部,用于补充内容的更新时间等与实体相关的信息 2.Allow 通知客户端能够支持的Request-URI指定资源的所有http方法 如果服务器接收到不支 ...

  3. HTTP 协议常见首部字段

    首部字段 1.HTTP协议的请求和响应报文中必定包含HTTP首部.首部内容为客户端和服务器处理请求和响应提供了所必须的信息. 2.HTTP首部字段是由首部字段名和字段值构成,中间用冒号“:”隔开.字段 ...

  4. http协议基础(六)报文首部

    http请求和响应报文内容比较多,会分为大概四部分更新,最近比较忙,没太多时间整理- - 首先来看看报文结构吧 1.http请求报文 http请求报文由方法.URI.http版本.http首部字段等构 ...

  5. HTTP协议图--HTTP 报文首部之首部字段(重点分析)

    1.首部字段概述 先来回顾一下首部字段在报文的位置,HTTP 报文包含报文首部和报文主体,报文首部包含请求行(或状态行)和首部字段. 在报文众多的字段当中,HTTP 首部字段包含的信息最为丰富.首部字 ...

  6. HTTP协议10-实体首部字段

    实体首部字段 实体首部字段是包含咋请求报文和响应报文中实体部分的首部,用于补充内容的更新时间等于实体相关的信息. 1)Allow Allow:GET,HEAD 用于通知客户端能够支持访问指定资源的请求 ...

  7. HTTP全部报文首部字段

    总结了一下HTTP各种报文首部字段. HTTP报文类型与结构 HTTP报文结构 报文首部 空行(CR+LF) 报文主体 HTTP报文类型 http有两种类型报文,请求报文和响应报文两种报文的首部结构如 ...

  8. HTTP 首部字段详细介绍

    本文是HTTP解析系列第二篇,如果对http协议不是很了解,可以选去看第一篇:带新手走进神秘的HTTP协议,本文主要是对Http的首部字段进行详细解析. HTTP 协议的请求和响应报文中必定包含 HT ...

  9. HTTP首部字段

    HTTP首部由首部字段名和首部字段值组成,以逗号隔开.如果首部出现重复,有些浏览器优先处理第一个出现的首部,有些优先处理后者. 主要分为四大类 通用首部字段 请求首部字段 响应首部字段 实体首部字段 ...

随机推荐

  1. eclipse安装maven时候如果conf文件夹中有setting文件则会以这个文件为主,如果自己设置了user的配置文件则会无效

    eclipse安装maven时候如果conf文件夹中有setting文件则会以这个文件为主,如果自己设置了user的配置文件则会无效

  2. Hive学习之数据去重

    insert overwrite table store select t.p_key,t.sort_word from ( select p_key, sort_word , row_number( ...

  3. Storm架构和编程模型总结

    1. 编程模型 DataSource:外部数据源 Spout:接受外部数据源的组件,将外部数据源转化成Storm内部的数据,以Tuple为基本的传输单元下发给Bolt Bolt:接受Spout发送的数 ...

  4. 部署OpenStack问题汇总(六)-- OpenStack入门需要知道的概念

    本博客已经添加"打赏"功能,"打赏"位置位于右边栏红色框中,感谢您赞助的咖啡. 一.网络问题-network 更多网络原理机制可以参考<OpenStack ...

  5. 墨菲定律:当你觉得一个地方可能有bug,那么这个地方就会有bug----顺带了解下Tomcat那少有人注意的localhost.log

    一.问题概述 题目有点长,但应该值得后端java们了解下有点小坑的localhost.log,让我长话短说. 博主是搞java后端的.后台是很简单的spring mvc + spring框架. 今天测 ...

  6. CentOS上传下载查看命令

    之前往CentOS中上传都用ftp软件,这里介绍一种另外的上传下载方式,两个命令轻松搞定.这两个命令目前只针对Xshell和SecureCRT等远程终端软件才支持,并且还会有时间的限制.大概30秒不上 ...

  7. spring配置多视图解析器

    最近做一个小项目(移动端),自己搭了个简单的SSM框架(spring + spring MVC + Mybitis),展示层本来选用的是jsp,各方便都已经搭建好,结果发现有些页面需要用到H5的一些功 ...

  8. Logstash在Linux上安装部署

    Logstash 简介: Logstash 是一个实时数据收集引擎,可收集各类型数据并对其进行分析,过滤和归纳.按照自己条件分析过滤出符合数据导入到可视化界面.它可以实现多样化的数据源数据全量或增量传 ...

  9. mysql count(*) 和count(列) 的区别

    count(*) 是统计包含null的记录,而count(列)不含null; 在不带where的情况下count(*)与count(列)相比,并非统计所有列,而是忽略所有列而直接统计行数; 当coun ...

  10. java字符串的替换

    split也是用到了正则表达式 replace 是没有用正则表达式,全部替换 replaceAll 和replaceFirst是用了正则表达式 replaceAll替换所有,replaceFirst是 ...