使用首部字段是为了给浏览器和服务器提供报文主体大小、所使用语言、认证信息等

4种首部字段类型

  通用首部字段

  请求首部字段

  响应首部字段

  实体首部字段

详细说明:

HTTP首部字段类型

  • 通用首部字段: 请求报文和响应报文两方都会使用的首部
    |首部字段名|说明|
    |---|---|
    |Cache-Control|控制缓存的行为|
    |Connection|逐跳首部、连接的管理|
    |Date|创建报文的日期时间|
    |Pragma|报文指令|
    |Trailer|报文末端的首部一览|
    |Transfer-Encoding|指定报文主体的传输编码方式|
    |Upgrade|升级为其他协议|
    |Via|代理服务器的相关信息|
    |Warning|错误通知|
  • 请求首部字段
    |首部字段名|说明|
    |---|---|
    |Accept|用户代理可处理的媒体类型|
    |Accept-Charset|优先的字符集|
    |Accept-Encoding|优先的内容编码|
    |Accept-Language|优先的语言|
    |Authorization|Web认证信息|
    |Expect|期待服务器的特定行为|
    |From|用户的电子邮箱地址|
    |Host|请求资源所在服务器|
    |If-Match|比较实体标记(ETag)|
    |If-Modified-Since|比较资源的更新时间|
    |If-None-Match|比较实体标记(与If-Match相反)|
    |If-Range|资源未更新时发送实体Byte的范围请求|
    |If-Unmodified-Since|比较资源的更新时间(与If-Modified-Since相反)|
    |Max-Forwards|最大传输逐跳数|
    |Proxy-Authorization|代理服务器要求客户端的认证信息|
    |Range|实体的字节范围请求|
    |Referer|对请求中URI的原始获取方|
    |TE|传输编码的优先级|
    |User-Agent|传输编码的优先级|
  • 响应首部字段
    |首部字段名|说明|
    |---|---|
    |Accept-Ranges|是否接受字节范围请求|
    |Age|推算资源创建经过时间|
    |ETag|资源的匹配信息|
    |Location|令客户端重定向至指定URI|
    |Proxy-Authenticate|代理服务器对客户端的认证信息|
    |Retry-After|对再次发起请求的时机要求|
    |Server|HTTP服务器的安装信息|
    |Vary|代理服务器缓存的管理信息|
    |WWW-Authenticate|服务器对客户端的认证信息|
  • 实体首部字段: 针对请求报文和响应报文的实体部分使用的首部
    |首部字段名|说明|
    |---|---|
    |Allow|资源可支持的HTTP方法|
    |Content-Encoding|实体主体适用的编码方式|
    |Content-Language|实体主体的自然语言|
    |Content-Length|实体主体的大小(单位:字节)|
    |Content-Location|替代对应资源的URI|
    |Content-MD5|实体主体的报文摘要|
    |Content-Range|实体主体的位置范围|
    |Content-Type|实体主体的媒体类型|
    |Expires|实体主体过期的日期时间|
    |Last-Modified|资源的最后修改日期时间|

为 Cookie 服务的首部字段

    • Cookie服务的首部字段
      |首部字段名|说明|
      |---|---|
      |Set-Cookie|开始状态管理所使用的Cookie信息|
      |Cookie|服务器接收到的Cookie信息|
    • Set-Cookie字段的属性
      |首部字段名|说明|
      |---|---|
      |NAME=VALUE|赋予Cookie的名称和其值(必需项)|
      |expires=DATE|Cookie的有效期(若不明确指定则默认为浏览器关闭前为止)|
      |path=PATH|将服务器上的文件目录作为Cookie的适用对象(若不指定则默认为文档所在的文件目录)|
      |domain=域名|作为Cookie适用对象的域名(若不指定则默认为创建Cookie的服务器的域名)|
      |Secure|仅在HTTPS安全通信时才会发送Cookie|
      |HttpOnly|加以限制,使Cookie不能被JavaScript脚本访问|

Http学习(二)的更多相关文章

  1. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  2. ReactJS入门学习二

    ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...

  3. TweenMax动画库学习(二)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  4. Hbase深入学习(二) 安装hbase

    Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...

  5. Struts2框架学习(二) Action

    Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...

  6. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  7. Quartz学习--二 Hello Quartz! 和源码分析

    Quartz学习--二  Hello Quartz! 和源码分析 三.  Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...

  8. SpringCloud学习(二):微服务入门实战项目搭建

    一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...

  9. DjangoRestFramework学习二之序列化组件、视图组件 serializer modelserializer

      DjangoRestFramework学习二之序列化组件.视图组件   本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组 ...

  10. SpringMVC入门学习(二)

    SpringMVC入门学习(二) ssm框架 springMVC  在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...

随机推荐

  1. ubuntu下网页视频或音频无法播放

    有时,网页的音频或视频内容在 Firefox 下无法正常下载和播放.所需的插件没找到.过期.被阻止.和其他插件或扩展冲突,或者是内容由于某种原因被阻止.本文会帮助你解决这些问题. Flash 插件 F ...

  2. openwrt redis

    2071 make V=s 2072 cd build_dir/target-x86_64_uClibc-0.9.33.2/root-x86/ cd package/network/services/ ...

  3. Batch - FOR /F Delims 和 Tokens 用法

    原文地址: for /f命令之—Delims和Tokens用法&总结 作者:别逗了好么 在For命令语踞饽参数F中,最难理解的就是Delims和Tokens两个选项,本文简单的做一个比较和总拮 ...

  4. Flume详解

    Flume是一种分布式,可靠且可用的服务,用于有效地收集,聚合和移动大量日志数据.它具有基于流数据流的简单灵活的架构.它具有可靠的可靠性机制和许多故障转移和恢复机制,具有强大的容错性.它使用简单的可扩 ...

  5. paper 15 :整理的CV代码合集

    这篇blog,原来是西弗吉利亚大学的Li xin整理的,CV代码相当的全,不知道要经过多长时间的积累才会有这么丰富的资源,在此谢谢LI Xin .我现在分享给大家,希望可以共同进步!还有,我需要说一下 ...

  6. NX二次开发-获取切换按钮的当前状态UF_MB_ask_toggle_state

    NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...

  7. iOS 点击Application icon加载推送通知Data

    今天做APNS远程推送通知遇到了一个问题,就是手机接收到通知的时候,如果马上点击通知的 alert view时候,系统马上唤醒你的Application,通知或调用你的didReceiveLocalN ...

  8. IntelliJ + Maven + 内Jetty 实现热部署项目

    部署的好处:代码修改后,不必关闭Jetty再重新启动,Maven启动时间不太和谐. 环境: IntelliJ IDEA11.1.4, Maven2.2.1 Jetty8.1.5 步骤: 1,在pom. ...

  9. P1655 小朋友的球

    P1655 小朋友的球 题目描述 @发源于 小朋友最近特别喜欢球.有一天他脑子抽了,从口袋里拿出了N个不同的球,想把它们放到M个相同的盒子里,并且要求每个盒子中至少要有一个球,他好奇有几种放法,于是尝 ...

  10. 『BASH』——Learn BashScript from Daniel Robbins——[003]

    ABSTRACT: Daniel Robbins is best known as the creator of Gentoo Linux and author of many IBM develop ...