1994 年后,万维网的高速发展使得人们有了更多的需求,浏览器中也不光是展示 html 文件,还包括 JS, 各种图片, CSS, 音频, 视频等
只能传送单一 html 文件的 HTTP/0.9 显然已经不能适用于新型网络的发展
所以,HTTP/1.0 诞生了
那么 HTTP/1.0 是如何兼容这些新的需求的?在 HTTP/1.0 中,引入了请求头和响应头,以便客户端和服务器可以更深入的交流
- 请求头和响应头中的值都是以 Key-Value 的形式保存的
- 在请求头中,客户端告诉服务器端,它期望服务器返回的数据的一些属性,然后服务器端根据请求头准备响应数据
- 在响应头中,服务器告诉浏览器,它返回的数据的一些属性,然后浏览器根据响应头来处理数据
举个例子
request header:
accept: text/html
accept-encoding: gzip, deflate, br
accept-Charset: ISO-8859-1, utf-8
accept-language: zh-CN, zh
- 第一行表示期望服务器返回 html 类型的文件
- 第二行表示期望服务器可以采用 gzip、deflate 或者 br 其中的一种压缩方式
- 第三行表示期望返回的文件编码是 utf-8 或者 ISO-8859-1
- 第四行是表示期望页面的优先语言是中文
response header:
content-encoding: br
content-type: text/html; charset = utf-8
- 第一行表示服务器用了 br 的压缩方法
- 第二行表示服务器返回的是 html 文件,并且编码类型是 utf-8
HTTP/1.0 除了对多文件提供了良好的支持,还引入了一些其他的特性:
- 状态码
- Cache机制
- 用户代理字段
- 服务器需要统计客户端的基础信息,比如 Windows 和 macOS 的用户数量分别是多少
网友评论