• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > HTTP 首部字段详细介绍,首部字段详细介绍

HTTP 首部字段详细介绍,首部字段详细介绍

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了http首部,tcp报文首部的字段,水肥一体化首部系统,农业灌溉首部系统,魔戒首部曲 魔戒现身等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

HTTP 首部字段详细介绍,首部字段详细介绍


本文是HTTP解析系列第二篇,如果对http协议不是很了解,可以选去看第一篇:带新手走进神秘的HTTP协议,本文主要是对Http的首部字段进行详细解析。

HTTP 协议的请求和响应报文中必定包含 HTTP 首部,只是我们平时在使用 Web 的过程中感受不到它。本章 我们一起来学习 HTTP 首部的结构,以及首部中各字段的用法。

6.1 HTTP 报文首部

首部内容为客户端和服务器分别处理请求和响应提供 所需要的信息。对于客户端用户来说,这些信息中的大部分内容都无须亲自查看。

HTTP 请求报文

在请求中,HTTP 报文由方法、URI、HTTP 版本、HTTP 首部字段等部分构成。

下面的示例是访问 http://hackr.jp 时,请求报文的首部信息。

GET / HTTP/1.1 
Host: hackr.jp 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*; q=0.8 
Accept-Language: ja,en-us;q=0.7,en;q=0.3 
Accept-Encoding: gzip, deflate DNT: 1 
Connection: keep-alive 
If-Modified-Since: Fri, 31 Aug 2007 02:02:20 GMT 
If-None-Match: "45bae1-16a-46d776ac" 
Cache-Control: max-age=0

HTTP 响应报文
在响应中,HTTP 报文由 HTTP 版本、状态码(数字和原因短语)、HTTP 首部字段 3 部分构成。

图:响应报文 
以下示例是之前请求访问 http://hackr.jp/ 时,返回的响应报文的首部信息。

HTTP/1.1 304 Not Modified 
Date: Thu, 07 Jun 2012 07:21:36 GMT 
Server: Apache 
Connection: close 
Etag: "45bae1-16a-46d776ac" 

在报文众多的字段当中,HTTP 首部字段包含的信息最为丰富。首部字段同时存在于请求和响应报文内,并涵盖 HTTP 报文相关的内容信息。
因 HTTP 版本或扩展规范的变化,首部字段可支持的字段内容略有不同。本书主要涉及 HTTP/1.1 及常用的 首部字段。

6.2 HTTP 首部字段

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

6.2.1 HTTP 首部字段结构

HTTP 首部字段是由首部字段名和字段值构成的,中间用冒号“:” 分隔。

  首部字段名: 字段值

例如,在 HTTP 首部中以 Content-Type 这个字段来表示报文主体的对象类型。

Content-Type: text/html

就以上述示例来看,首部字段名为 Content-Type,字符串 text/html 是字段值。
另外,字段值对应单个 HTTP 首部字段可以有多个值,如下所示。

Keep-Alive: timeout=15, max=100

注意:若 HTTP 首部字段重复了会如何?
当 HTTP 报文首部中出现了两个或两个以上具有相同首部字段名时会怎么样?这种情况在规范内尚未明确,根据浏览器内部处理逻辑的不同,结果可能并不一致。有些浏览器会优先处理第一次出现的首部字段,而有些则会优先处理最后出现的首部字段。

6.2.2   4 种 HTTP 首部字段类型

HTTP 首部字段根据实际用途被分为以下 4 种类型:
通用首部字段(General Header Fields)
请求报文和响应报文两方都会使用的首部。
请求首部字段(Request Header Fields)
从客户端向服务器端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。
响应首部字段(Response Header Fields)
从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息。
实体首部字段(Entity Header Fields)
针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体有关的信息。

6.2.3 HTTP/1.1 首部字段一览

HTTP/1.1 规范定义了如下 47 种首部字段。
表 6-1:通用首部字段

表 6-2:请求首部字段

首部字段名                  说明
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                   HTTP 客户端程序的信息

表 6-3:响应首部字段 

首部字段名                     说明
Accept-Ranges             是否接受字节范围请求
Age                               推算资源创建经过时间
ETag                              资源的匹配信息
Location                        令客户端重定向至指定URI
Proxy-Authenticate      代理服务器对客户端的认证信息
Retry-After                   对再次发起请求的时机要求
Server HTTP                  服务器的安装信息
Vary                              代理服务器缓存的管理信息
WWW-Authenticate     服务器对客户端的认证信息

表 6-4:实体首部字段

首部字段名                    说明
Allow                            资源可支持的HTTP方法
Content-Encoding       实体主体适用的编码方式
Content-Language      实体主体的自然语言
Content-Length           实体主体的大小(单位:字节)
Content-Location        替代对应资源的URI
Content-MD5              实体主体的报文摘要
Content-Range            实体主体的位置范围
Content-Type              实体主体的媒体类型
Expires                         实体主体过期的日期时间
Last-Modified              资源的最后修改日

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • HTTP 首部字段详细介绍,首部字段详细介绍

相关文章

  • 2017-05-26移动端web头部header通用写法
  • 2017-05-26Swift开发iOS应用(1)列表的实现
  • 2017-05-26安卓应用反编译(二)-APK包反编译浅析
  • 2017-05-26Android中使用Notification实现普通通知栏(Notification示例一),rest示例java实现
  • 2017-05-26我的第一篇博客,我试试怎么用,第一篇博客,试试
  • 2017-05-26android 浅谈Aidl 通讯机制,androidaidl
  • 2017-05-26Android事件分发
  • 2017-05-26手机影音10--音乐列表,影音10--列表
  • 2017-05-26Android Activity生命周期与启动模式,androidactivity
  • 2017-05-26去除GridView选中时的蓝色背景,gridview选中蓝色

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • redis一例连接池连接不上的故障及解决
    • 硅谷新闻4--解决页签手指按下从左到右滑动的bug,硅谷4--
    • Android开发学习-view,android开发-view
    • Android Studio(Mac版本)最常用的快捷键
    • 浅谈Kotlin(一):简介及Android Studio中配置,kotlinandroid
    • 硅谷新闻8--TabLayout替换ViewPagerIndicator,tablayoutindicator
    • Android中AIDL详解
    • 一个规范的自定义View——Android开发艺术探索笔记
    • Android源码基础解析之Activity布局绘制流程
    • pull解析器: 反序列化与序列化,pull序列化

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有