HTTP参数解析

本文概述

  • HTTP版本
  • 实体标签
  • 日期/时间格式
  • 统一资源标识符(URI)
  • 字符集
  • 内容编码
  • 转移编码
  • 产品代币
在本节中, 我们将讨论各种HTTP参数及其语法。例如, 日期和时间格式, 字符集等。这些参数用于在编写客户端或服务器的HTTP程序时构造请求和响应消息。
HTTP的各种参数如下:
HTTP版本为了指示协议的版本, HTTP使用< major> 。< minor> 编号方案。协议版本控制策略允许发送方指示消息的格式及其理解进一步HTTP通信的能力。
HTTP版本字段中的第一行指示HTTP消息的版本。
句法
HTTP-Version= "HTTP" "/" 1*DIGIT "." 1*DIGIT


HTTP / 1.1

实体标签实体标签用于比较来自同一请求资源的两个或多个实体。
句法
entity-tag = [ weak ] opaque-tagweak = "W/"opaque-tag = quoted-string

实体标签在与特定资源关联的所有实体版本中必须是唯一的。
日期/时间格式日期/时间格式可以通过两种方式定义:
1)完整日期:
HTTP的所有日期/时间戳必须以格林威治标准时间(GMT)表示。 HTTP应用程序具有三种不同的格式来表示日期/时间戳:
Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036Sun Nov6 08:49:37 1994 ; ANSI C's asctime() format

在HTTP中, GMT完全等于UTC(世界标准时间), 在前两种格式中通过包含“ GMT”来表示。
2)三角洲秒
HTTP标头的某些字段允许使用时间值, 该时间值指定为整数秒数, 该时间值将在接收到消息的时间之后以十进制表示。
delta-seconds = 1*DIGIT

统一资源标识符(URI)URI是格式简单的不区分大小写的字符串, 其中包含用于标识网站或Web服务器的名称, 位置等。
句法:
http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

这里,
  • “ http”方案用于通过HTTP协议定位网络资源。
  • 如果端口为空, 则假定端口为80。如果abs_path为空, 则等效于aabs_pathof“ /”。 “不安全”和“保留”集中的字符等同于其“ %% HEX HEX”编码。
  • 主机名的比较必须不区分大小写。
例:
http://abc.com:80/~smith/home.htmlhttp://ABC.com/%7Esmith/home.htmlhttp://ABC.com:/%7esmith/home.html

字符集字符集用于指定用户喜欢的字符集。使用逗号, 可以分隔多个字符集。 HTTP字符集使用不区分大小写的标记来标识。
charset = token


ISO-8859-1Or US-ASCII

内容编码内容编码值用于显示已应用于实体的编码转换。首先, 内容编码用于允许对文档进行压缩或转换而不会丢失信息。在内容编码中, 实体以编码形式存储, 直接传输, 并且只有其编码的接收者。
content-coding= token

内容编码的所有值都不区分大小写。在“接受编码”和“内容编码”标头字段中, HTTP / 1.1使用内容编码值。

Accept-encoding: gziporAccept-encoding: compress

转移编码传输编码的值用于指示已应用于实体以确保通过网络的“安全传输”的编码转换。传输编码与内容编码不同。传输编码是消息的属性, 而不是原始实体。
句法:
transfer-coding = "chunked" | transfer-extensiontransfer-extension = token *( "; " parameter )

在传输编码中, 参数采用属性/值对的形式。
例:
Parameter = attribute "=" valueAttribute = tokenValue = http://www.srcmini.com/token | quoted-string

传输编码的所有值都不区分大小写。
产品代币产品令牌使通信应用程序可以通过软件的版本和名称来标识自己。产品令牌应指向重点且简短。
句法
product = token ["/" product-version]product-version = token

【HTTP参数解析】
User-Agent: CERN-LineMode/2.15 libwww/2.17b3Server: Apache/0.8.4

    推荐阅读