走近HTTP协议

 HTTP协议概念

如果问什么是HTTP协议,很多人都可以很轻松的回答出“HTTP协议就是超文本传输协议啊”。可是再往深了追问,什么是超文本?什么是传输协议?怎么传输的?可能有的人就不知其所以然了,至少在我着手开始系统的整理HTTP协议之前,对这些概念是不完全清晰的。

什么是协议?

生活中的协议其实随处可见,毕业时要和学校、实习公司签三方协议;租房要和中介、业主签租房协议,到公司入职了,要签订保密协议等等。这都是协议,简单来说协议是至少有两个参与者,大家都得遵守,如果不遵守的话,就得付出一些代价,至少有的事儿就办不成了,那么 _“传输协议"_ 指的就是在计算机网络上用来传输数据的规范,当然这个约定是由很权威的机构协商制定的一个标准,比如微软、谷歌等。有了这个标准之后,网络世界就和谐多了,我按照这个标准发送数据,你接收到数据之后按照这个标准去解析,解析完就能看懂我发的是啥,要是不按照这个标准去解析数据,就看不懂。

超文本又是什么?

在互联网早期,网络上大多数信息都是以文本的形式展示的,但是有些文本(各种标签)对于浏览器来说是有着特殊含义的,这就是我们今天在网页上看到各种各样的布局的原因,所以这里的超文本指的就是HTML、和XHTML中的"HT"-超文本(HyperText).这是一开始HTTP协议的由来,但是今天,各种音视频、图片都在网络上出现了,大都同样需要使用HTTP协议进行传输,所以今天的超文本的含义应该不再局限于HTML了。

 HTTP的前世今生

诞生

在20世纪60年代,美国国防部高等研究计划署(ARPA)建立了ARPA网,有四个分布在各地的节点,这是如今互联网的始祖。在70年代时,基于对ARPA网络的实践和思考,研究人员发明出了著名的TCP/IP协议,由于具有良好的分层结构和稳定性能,TCP/IP协议迅速发展起来,在80年代进入了UNIX系统的内核,促进了今天的互联网技术。

1989年,欧洲核子研究中心的蒂姆-博纳斯-李发表了一篇论文,提出了在互联网上构建超链接文档系统的构想,在这篇文档中确立了三项关键的技术:URI、HTML、HTTP,这些技术在今天看起来不足为奇,可是在当时确实创世纪的发明,基于这些,可以把超文本系统完美的运行在互联网上,和世界各地的人共享信息,蒂姆把这个系统称为万维网(Word Wide Web).就是今天的web。

HTTP/0.9在1990年代诞生,当时互联网很简单,网络上的信息大部分都是文本形式,蒂姆最初认为网络上的文档都是只读的,所以只允许使用GET请求服务器上的HTML。并且在请求完成之后,立即关闭链接。功能很有限。

HTTP/1.0

在1993年前后,技术进一步发展,图片格式、MP3格式、Mosaic(第一个图文混排的浏览器)、Apache服务也相继被发明出来,基于这些技术,大家对HTTP协议的需求变得更迫切,促进了HTTP协议的发展,于是HTTP/1.0版本在1996年正式发布,虽然这是初期的一个版本,但是和今天的HTTP协议差别不大:

* 增加了HEAD、POST等方法

* 增加了响应状态码

* 引入了协议版本号的概念

* 引入HTTP Header的概念

* 数据不再局限于文本

HTTP/1.1

这是一个HTTP协议的标准,在现在都有很多公司都在使用,它的诞生颇有些悲壮的气息,在1995年网景和微软开始了注明的"浏览器"大战,都希望在互联网上占据主导地位,这场战斗最后IE取得了决定性的胜利。这场战役的是非成败并非我们关心的,姑且放在一边,重要的是它再一次极大的推动了Web技术的发展,HTTP/1.0在这个过程中经受了实践的检验。于是在1999年,大战结束后,HTTP/1.1正式发布。HTTP1.1的发布,互联网世界有了一个标准,意味着在今后互联网上所有的浏览器、服务器、网关代理等,只要是用到了HTTP协议,就必须严格遵守这个标准,相当于互联网世界的立法。

HTTP/1.1和HTTP/1.0的主要区别是:

* 增加了PUT、DELETE请求方式(到目前为止HTTP协议支持:GET、POST、PUT、HEAD、DELETE请求)

* 增加了缓存管理和控制

* 明确链接管理、支持长连接

* 允许响应数据分块(CHUNKED),利于大文件传输

* 强制要求Host头

在HTTP/1.1被推出后,诞生了很多知名互联网公司:Google、新浪、搜狐、网易、腾讯等

HTTP/2

基于HTTP/1.1诞生了很多互联网公司,可是随着互联网的发展、用户的暴增,HTTP/1.1慢慢显得力不从心,主要就是连接慢,无法跟上迅猛发展的互联网。但是HTTP/1.1作为标准仍然岿然不动。终于有一天,Google无法忍受了,首先开发了Chrome浏览器,然后又推出了SPDY协议,并在Chrome里应用自家的服务器,依仗用户数量的优势,掀起了第二次浏览器大战的序幕。不过这次胜利者是Google,Chrome在全球占有率超过60%。Google借此把SPDY推上了标准的宝座,互联网标准组织以SPDY为基础开始制定新版本的HTTP协议。最终在2015年发布,即HTTP/2.

HTTP/2充分考虑了当今互联网的现状,带宽、移动、不安全等情况,在高度兼容HTTP/1.1的同时在性能改善方面做了很大的努力。主要有以下几点:

* 二进制协议,不再仅仅是纯文本

* 可以同时发起多个请求,废弃HTTP/1.1的管道

* 使用专用的压缩算法压缩头部,减少数据传输

* 允许服务器推送数据

* 增加了安全性

 HTTP/3

在HTTP/2还处于萌芽状态时,Google发明了一个新的协议:QUIC,当然QUIC禁住了现实的考验,在2018年,互联网标准组织提议将HTTP over QUIC 更名为HTTP/3并获得批准,HTTP/3正式进入了标准制定阶段。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342