Http学习(二)

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

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脚本访问|
时间: 2024-10-22 09:29:05

Http学习(二)的相关文章

[Python 学习] 二、在Linux平台上使用Python

这一节,主要介绍在Linux平台上如何使用Python 1. Python安装. 现在大部分的发行版本都是自带Python的,所以可以不用安装.如果要安装的话,可以使用对应的系统安装指令. Fedora系统:先以root登入,运行 yum install python Ubuntu系统:在root组的用户, 运行 sudo apt-get install python 2. 使用的Python的脚本 Linux是一个以文件为单位的系统,那么我们使用的Python是哪一个文件呢? 这个可以通过指令

OpenCV for Python 学习 (二 事件与回调函数)

今天主要看了OpenCV中的事件以及回调函数,这么说可能不准确,主要是下面这两个函数(OpenCV中还有很多这些函数,可以在 http://docs.opencv.org/trunk/modules/highgui/doc/user_interface.html 找到,就不一一列举了),然后自己做了一个简单的绘图程序 函数如下: cv2.setMouseCallback(windowName, onMouse[, param]) cv2.createTrackbar(trackbarName,

Makefile持续学习二

Makefile概述 一.Makefile里有什么? Makefile里主要包含5个东西:显式规则.隐晦规则.变量定义.文件指示和注释 1.显式规则:显式规则说明如恶化生成一个或多的目标文件,包含要生成的文件,文件的依赖文件,生成的命令 2.隐晦规则:由make自动推动功能完成 3.变量定义:变量一般都是字符串,类似C语言中的宏定义,当Makefile被执行时,其中的变量都会被扩展到相应的引用位置上 4.文件指示: 在一个Makefile中引用另一个Makefile 根据某些情指定Makefil

redis ruby客户端学习( 二)

接上一篇redis ruby客户端学习( 二) 对于redis的五种数据类型:字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets),上一篇介绍了字符串. 1,哈希(Map) hset.设置 key 指定的哈希集中指定字段的值.如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联.如果字段在哈希集中存在,它将被重写. require "redis" r = Redis.new r.hset 'my_h

Duilib学习二 第一个程序 Hello World

Duilib学习二  第一个程序 Hello World #pragma once #include <UIlib.h> using namespace DuiLib; #ifdef _DEBUG # ifdef _UNICODE # pragma comment(lib, "DuiLib_ud.lib") # else # pragma comment(lib, "DuiLib_d.lib") # endif #else # ifdef _UNICOD

Jquery Easy UI初步学习(二)datagrid的使用

第一篇学的是做一个管理的外框,接着就是数据datagrid绑定了,这里我用asp.net mvc3来做的,主要就是熟悉属性.方法. 打开easyui的demo 就可以看到如下一段代码: 和上篇一样class="easyui-datagrid", data-options="...",这是一样的,其他我在网上查了查,并做了整理 DataGrid 属性 参数名 类型 描述 默认值 title string Datagrid面板的标题 null iconCls strin

Oracle学习(二):过滤和排序

1.知识点:可以对照下面的录屏进行阅读 SQL> --字符串大小写敏感 SQL> --查询名叫KING的员工信息 SQL> select * 2 from emp 3 where ename = 'KING'; SQL> --日期格式敏感 SQL> --查询入职日期为17-11月-81的员工 SQL> select * 2 from emp 3 where hiredate='17-11月-81'; --正确例子 SQL> ed 已写入 file afiedt.b

Jetty学习二:配置概览-怎么配置Jetty

Jetty POJO配置 Jetty的核心组件是Plain Old Java Objects(POJOs):配置Jetty的大部分工作就是在Jetty POJOs上的初始化.装配和设置域的处理,你能通过以下的方式来实现:  1)直接通过Java代码初始化和装配Jetty对象.这个在后面Embedding Jetty讲. 2)用Jetty XML配置(一个控制反转(IoC)框架)初始化和装配Jetty对象.etc/jetty.xml文件是基本的Jetty XML配置文件,但有一些其它的etc/je

nodejs学习二 深入了解console

上一篇我们用console.log编写了第一个程序,虽然如此简单.那么我就从它来说说Node.js中的对象. 对于学过Java .net 的人来说,对象这个词应该都很亲切,如果不觉得亲切,还是先学习一下面向对象. 我们编程中,一切皆对象.你可以把任何一个东西当做对象. 然而,Node.js中也存在对象,而console也是一种对象.既然是对象,他应该有公有的方法.正如你所看到的,log就是它的方法,貌似还是静态的. 那么console中有哪些方法呢,那我们就让他输出一下吧. 噢,原来consol

JBPM学习(二):ProcessEngine与Service API

1.获取processEngine的方法: a) 方法一 private ProcessEngine processEngine = new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine(); b) 方法二 // 获取单例的ProcessEngine对象,使用的是默认的配置文件(jbpm.cfg.xml) private ProcessEngine processEngine = Configuration