这里的Web指的是万维网,就是World Wide Web.
文档和静态资源 通过URL组织
Tim Berners Lee (TimBL) 于1989发明这个概念,这丫55年出生,和我父亲一般大。
就在当年,他还实现了第一个HTTP协议
他是World Wide Web Consortium (W3C)的director (94年成立). 负责管理Web开发进程。制定标准啥的。
他也是WWW Foundation的创始人。MIT人工智能实验室的高级研究员。
2011年被提名为福特基金会的董事会成员。
2016年获取图灵奖。
生于伦敦, 在CERN工作
ENQUIRE -> hypertext -> (TCP & DNS)
第一个浏览器WorldWideWeb 跑在NeXTSTEP系统上。第一个Web Server是CERN HTTPd.
第一个网页:http://info.cern.ch/hypertext/WWW/TheProject.html
2009年Tim BL承认web地址的两个斜杠是没必要的。
2016年进入牛津的一个计算机科学部门做教授。
35岁结婚,56岁离婚。快60了和一个女的结婚,这女的是WWW FOUNDATION的director,在哈佛学习。原来是世界经济论坛的理事会主席,也是一个牛人。
从小不信教,老了又开始信宗教。

HTTP又是啥?
其实就是基于WWW的数据传输协议。交换和传输超文本。
也是Tim BL最开始搞出来的玩意。
互联网发布的条文标准叫RFC (Request for Comments)
http 1.1就是在1997年发布在RFC 2068文档。 后面被RFC2616否掉,再后面RFC7230
HTTP2指定在2015年。现在基本的web server都支持了
它默认是基于TCP的可靠协议,但也能被用于UDP,茹HTTPU或者Simple Service Discovery Protocol。

HTTP1.1是1.0的修订版,1.0中每个资源请求都会产生一个独立的连接。但是在1.1中,连接可以被复用多次(keep alive)。针对图片,脚本或者样式等。

最早的版本(HTTP v0.9, 1991年)只支持get请求,只返回HTML页面。
HTTP1.0是1995年 由HTTP Working Group搞出来的,记录在RFC1945. 发布于1996年。
1996年发布了预先http 1.1的标准,网景,IE和很多浏览器就开始支持。
1996年互联网开始迅猛发展
2014年有6个关于HTTP 1.1的部分被否决,包括
消息语义和路由,语义和内容,条件请求,范围请求,缓存,验证。
HTTP2则发布于 2015年5月份, RFC7540.

既然说到了HTTP,那就说说HTTP2
开发自谷歌的一个SPDY网络协议。 RFC7540.
支持的浏览器厂商 Chrome, Opera,firefox,IE 11, Safari,Amazon Silk,Edge。
最新数据表示,13%的网站都支持HTTP 2 了
兼容1.1,降低延时。提升性能。方法包括:

  • HTTP 头里指定数据压缩
  • HTTP2 服务推
  • 请求pipeline
  • 解决首行阻塞的问题
  • 多个不同的请求重用同一个tcp连接。
    遇到过一些阻碍和批评,比如变得复杂了,违反了分层原则,等。

闲扯淡笔记 - Web的历史的更多相关文章

  1. Update(stage3):第1节 redis组件:1 - 3、web发展历史以及redis简介

    Redis课程教案 1. NoSQL数据库的发展历史简介 1.web系统的变迁历史 web1.0时代简介 基本上就是一些简单的静态页面的渲染,不会涉及到太多的复杂业务逻辑,功能简单单一,基本上服务器性 ...

  2. web前端历史的总结

    1.早期的前后一体,前端和后端是一个整体. 2.早期的后端mvc概念,前端只是后端mvc里面的视图层 (laravel就是mvc) 3.ajax技术改变了一切 2004年 Gmail 2005Goog ...

  3. [读书笔记] Web 前端开发修炼之道

    原创地址:http://www.cnblogs.com/bnbqian/p/3735565.html 转载请注明出处 今天我们要读的书是Web 前端开发修炼之道 第1章 从网站重构说起 1.1 糟糕的 ...

  4. 闲扯淡json格式与对象

    在这里推荐使用http://json.tongxiehui.net/ 这个在线解析jso格式 JSON 语法是 JavaScript 对象表示语法的子集. 数据在名称/值对中 数据由逗号分隔 花括号保 ...

  5. 《ASP.NET MVC4 WEB编程》学习笔记------Web API 续

    目录 ASP.NET WEB API的出现缘由 ASP.NET WEB API的强大功能 ASP.NET WEB API的出现缘由 随着UI AJAX 请求适量的增加,ASP.NET MVC基于Jso ...

  6. 《ASP.NET MVC4 WEB编程》学习笔记------Web API

    本文截取自情缘 1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集 ...

  7. [学习笔记] Web设计过程中该做和不该做的

    原文网址: http://www.javascriptstyle.com/the-dos-and-donts-of-web-design -该做的: QR代码QR代码即快速响应代码,这是矩阵条形码的一 ...

  8. [html] 学习笔记--Web存储

    HTML5 提供了两种在客户端存储数据的新方法之前,这些都是由 cookie 完成的.但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效 ...

  9. JavaScript 学习笔记 - Web Workers

    前言 本文仅是 Web Workers 的入门科普文章,不涉及太琐碎的知识点. 我们知道,在 Web Workers 出来之前,JavaScript 是单线程的.即使是 setTimeout 之类的看 ...

随机推荐

  1. 来自MSDN的RibbonGadgets练习

    来自MSDN的RibbonGadgets练习 RibbonGadgets是少见的来自官方的资源. 如果选择Menu Items = 集合,则会有向下的小箭头,同时会出现下来菜单. 这个都关系叫做gal ...

  2. linux内核分析第三周-跟踪分析Linux内核的启动过程

    一.实验流程 1.打开环境 执行命令:cd LinuxKernel/ 执行命令:qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd root ...

  3. StringBuffer类的常用方法

    StringBuffer类和String一样,也用来代表字符串.只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存 ...

  4. slf4j log4j logback相关用法

    Java的简单日志门面( Simple Logging Facade for Java SLF4J)作为一个简单的门面或抽象,用来服务于各种各样的日志框架,比如java.util.logging.lo ...

  5. Linux清除Windows密码

    下载安装ntfs-3g 下载驱动让linux挂载windows磁盘 https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2017.3.23.tgz 安装 t ...

  6. 解决Github Desktop Repo publish 失败问题

    参考: src refspec master does not match any when pushing commits in git Github上传项目步骤和常见问题 Trying to gi ...

  7. 前端工程化 - Yeoman

    什么是Yeoman Yeoman是一个前端构建工具.它整合了yo(yeoman).gulp/grunt和npm/bower等工具,组成了一个完整的工具集合,为前端开发提供了一套完整的解决方案. Yeo ...

  8. 一年25个里程碑!免疫疗法“战胜”癌症,靠的是实力(5篇Science、6篇Nature )--转载

    近几年,免疫疗法的成功使癌症治疗进入了新的时代.无论是科研界,还是商业界,都丝毫没有掩饰对这一领域的热情.2016年,Cell杂志公布的年度十大最佳论文中,免疫疗法占两席.事实上,这两项成果只是去年癌 ...

  9. install diagnostic_updater

    sudo apt-get install ros-kinetic-diagnostic-updater

  10. C#中as和is关键字

    一. as 运算符用于在兼容的引用类型之间执行某些类型的转换.例如: static void Main(string[] args) { ]; obj[] = new class1(); obj[] ...