HTTP
版本
- 使用“
<major>
.<minor>
”数字模式来指明协议的版本号。
- 版本号代表了发送端发送消息的格式和能力。
HTTP
版本号是当前应用程序应该遵循的最低版本。
- 当代理或者网关转发消息的协议版本和应用程序本身的版本时,要么是降低版本号(当版本号高的时候),要么返回一个错误响应。
通用资源标识(URI
)
- 通用资源标识可以理解为简单的格式化字符(包含名称、位置或其他特征)识别一个资源。
HTTP
协议不对URI
的长度做限制,所以当服务器不能处理太长的URI的时候,服务器会返回状态码414。
HTTP URL
http_URL = "http:""//"host[":"port][abs_path["?"query]]
日期/时间格式
- 只能用
RFC1123
定义的日期格式来填充头部里用到HTTP-date的地方,仅仅应用在协议流的使用,不必把这种格式用于面向用户的页面以及日志记录。
字符集
HTTP
字符集的标记是不区分大小写的,所有的标记由IANA
字符集注册机构定义
charset=token
媒体类型
- 为了提供开放可扩展的数据类型,
HTTP
在content-type
和accept
请求头增加了网络媒体类型(Media Type
)
media-type = type/subtype
产品标记
product = token/product-version
product-version = token
//例如
User-Agent: Mozilla/5.0 (Macintosh
质量值
HTTP
内容协商运用短浮点数字来标识不同协商参数的相对重要性。
- 这些值仅仅表示相对等级。
语言标签
language = primary-tag(-subtag)
en,en-US
实体标签(Entity Tags
)
- 用于比较相同请求资源中两个或更多实体。
- 在一个特定资源的所有实体版本里,一个实体标签必须唯一。一个给定的试题标签值可以被用于不同的
URI
请求的实体。相同实体标签的值用用于不同URI请求的实体,并不意味着这些实体是等价的。
HTTP/1.1
在ETag
、if-match
、if-none-match
和if-Rang
中运行实体标签
范围单位
HTTP/1.1
中定义的唯一的范围单位是bytes
。可能忽略其他单位指定的范围。
HTTP/1.1
允许应用程序实现不依赖于范围单位。
总结
- 重新看
HTTP
的参数,能发现其中的很多知识都可以和其他知识联系起来。
- 欢迎点赞、评论