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. LeetCode 47 Permutations II(全排列)

    题目链接: https://leetcode.com/problems/permutations-ii/?tab=Description   给出数组,数组中的元素可能有重复,求出所有的全排列   使 ...

  2. nginx fastcgi配置

    1.1 nginx概述nginx简介Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/P ...

  3. ssh命令远程登录

    1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用Op ...

  4. Sublime text3配置LiveReload 浏览器即时刷新

    1.在sublime控件台 install livereload插件(缺点:每次重新打开Sublime都需要启动) 2.配置Preference > Package Settings > ...

  5. windows中cmd--->进入到别的磁盘

    方法:直接敲:  f:     不要加cd,在同一个磁盘的盘符下用cd.

  6. 总结一下最近用到的技术(2)--JsonSchema和JsonSchemaValidator

    我们最早接触xml的时候会使用一个dtd文件去定义xml里可以有哪些元素和属性等,后来发展到xml schama(是一个xsd文件,在dtd的基础上提供了命名空间等更强大的功能) 现在,RESTful ...

  7. [移动] Xamarin install

    It was not possible to complete an automatic installation. This might be due to a problem with your ...

  8. Android ActivityManager与WindowManager

    <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission ...

  9. 如何使QLineEdit禁止编辑

    在写程序的时候喜欢使用QLineEdit,用来显示打开文件的路径.但是很不喜欢被编辑.那么要怎么设置不可编辑呢. (1)调用lineEdit->setEnabled(False) #不可编辑了 ...

  10. CBV之详解

    一,CBV,基于反射实现根据请求方式不同,执行不同的方法. 1. 开发模式 - 普通开发方式(前后端放在一起写) - 前后端分离 2. 后端开发 为前端提供URL(API/接口的开发) 注:永远返回H ...