📅  最后修改于: 2021-01-03 03:03:05             🧑  作者: Mango
在本节中,我们将讨论各种HTTP参数及其语法。例如,日期和时间格式,字符集等。这些参数用于在编写客户端或服务器的HTTP程序时构造请求和响应消息。
HTTP的各种参数如下:
为了指示协议的版本,HTTP使用
HTTP-Version字段的第一行指示HTTP消息的版本。
句法
HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT
例
HTTP / 1.1
实体标签用于比较来自同一请求资源的两个或多个实体。
句法
entity-tag = [ weak ] opaque-tag
weak = "W/"
opaque-tag = quoted-string
实体标签在与特定资源关联的所有实体版本中必须是唯一的。
日期/时间格式可以通过两种方式定义:
1)完整日期:
HTTP的所有日期/时间戳都必须以格林威治标准时间(GMT)表示。 HTTP应用程序具有三种不同的格式来表示日期/时间戳:
Sun, 06 Nov 1994 08:49:37 GMT ; RFC 822, updated by RFC 1123
Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
Sun Nov 6 08:49:37 1994 ; ANSI C's asctime() format
在HTTP中,GMT完全等于UTC(世界标准时间),在前两种格式中通过包含“ GMT”来表示。
2)三角洲秒
HTTP标头的某些字段允许使用时间值,该时间值指定为整数秒数,该时间值将在接收到消息的时间之后以十进制表示。
delta-seconds = 1*DIGIT
URI是格式简单的不区分大小写的字符串,其中包含用于标识网站或Web服务器的名称,位置等。
句法:
http_URL = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]
这里,
例:
http://abc.com:80/~smith/home.html
http://ABC.com/%7Esmith/home.html
http://ABC.com:/%7esmith/home.html
字符集用于指定用户喜欢的字符集。使用逗号,可以分隔多个字符集。 HTTP字符集使用不区分大小写的标记来标识。
charset = token
例
ISO-8859-1
Or
US-ASCII
内容编码值用于显示已应用于实体的编码转换。首先,内容编码用于允许对文档进行压缩或转换而不会丢失信息。在内容编码中,实体以编码形式存储,直接传输,并且只有其编码的接收者。
content-coding = token
内容编码的所有值都不区分大小写。在“接受编码”和“内容编码”标头字段中,HTTP / 1.1使用内容编码值。
例
Accept-encoding: gzip
or
Accept-encoding: compress
传输编码的值用于指示已应用于实体以确保通过网络的“安全传输”的编码转换。传输编码与内容编码不同。传输编码是消息的属性,而不是原始实体。
句法:
transfer-coding = "chunked" | transfer-extension
transfer-extension = token *( ";" parameter )
在传输编码中,参数采用属性/值对的形式。
例:
Parameter = attribute "=" value
Attribute = token
Value = token | quoted-string
传输编码的所有值都不区分大小写。
产品令牌使通信应用程序可以通过软件的版本和名称来标识自己。产品令牌应指向重点且简短。
句法
product = token ["/" product-version]
product-version = token
例
User-Agent: CERN-LineMode/2.15 libwww/2.17b3
Server: Apache/0.8.4