今天我们能够在网络中畅游,随时通过网络获取资源、信息,都得益于一位计算机科学家蒂姆·伯纳斯·李的构想。1991年8月6日,蒂姆·伯纳斯·李在位于欧洲粒子物理研究所(CERN)的NeXT计算机上,正式公开运行世界上第一个Web网站(http://info.cern.ch),建立起基本的互联网基础概念和技术体系,由此开启了网络信息时代的序幕。

万维网www构想的诞生

1989 年 3 月 12 日,欧洲粒子物理研究所(CERN)的计算机科学家蒂姆·伯纳斯·李在其一份提案《Information Management: A Proposal》中提出了一个构想:创建一个以超文本系统为基础的项目,允许在不同计算机之间分享信息,其目的是方便研究人员分享及更新信息。这个构想最终成了WWW(World Wide Web)万维网的基础,彻底改变了人类社会的沟通交流方式。

伯纳斯·李的提案包含了网络的基本概念并逐步建立了所有必要的工具:

提出HTTP (Hypertext Transfer Protocol) 超文本传输协议,允许用户通过单击超链接访问资源;

提出使用HTML超文本标记语言(Hypertext Markup Language)作为创建网页的标准;

创建了统一资源定位器URL (Uniform Resource Locator)作为网站地址系统,就是沿用至今的http://www URL格式;

创建第一个Web浏览器,称为万维网浏览器,这也是一个Web编辑器;

创建第一个HTTP 服务器软件,后来称为CERN httpd;

创建第一个Web服务器(http://info.cern.ch)以及描述项目本身的第一个Web页面。

不过这个提案在当时并没有引起人们的兴趣。1993年4月30日,欧洲粒子物理研究所(CERN)将万维网软件开源,发布了一个开放式许可证,使得万维网得到最大化的传播。但直到20世纪90年代中期吉姆·克拉克和马克·安德森在Netscape(网景通信公司)推广商业网页浏览这一概念后,万维网的应用才开始真正爆发。

HTTP协议的诞生和发展

超文本传输协议(HTTP)是应用层的一个协议,是万维网生态系统的核心。HTTP 协议采用 BS 架构,也就是浏览器到服务器的架构,客户端通过浏览器发送 HTTP 请求给服务器,服务器经过解析响应客户端的请求。

HTTP 是基于 TCP/IP 协议的应用层协议,在 OSI 七层模型中在最上层,它并不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。

HTTP 协议最早的一个版本是1991年发布的 HTTP/0.9,这个版本只有一个命令:GET。通过 GET 你可以获取服务器的资源,比如请求服务器根目录下的 index.html 文件。这个版本的协议规定,服务器只能回应HTML格式的字符串,不能回应别的格式,也就是说今天的图像、视频等多媒体资源,在 HTTP/0.9这个版本上是无法进行传输的。

1996年5月,HTTP/1.0 版本发布,增加了POST命令和HEAD命令,丰富了浏览器与服务器的互动手段。这个版本HTTP协议可以发送任何格式的内容,包括传输文字、图像、视频、文件,这为互联网的大发展奠定了基础。

HTTP/1.0 除了增加了请求方法以及对发送文件的支持之外,还增加了格式的改变。除了数据部分,每次通信都必须包括头信息(HTTP header),用来描述一些元数据。另外还增加了状态码、多字符集支持、多部分发送(multi-part type)、权限(authorization)、缓存(cache)、内容编码(content encoding)等等。

HTTP/1.0 版也并不是完美的,它的主要缺点是,每一次建立TCP连接只能发送一个请求。发送数据完毕,连接就关闭,如果还要请求其他资源,就必须再新建一个连接。如果多次请求,势必就会对服务器产生较大的资源性能损耗。

1997年1月,HTTP/1.1 版本发布,这个版本只比 1.0 版本晚了半年。这个版本最大的变化就是将持久化连接加入了 HTTP 标准,即TCP连接默认不关闭,可以被多个请求复用。此外,HTTP/1.1版还新增了许多方法,例如:PUT、PATCH、HEAD、 OPTIONS、DELETE。得到进一步完善的HTTP/1.1 版本,一直沿用至今。

HTTPS时代到来,提升Web安全性

HTTP协议的诞生主要是为了解决信息传递和共享的问题,并没有考虑到互联网高速发展后面临的安全问题,HTTP协议不具备任何数据加密、身份校验等机制,使用HTTP协议传递的数据以明文形式在网络中传输,任意节点的第三方都可以随意劫持流量、篡改数据或窃取信息,无法确保数据的保密性、完整性和真实性,已经不能适应现代互联网应用的安全需求。

1994年,Netscape创建了SSL协议的原始规范并逐步发布协议改进版本,1996年,Netscape和Paul Kocher共同设计发布SSL 3.0协议,获得互联网广泛认可和支持。因特网工程任务组(IETF)接手负责该协议,并将其重命名为传输层安全(TLS)协议。

SSL(Secure Sockets Layer ,安全套接层)介于应用层和TCP层之间,应用层数据不再直接传递给传输层而是传递给SSL层,SSL层对从应用层收到的数据进行加密,利用数据加密、身份验证和消息完整性验证机制,为网络上数据的传输提供安全性保证。

2014年起,谷歌开始计划在Chrome浏览器上针对HTTP协议的不安全性对用户发出警告,并逐步升级警告范围,最终目标是将所有HTTP网站标记红色“不安全”警告,推动网站迁移至更安全的HTTPS加密协议,FireFox、Safari等主流浏览器也纷纷加入行列。在最新版Chrome浏览器已经对所有HTTP网站标记“不安全”,并对需要输入字段的HTTP页面标记红色“不安全”警告。在浏览器的推动下,近两年全球网站HTTPS部署率持续上升,为创建安全、隐私的互联网环境打下良好基础。

下一代协议HTTP/2,仅支持HTTPS连接

HTTP/1.1版本已经广泛使用了十几年,不仅存在安全性的问题,在性能方面也存在一定的缺陷。虽然它允许复用TCP连接,但是同一个TCP连接里面,所有的数据通信是按次序进行的,服务器只有处理完一个回应,才会进行下一个回应,要是前面的回应特别慢,后面就会有许多请求排队等着,这就是队头堵塞(Head-of-line blocking或缩写为HOL blocking)。

为了解决这个问题,2009年谷歌公开了自行研发的 SPDY 协议,这个协议在Chrome浏览器上证明可行以后,就被当作 HTTP/2 的基础,主要特性都在 HTTP/2 之中得到继承。

2015年下一代协议——HTTP/2 协议发布(它不叫 HTTP/2.0是因为标准委员会不打算再发布子版本了)。HTTP/2增加了二进制分帧、多路复用、服务器推送(server push)、头部压缩等新特性。HTTP/2采用二进制格式传输数据(而非 HTTP 1.x 的文本格式),将请求和响应数据分割为更小的帧,并采用二进制编码,解析起来更高效,不再依赖 TCP 链接去实现多流并行,所有请求都是通过一个 TCP连接并发完成。HTTP/2的新特性使性能有了极大提升,同个域名只需要占用一个 TCP 连接,消除了因多个 TCP 连接而带来的延时和内存消耗。

值得注意的是,在开放互联网上HTTP/2 将只用于HTTPS加密连接,HTTP明文连接将继续使用HTTP/1协议,目的是在开放互联网上加强加密技术的应用,提升网络连接安全性,抵御网络劫持等安全威胁。

今年是互联网诞生30周年,未来的互联网将朝着更加安全、可信的方向去发展,其中离不开所有网络安全从业者和生态圈服务商的努力。

互联网诞生30周年,看HTTP和HTTPS的起源发展相关推荐

  1. 苹果第一台计算机的诞生的,纪念Mac诞生30周年:第一台Mac电脑深度拆解

    在苹果Mac电脑诞生30周年的纪念日上,iFixit(美国著名的拆解网站,以拆解时尚IT产品和提供苹果维修手册而闻名.)上的大婶们对一台1984年生产的苹果Macintosh 128KMac电脑进行了 ...

  2. 盖茨庆祝万维网诞生30周年 庆幸自己有机会影响数字革命

    [TechWeb]3月13日消息,今天,微软联合创始人比尔·盖茨通过微信公众号庆祝万维网诞生30周年. 盖茨写道,当数字革命刚开始起步时,我为自己还是个年轻人而感到庆幸,于是我和我的微软同事有机会帮助 ...

  3. 深圳30周年看×××之旅

    今晚深圳举行了30周年放×××活动,估计我是再次去火星旅游的缘故吧,下班前几分钟,才从朋友那里知道的.约好的和朋友在莲花山公园见面的(放×××的地方).可是,哎! 6点下班--6点10分出门等车--7 ...

  4. 京东回应拖欠神州 3 亿多元货款;苹果考虑将第三方浏览器和邮件设为默认;PS 诞生 30 周年| 极客头条...

    整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...

  5. 30 周年,Linux 成功的真正原因是什么?

    微信搜索逆锋起笔关注后回复编程pdf 领取编程大佬们所推荐的 23 种编程资料! 作者丨 Jeremy Andrews 译者丨屠灵 策划丨蔡芳芳 Linux 诞生于 1991 年,距今已经 30 年了 ...

  6. Python诞生30年,《流畅的Python》作者要来中国了

    说到 Python,相信很多 Python 开发者都读过<流畅的Python>这本书,此书为 PSF 研究员.知名 PyCon 演讲者 Luciano Ramalho 的心血之作,兼顾了 ...

  7. mac securecrt程序无响应_Adobe庆祝Photoshop问世30周年 为Mac和iPad版本提供新功能

    Adobe今天庆祝Photoshop诞生30周年,之前它已经在Mac和iPad上对该应用程序进行了多次更新.Mac上的一项重要新功能是支持MacOS Mojave和更高版本上的黑暗模式.Photosh ...

  8. 俄罗斯方块30周年 设计者忆当年

    新头壳newtalk2014.06.06 柯昱安/综合报导许多现代民众童年共同的记忆电玩俄罗斯方块,今(6)天欢庆诞生30周年,被誉为「俄罗斯方块之父」的俄罗斯籍程式设计者帕基特诺夫(Alexey P ...

  9. 互联网日报 | 小米11取消随机附送充电器;苏宁30周年发庆生红包;2021年全国两会召开时间确定...

    今日看点 ✦ 小米11取消随机附送充电器,响应科技环保号召 ✦ 苏宁30周年发庆生红包,Super会员最高100元直接到账 ✦ 特斯拉副总裁回应"质量不合格报道":文章编织离谱,已 ...

最新文章

  1. 【转】学习汇编前你应该知道的知识
  2. 大数据揭秘:北京每天这些道路“最红”
  3. python语言使用什么语句实现上下文管理协议_Python with语句上下文管理器两种实现方法分析...
  4. 通过History Trends Unlimited通过统计服务器上Edge浏览器Top10网页历史访问量(2021.11.23)
  5. [2021-09-09 T3] 序列/luogu P3943 星空(异或差分+bfs最短路+状压dp)
  6. arm32和arm64常用指令B BL BLX机器码计算
  7. PLSQL用DBMS_JOB建立作业
  8. 东华复试OJ-43 丑数
  9. 学生抗疫HTML网页设计作品 学生疫情网页模板 大学生抗疫感动专题网页设计作业 HTML学生抗疫网站作业设计
  10. 用计算机语言说我累了,我累了,真的好累(读到心酸)
  11. 微信公众号两种匹配模式(全匹配和半匹配)的区别。
  12. 3D场景建模学习必备的基础知识
  13. win7共享中心服务器运行失败,win7网络共享中心打不开怎么办
  14. 1-十八烷基-3-三乙氧基丙基硅烷咪唑溴盐离子液体([ODTIm]Br)修饰Fe3O4磁性纳米颗粒
  15. 20211218:口罩数据汇总
  16. 互联网巨头们为什么钟爱咖啡?
  17. configmap资源简介和应用
  18. 洛谷P1039侦探推理题解--zhengjun
  19. 计算机网络基本设备及网络拓扑图
  20. Linux 下使用 tplink wn823N 无线网卡

热门文章

  1. Redis各版本特性
  2. 【Linux系统与网络编程】15:Socket文件传输1
  3. AI女神,乘风破浪带头人!
  4. jeePlus+SpringBoot学习笔记
  5. 雷达原理与系统仿真实验 LFM信号的目标回波与脉冲压缩处理
  6. python中时间日期相减并转化为秒
  7. 解决ubuntu 18.04网易云音乐安装后无法打开的问题
  8. 使用mafft进行多序列比对
  9. 软件设计之耦合性与内聚性的区别
  10. dijkstra算法证明