精华内容
下载资源
问答
  • 万维网概述.pptx

    2020-05-26 11:19:56
    1.万维网把大量信息分布在整个因特网上,每台主机上的文档(HTML文档)都进行独立管理,对这些文档的增加、修改、删除或者重命名等都不需要通知到因特网上成千上万的节点。这样做就相当独立,有时就会出现链接失效的...
  • 万维网-源码

    2021-02-15 02:24:36
    安装套件 yarn install 开始开发模式 yarn dev 开始故事书进行组件开发 yarn storybook 从模板创建新组件* yarn create *系统会提示您输入组件的名称,然后将其添加到src / compontents / {componentName}中,...
  • Chapter 10 Servlets and Java Server Pages 10.1 Overview of Servlets A servlet is a Java class designed to be run in the context of a special servlet container An instance of the servlet class is insta
  • 万维网

    2020-11-25 23:12:52
    万维网、互联网、因特网的区别有些啥?

    在这里插入图片描述
    在这里插入图片描述
    万维网、互联网、因特网的区别有些啥?

    展开全文
  • 万维网缔造者Lee爵士讲述万维网的由来与诞生,第一部分叙述了万维网诞生的整个过程,它从一个侧面反映了10年来因特网的发展历程,并披露了许多鲜为人知的真实故事;在第二部分中,作者探讨了万维网给社会带来的各种...
  • TorrentMe:万维网-源码

    2021-06-20 20:53:29
    TorrentMe 直接在手机上搜索和下载 .torrent 文件
  • 万维网的优点

    2014-04-09 09:26:52
    万维网的优点
  • W4:一种简单的方法,可以涉水到网站。 此扩展名使您可以轻松快速地浏览Web服务器服务的页面列表。 您无需检查文件层次结构的所有节点来访问页面的方式,而无需检查由wader扩展程序安装的浏览器操作按钮,而是可以按...
  • 万维网以B/S方式(浏览器/服务器)工作,用户主机中的浏览器是万维网客户机程序,万维网文档所驻留的主机运行服务器程序,浏览器向服务器发送请求,服务器向浏览器返回请求的万维网文档。 万维网使用统一资源定位...

    计算机网络基础——WWW万维网

    万维网

    万维网(World Wide Web, WWW)是一个大规模的、联机式的信息储藏所,英文简称Web,万维网是一个分布式的超媒体(hypermedia),是超文本(hypertext)系统的扩充。万维网以B/S方式(浏览器/服务器)工作,用户主机中的浏览器是万维网客户机程序,万维网文档所驻留的主机运行服务器程序,浏览器向服务器发送请求,服务器向浏览器返回请求的万维网文档。

    • 万维网使用统一资源定位符来表示万维网上的各种文档,每个文档在整个互联网范围内有唯一的标识符。

    • 万维网客户程序与万维网服务器程序之间的交互遵循严格的协议,即超文本传输协议

    • 万维网使用超文本标记语言,使得万维网页面的设计者可以很方便地使用链接从本页面的某处链接到互联网上的任何一个万维网网页,并且能够在自己的主机屏幕上将这些页面显示出来

    超文本

    超文本(hypertext)即为包含指向其他文档链接的文本,由多个信息源链接成,这些信息源可以分布在世界各地且数目不限,超文本是万维网的基础

    超媒体

    超媒体(hypermedia)与超文本的区别是文档内容不同,超文本仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画及视频图像等。

    工作流程

    • Web用户使用浏览器(指定URL)与Web服务器建立连接,并发送浏览请求
    • Web服务器将URL转换为文件路径,并返回信息给Web浏览器
    • 通信完成,关闭连接

    统一资源定位符

    统一资源定位符(Uniform Resource Locator, URL)是用来表示从互联网上得到的资源位置和访问这些资源的方法,URL相当于一个文件名在网络范围的扩展,URL为资源的位置提供一种抽象的识别方法,并用这种方法给资源定位,使得系统可以对资源进行各种操作。互联网上的所有资源都有一个唯一确定的URL。

    资源

    资源指的是互联网上可以被访问的任何对象,包括文件目录、文件、文档、图像、声音以及与互联网相连的任何形式数据

    URL格式

    <protocol>://<hostname>:<port>/<path>

    • <protocol> : 使用的协议,如HTTP, FTP
    • <hostname> : 存放资源的主机在互联网中的域名或IP地址
    • <port> : 服务端进程端口号
    • <path> : 资源在主机中的路径

    超文本传输协议

    超文本传输协议(HyperText Transfer Protocol, HTTP)是一个简单的请求-响应协议,基于TCP定义了浏览器如何向万维网服务器请求万维网文档以及万维网服务器如何将文档传送给浏览器,HTTP是面向事务(transcation-oriented)的,是万维网能够可靠传输文件的重要基础。

    万维网的服务器进程监听80端口,若有浏览器向其发出连接建立请求,会与其建立TCP连接,TCP连接建立成功后,浏览器向服务器发送浏览某个页面的请求,服务器返回所请求的页面作为响应,结束后释放TCP连接。

    HTTP规定HTTP客户与HTTP服务器之间的每次交互,都由一个ASCII码串构成的请求和一个类似的通用互联网扩充(即类MIME(MIME-like))的相应组成,HTTP报文采用TCP连接传送。

    无连接

    HTTP虽然使用面向连接的TCP作为传输层协议,但HTTP本身是无连接的,即通信双方在交换HTTP报文之前不需要先建立HTTP连接

    无状态

    HTTP是无状态(stateless)的,同一个客户第二次访问同一服务器上的页面时,服务器的响应与第一次被访问时是相同的,该特性使得服务器更容易支持大量并发的HTTP请求

    HTTP/1.0

    HTTP/1.0采用非持续连接的方式,在建立TCP连接的前两部分完成后,万维网用户把HTTP请求报文作为TCP连接的三报文握手中的第三次报文的数据,发给万维网服务器,服务器收到HTTP请求报文后,将所请求的文档作为响应报文返回给客户。

    请求一个万维网文档所需的时间是该文档的传输时间和两倍往返时间(RTT)之和,其中一个RTT用于连接TCP连接,另一个RTT用于请求和接收万维网文档。

    HTTP/1.0使得每请求一个文档就需要有两倍RTT开销,而万维网客户和服务器每次建立新的TCP请求都要分配缓存和变量。

    HTTP/1.1

    HTTP/1.1采用持续连接的方式,持续连接指的是万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个浏览器和该服务器可以继续在这条连接上传送后续的HTTP请求和响应报文

    非流水线方式

    非流水线(without pipelining)方式,浏览器收到前一个响应后才能发出下一个请求,在TCP连接已经建立后,客户每访问一次对象都要花费一个RTT延迟,相比非持续连接节省了建立TCP连接所需的一个RTT时间。

    流水线方式

    流水线(with pipelining)方式,浏览器在收到一个HTTP响应请求之前就能够接着发送新的请求报文,一个接一个的请求报文到达服务器之后,服务器就可以连续发回响应报文。流水线工作方式使浏览器访问所有对象只需花费一个RTT延迟,使TCP的空闲时间减少,提高了下载文档的效率

    代理服务器

    代理服务器(Proxy Server)是一种网络实体,也称万维网高速缓存(Web Cache),它将最近的一些请求和响应暂存在本地磁盘中,若代理服务器发现请求与其暂存的请求相同,就直接返回暂存响应而不需要按URL地址去互联网访问该资源;否则,代理服务器代表发送请求的浏览器,向互联网中的源点浏览器(origin server)建立TCP连接并发送HTTP请求报文,源点服务器把所请求的对象放在HTTP响应报文中返回给代理服务器,代理服务器收到该对象后,先复制到本地存储器中再将放到HTTP响应报文中发送给浏览器。代理服务器减少了访问互联网的时延。

    HTTP报文结构

    HTTP报文是面向文本(text-oriented)的,报文中的每个字段都是一些ASCII码串,各个字段长度不确定,分为请求报文和响应报文,两种报文都由开始行、首部行和实体主体组成

    报文结构

    开始行

    开始行用于区分请求报文和响应报文,请求报文中的开始行称为请求行,响应报文中的开始行则称为状态行,开始行的三个字段以空格分科,最后以CRLF代表回车和换行

    首部行

    首部行用来说明浏览器、服务器或报文主体的一些信息,首部行可以有多行,每个首部行都有首部字段名和值,每行以回车换行CRLF结束,整个首部行结束后以一个空行(CRLF)与实体主体分隔

    实体主体

    实体主体在请求报文和响应报文中一般不用

    请求报文

    请求报文由浏览器发送给服务器,请求报文的请求行包含方法、请求资源URL和HTTP版本三个内容

    方法操作意义
    OPTION请求一些选项信息
    GET请求读取由URL所标志的信息
    HEAD请求读取由URL所标志的信息的首部
    POST给服务器添加信息
    PUT在指明的URL下存储一个文档
    DELETE删除指明的URL所标志的资源
    TRACE用来进行环回测试的请求报文
    CONNECT用于代理服务器

    响应报文

    响应报文由服务器发给浏览器,响应报文的状态行包含HTTP版本、状态码和解释状态码的简单短语三部分组成

    状态码(Status-Code)都是三位数字,分为5类,5类状态码均已不同数字开头

    状态码前缀意义
    1xx通知信息,收到或正在处理
    2xx接受
    3xx重定向,完成请求并进行下一步行动
    4xx差错,语法错误或不能完成
    5xx服务器差错,服务器失效或无法完成请求

    Cookie

    Cookie是一个文本文件,用来表示在HTTP服务器和梁礼文之间传递的状态信息,万维网站点可以Cookie来跟踪用户。

    万维网文档

    超文本标记语言

    超文本标记语言(HyperText Markup Language)是一种制作万维网页面的标准,用于消除不同计算机之间信息交流的障碍,HTML并不是应用层协议,而是万维网浏览器使用的一种语言。
    HTML文档是ASCII码文件,定义了许多用于排版的命令,浏览器对HTML文档中的各种标签进行解释且仅当HTML文档以htmhtml为文件后缀名时。浏览器对不支持的标签会忽略但仍显示其中的文本。

    可扩展标记语言

    可扩展标记语言(eXtensible Markup Language, XML)是允许用户对自己的标记语言信息定义的源语言,用于传输数据,而HTML用于显示数据,XML可以用来标记数据、定义数据类型,XML将用户界面与结构化数据分离,是一种简单的、平台无关并广泛采用的标准,XML是对HTML的补充。

    层叠样式表

    层叠样式表(Cascading Style Sheets, CSS)是一种样式表语言,用于为HTML文档定义布局,HTTML用于结构化内容,CSS用于格式化结构化的内容。

    动态文档

    动态文档(Dynamic document)是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建的,浏览器氢气到达时,有万维网服务器运行的另一个应用程序处理并将应用程序的输出作为对浏览器的响应。

    动态文档和静态文档的主要区别在于服务器一端,文档内容的生成方法不同。

    万维网增加了通用网关接口(Common Gateway Interface, CGI)机制来定义动态文档应如何创建,输入数据应如何提供给应用程序及如何使用输出结果。通用表示CGI标准所定义的规则对其他任何语言通用,网关表示CGI程序还可能访问其他的服务器资源(数据库、图形软件包等),接口表示CGI有些已定义好的变量和调用可供其他CGI程序调用。

    万维网服务器增加的应用程序称为CGI程序,正式名字为CGI脚本(脚本被另一个程序(解释程序)而不是计算机处理机来解释或执行)

    活动万维网文档

    动态文档一旦建立所包含的信息无法及时更新,活动文档将提供屏幕连续更新的工作交给浏览器端,每当浏览器请求一个活动文档时,服务器返回一段活动文档程序副本,使该程序副本在浏览器运行并直接与用户进行交互,连续改变屏幕的显式。由于活动文档不需要服务器的连续更新传送,对网络带宽的要求也不会太高。

    参考

    谢希仁. 计算机网络(第7版). 电子工业出版社, 2017.
    王道考研计算机网络

    最后

    • 由于博主水平有限,不免有疏漏之处,欢迎读者随时批评指正,以免造成不必要的误解!
    展开全文
  • 关于建设高校实验室万维网管理平台模式的研究分析,孙熙安,,研究开发建设面向实验室管理和服务的万维网平台,是全面提升高等院校实验室管理水平的有效途径。本文从高等院校实验室管理体制出
  • 什么是万维网

    千次阅读 2020-10-24 17:28:42
    文章目录什么是万维网超媒体与超文本的区别万维网的工作方式怎样对分布在Internet上的文档进行标记呢?用什么样的协议来实现浏览器和万维网服务器之间文档的请求和响应呢?怎样在万维网中写入超链接使得不同风格的...


    什么是万维网

    万维网 (World Wide Web,WWW)是存储在Internet计算机中、数量巨大的文档的集合。这些文档称为页面,它是一种超文本(Hypertext)信息,可以用于描述超媒体。文本、图形、视频、音频等多媒体,也称为超媒体。

    万维网利用网页之间的链接将不同网站的网页链接成一张逻辑上的信息网,从而用户可以方便的从internet上的一个站点去访问另一个站点 。在这里插入图片描述

    超媒体与超文本的区别

    超文本文档只包含文本的信息,超媒体文档不仅包含文本的信息,还包含其他多媒体对象,如图片、视频、动画、音频等多媒体。

    万维网的工作方式

    万维网以C/S方式,即客户/服务器的方式工作。其中,浏览器就是在用户主机上的万维网客户程序。万维网文档(web文档)所驻留的主机则运行服务器程序,如IIS 、Apache、Nginx等。所以这个主机也叫作万维网服务器或者Web服务器。
    当浏览器向web服务器发送出对某个Web文档的请求时,Web服务器返回浏览器请求的Web文档,浏览器将该文档在窗口中显示出来。Web文档呈现在浏览器窗口中的就是我们所说的网页和页面。

    怎样对分布在Internet上的文档进行标记呢?

    这里万维网使用了统一的资源定位符URL来标记万维网上的各种文档,并且使每一个文档在整个Internet的范围内具有唯一标识符的URL。

    用什么样的协议来实现浏览器和万维网服务器之间文档的请求和响应呢?

    为了使服务器和浏览器能够正常的进行请求和响应,就需要服务器和浏览器之间的交互遵守严格的协议,这就是超文本传输协议HTTP。HTTP是一个应用层协议,它使用TCP连接进行可靠传输。

    怎样在万维网中写入超链接使得不同风格的万维网文档都能在因特网上的各种主机上显示出来?

    万维网使用超文本标记语言HTML,使得万维网页面的制作者可以方便的用超链接从本页面的某处链接到Internet的任何一个万维万页面,并且页面能在任意浏览器的窗口中显示。

    怎么方便的查找信息呢?

    用户使用搜索引擎在万维网上查找信息。



    统一资源定位符URL

    统一资源定位系统(uniform resource locator;URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。只有对资源定位,系统才可以对资源进行各种操作。如存取、更新、替换和查找其属性等。

    URL的一般形式

    两大部分组成,由冒号隔开。URL中的字符对大写或小写没有要求。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    用户使用URL并非只能访问万维网页面,而且还能够通过URL使用其他的Internet应用程序,如FTP等。



    超文本传输协议HTTP

    HTTP定义了浏览器怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器

    万维网大致工作过程如下

    HTTP协议使用传输层中的TCP协议来传输信息,并且使用了系统端口号80。万维网上的服务器进程不断地监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求。一旦监听到连接建立请求并建立了TCP连接之后,浏览器就向万维网服务器发出浏览器某个页面的请求,服务器接着就返回所请求的页面作为响应。通信结束后释放TCP连接。

    当我们访问一个URL为www.baidu.com/index.html时会发生以下几个事件:

    1. 浏览器分析链接指向页面的URL
    2. 浏览器向DNS请求解析www.baidu.com的IP地址
    3. 域名系统DNS解析出百度服务器的IP地址为XXX.XXX.XX.XXX
    4. 浏览器与服务器建立TCP连接
    5. 浏览器发出取出文件命令:GET /index.html
    6. 服务器www.baidu.com给出响应,把文件index.html发送给浏览器
    7. 释放TCP连接
    8. 浏览器显示“百度”文件index.html发送给浏览器

    HTTP使用了面向连接的TCP协议作为传输层协议,保证了数据的可靠传输。HTTP不必考虑数据在传输中被丢弃后和怎样被重传。虽然HTTP使用面向连接的TCP,但HTTP本身是一个无状态协议。无状态特性简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求。使得HTTP要求服务器不保存客户的任何状态信息。服务器不保存任何客户状态信息,则同一个客户上一次对服务器的访问就不会影响他对服务器的下一次访问结果。这样使得服务器更容易支持大量并发的HTTP请求。

    HTTP的非持续连接与持续连接

    HTTP/1.0协议采用的非持续连接的方式,即一次请求或响应一次TCP连接。在非持续连接的方式中,浏览器每次请求一个文件都要与服务器建立TCP连接,当收到响应后就立即关闭连接。

    基本特点如下:

    1. 浏览器每发送一个请求,先建立TCP连接
    2. Web服务器在发送响应后就关闭这条连接
    3. 发送下一个请求需再建立TCP连接。完后再关闭
    4. 建立多次连接,多次关闭,效率太低

    HTTP/1.1协议使用了持续连接。持续连接就是万维网服务器在发送响应后仍然保持这条连接,使同一个客户端(浏览器)和服务器能继续在这条连接上传送后续的HTTP请求报文和响应报文。

    可分为两种方式:

    流水线方式:在收到响应报文之前能够连续发送多个请求报文。

    非流水线方式:在收到前一个响应后才能发出下一个请求。

    万维网的文档

    超文本标记语言HTML

    超文本标记语言HTML是一种制作万维网页面的标准语言,它消除了不同计算机之间信息交流的障碍。

    HTML文档的特点:

    • 可以在万维网页面中插入图像

    规定了链接的设置方法:

    • 远程链接:可以是其他网站上的页面

    • 本地链接:本计算机中的某一个文件或本文件中的某处。

    HTML文档

    静态文档

    静态文档在被用户浏览的过程中,内容不会改变。(每次都一样)

    动态文档

    动态文档文档的内容是在浏览器访问万维网服务器时由应用程序动态生成。(内容根据需要不断变化)

    动态文档和静态文档之间的主要差别体现在服务器一端。从浏览器的角度看,这两种文档并没有区别。

    动态文档创建示意图如下
    在这里插入图片描述

    活动文档

    活动文档是用以实现页面不断变化但又不必经常访问万维网服务器的技术。

    一个活动文档就是一段程序或嵌入了程序脚本的HTML文档。

    活动文档的更新由浏览器自己在本地完成,对网络带宽的要求较低,但其本身并不包括运行所需的软件。(需浏览器支持)

    混合文档

    万维网上的很多文档都是这三种文档的混合体

    万维网页面中:

    • 一部分是用HTML编写的静态部分
    • 一部分是用程序在服务器端动态生成
    • 一部分是可以在浏览器端运行的程序或程序脚本(活动文档

    B/S应用程序结构

    浏览器/服务器(Browser/Server)方式,一种特殊的C/S方式。

    利用动态和活动网页,通过通用的浏览器为用户提供人机交互的界面。

    优点是用户不需要安装单独的应用程序,简化了应用的开发、维护和使用。

    越来越多的网络应用采用B/S结构,例如购物网站、电子邮件、搜索引擎、博客等等。

    展开全文
  • 一、万维网简史

    2021-05-27 23:39:55
    1.1 万维网起源 1990年底,欧洲核能研究组织(CERN)科学家Tim Berners-Lee,在全世界最大的电脑网络——互联网的基础上,发明了万维网(World Wide Web),从此可以在网上浏览网页文件。 最早的网页只能在操作系统...

    一、万维网发展简史

    1)1991年,WorldWideWeb 浏览器发布

    最早的网页只能在操作系统的终端里浏览,也就是说只能使用命令行操作,网页都是在字符窗口中显示,这当然非常不方便。

    1989年, 伯纳斯-李写了一份关于建立一个通过网络传输超文本系统的报告。

    1990年,伯纳斯-李开发了世界上第一个网页浏览器(WorldWideWeb,为了避免同 WWW 混淆,这个浏览器后来改名为 Nexus)和第一个网页服务器(httpd)。为了做出来,他同时建立了最基本的网络标准,包括URL,HTML和HTTP。

    1991年8月6日,世界上第一条网页(http: //info. cern. ch/)上线。
    当时,它仅限于CERN的用户。这幅网页的内容很简单,它解释了万维网是什么,如何使用网页浏览器和如何建立一个网页服务器等等。

    1991年8月23日,CERN以外的用户被邀请访问这些网页,意味着万维网正式诞生。

    >>>>>> 万维网的组成
    
    	1、超文本标记语言(HTML):一个用来表示超文本文档的文本格式
    	2、超文本传输协议(HTTP):一个用来交换超文本文档的简单协议
    	3、WorldWideWeb:一个显示(以及编辑)超文本文档的客户端,即网络浏览器。第一个网络浏览器.
     	4、httpd:一个服务器用于提供可访问的文档。
    
    
    >>>>>> 第一个网页体验版

    体验版: https://worldwideweb.cern.ch/browser/
    在这里插入图片描述

    2)1992年,NCSA发布Mosaic浏览器(第一个可以显示图片的浏览器)

    1992年底,美国国家超级电脑应用中心(NCSA)开始开发一个独立的浏览器,叫做 Mosaic。

    这是人类历史上第一个浏览器,从此网页可以在图形界面的窗口浏览。

    在这里插入图片描述

    3)1994年10月,W3C组织成成立

    1994年10月,由Tim牵头的万维网联盟(World Wide Web Consortium)成立,这标志着万维网的正式诞生。

    >>>>>> W3C组织成立的目的

    W3C 在 1994 年被创建的目的是,为了完成麻省理工学院(MIT)与欧洲粒子物理研究所(CERN)之间的协同工作,并得到了美国国防部高级研究计划局(DARPA)和欧洲委员会(European Commission)的支持。

    >>>>>> W3C组织工作

    W3C 最重要的工作是发展 Web 规范(称为推荐,Recommendations),这些规范描述了 Web 的通信协议(比如 HTML 和 XHTML)和其他的构建模块。

    4) 1994年11月,网景公司成立

    1994年11月,Mosaic浏览器的开发人员创建了网景公司(Netscape Communications Corp.)

    5) 1994年12月,网景公司的第一个浏览器发布–Navigator(导航者)

    1994年12月,网景公司发布了Navigator1.0版,市场份额一举超过90%。
    在这里插入图片描述

    >>>>>> 缺点

    这个版本的浏览器只能用来浏览,没有交互。客户填完所有的东西点击提交发送都需要等待后端去验证,用户体验在现在看来真的很差。网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。

    >>>>>> 解决

    管理层对这种浏览器脚本语言的设想是:功能不需要太强,语法较为简单,容易学习和部署。那一年,正逢Sun公司的Java语言问世,市场推广活动非常成功。Netscape公司决定与Sun公司合作,浏览器支持嵌入Java小程序(后来称为Java applet)。但是,浏览器脚本语言是否就选用Java,则存在争论。后来,还是决定不使用Java,因为网页小程序不需要Java这么“重”的语法。

    但是,同时也决定脚本语言的语法要接近Java,并且可以支持Java程序。这些设想直接排除了使用现存语言,比如Perl、Python和TCL。

    6) 1995年网景公司发明了JavaScript

    1995年,Netscape公司雇佣了程序员Brendan Eich开发这种网页脚本语言。

    1995年5月,网景工程师Brendan Eich花了10天时间设计了JavaScript语言。起初这种脚本语言叫做Mocha,后改名LiveScript。

    1995年12月24日,网景公司与sun公司联合发布了JavaScript语言。

    1996年3月,Navigator2.0正式内置了这种JS脚本语言。

    7 ) 1995年8月16日,微软发布Internet Explorer 1.0浏览器

    1995年8月16日,微软发布了Internet Explorer 1.0,首次发布时它还是一款收费的软件包,售价49美元。

    8) 1996年8月,微软发布JScript

    1996年8月,微软模仿JavaScript开发了一种相近的语言,取名为JSCript。首先内置于IE3.0。
    此时,网景公司面临丧失浏览器脚本语言的主导权的场面。

    9) 1996年11月,ECMAScript规范化

    1996年11月,为了确保JavaScript的市场领导地位,网景将JavaScript提交到欧洲计算机制造商协会(ECMA)以便将其进行国际标准化。

    二、浏览器发展简史

    1991年,WorldWideWeb 浏览器发布
    这款由 Web 之父 Tim Berners-Lee 亲手设计的图形化浏览器还包含一个所见即所得 HTML 编辑器,为了避免同 WWW 混淆,这个浏览器后来改名为 Nexus

    1993年,Mosaic 发布
    Internet 的流行应该归功于 Mosaic,这款浏览器将 Web 带向了大众。诸如 IE, Firefox 一类的当代浏览器仍然在延用 Mosaic 的图形化操作界面思想。

    1994年,Netscape 成立,并发布Netscape Navigator
    Marc Andreessen 带领 Mosaic 的程序员成立了 Netscape 公司,并发布了第一款商业浏览器 Netscape Navigator。

    1995年,IE 发布,浏览器之战即将爆发
    微软针对 Netscape 发布了他们自己的浏览器,IE,第一场浏览器之战爆发。

    1996年,Opera 发布
    Telenor 是挪威最大的通讯公司,他们推出了 Opera,并在两年后进军移动市场,推出 Opera 的移动版。

    1998年,Mozilla 项目成立
    Netscape 成立 Mozilla 开源项目,开发下一代浏览器,后来证明,使用原有代码开发新东西是一种负担,接着他们着手从新开发。

    2002年,IE 开始主导浏览器市场
    市场份额达到95%,借助同操作系统的捆绑优势,IE 赢得第一场浏览器之战

    2003年,苹果 Safari 浏览器登场
    苹果进入了浏览器市场,推出自己的 Webkit 引擎,该引擎非常优秀,后来被包括 Google, Nokia 之类的厂商用于手机浏览器。

    2004年,Firefox 引发第二场浏览器之战
    Firefox 1.0 推出。早在 Beta 测试期间就积累了大量人气的 Firefox 引发了第二场浏览器之战,当年年底,Firefox 已经赢得 7.4% 的市场份额。

    2006年,IE7 发布
    IE6 发布后的第六年,迫于 Firefox 的压力,微软匆匆推出 IE7 应战,吸取了 Firefox 的一些设计思想,如标签式浏览,反钓鱼等。但这款浏览器现在看来并不成功。

    2008年,Google 携 Chrome 参战
    Google 发布了他们自己的浏览器,加入这场战争。轻量,快,异常的稳固让这款浏览器成为不可轻视的一个对手。

    三、HTTP协议发展简史

    HTTP(HyperText Transfer Protocol)是万维网(World Wide Web)的基础协议。自 Tim Berners-Lee 博士和他的团队在1989-1991年间创造出它以来,HTTP已经发生了太多的变化,在保持协议简单性的同时,不断扩展其灵活性。如今,HTTP已经从一个只在实验室之间交换文件的早期协议进化到了可以传输图片,高分辨率视频和3D效果的现代复杂互联网协议。

    1)万维网发明

    1989年, 当时在 CERN 工作的 Tim Berners-Lee 博士写了一份关于建立一个通过网络传输超文本系统的报告。这个系统起初被命名为 Mesh,在随后的1990年项目实施期间被更名为万维网(World Wide Web)。它在现有的TCP和IP协议基础之上建立,由四个部分组成:

    	一个用来表示超文本文档的文本格式,超文本标记语言(HTML)。
    	一个用来交换超文本文档的简单协议,超文本传输协议(HTTP)。
    	一个显示(以及编辑)超文本文档的客户端,即网络浏览器。第一个网络浏览器被称为 WorldWideWeb。
    	一个服务器用于提供可访问的文档,即 httpd 的前身。
    

    这四个部分完成于1990年底,且第一批服务器已经在1991年初在CERN以外的地方运行了。 1991年8月16日,Tim Berners-Lee 在公开的超文本新闻组上发表的文章被视为是万维网公共项目的开始。

    HTTP在应用的早期阶段非常简单,后来被称为HTTP/0.9,有时也叫做单行(one-line)协议。

    2) HTTP/0.9 – 单行协议

    只是一个草案,纯文本格式。蒂姆.伯纳斯-李最初设想的系统里的文档都是只读的,所以只允许用"GET" 动作从服务器上获取HTML文档,并且在响应请求之后立即关闭连接,功能非常有限。

    3)HTTP 1.0

    1996年正式发布。

    在1.0中服务器发送完一个http响应后,会断开连接。1.0中确立了大部分现在使用的技术,但是它还不是一个正式的标准。

    		1. 增加了HEAD、POST等方法
    		2. 增加了响应状态码,标记可能的错误原因
    		3. 引入了协议版本号概念,
    		4. 引入了HTTP header头概念
    		5. 传输的数据不仅限于文本
    

    4)HTTP1.1

    1999年,HTTP1.1发布了RFC文档。http1.1是目前互联网上使用最广泛的协议,功能也十分完善。

    HTTP1.1中把connection 头写进标准,默认开启久连接,connection:keep-alive。什么时候关闭?timeout=20;设置超时时间;max = xxx;长连接最多接收xxx次请求就断开。

    	1.增加了PUT、 DELETE等新的方法;
    	2.增加了缓存管理和控制;
    	3.明确了连接管理,允许持久连接; 
    	4.允许响应数据分块(chunked),利于传输大文件;
    	5.强制要求Host头,让互联网主机托管成为可能。
    

    5)HTTP 2.0

    相对于HTTP 1.1来说

    	
    		1. 提升访问速度		
    		2. 允许多路复用		
    		3. 二进制分帧		
    				  HTTP 1.x的解析是基于文本,基于文本协议的格式解析存在天然缺陷。		
    		4. 首部压缩
    				  HTTP 1.x中header有大量信息,且每次都重复发送,HTTP 2.0用encoder减少传输header大小,通讯双方各cashe一份header fileds表。
    		5. 服务器推送(server push)
    
    

    http2.0 基于Google的SPDY协议,注重性能改善,但还没有普及。

    http3.0基于Google的QUIC协议,是将来的发展方向。

    四、ES发展简史(JavaSctipt)

    ECMA以JavaScript语言为基础制定了ECMAScript标准规范ECMA-262。JavaScript是ECMAScript规范最著名的实现之一,除此之外,ActionScript和JScript也都是ECMAScript规范的实现语言。自此,浏览器厂商都开始逐步实现ECMAScript规范。

    1)1997年7月, ECMAScript1.0版发布。

    2)1998年6月, ECMAScript2.0版发布。

    3)1999年12月,ECMAScript3.0版发布。在此后的十年间,ECMAScript规范基本没有发生变动。ECMAScript3成为当今主流浏览器最广泛使用和实现的语言规范基础。

    4)2007年10月,ECMAScript4.0草案发布,对3.0做了大幅改动。由于4.0版本过于激进,各方对于这个版本是否正式发布持有不同的意见。

    5)2008年7月,ECMA 开会决定,中止 ECMAScript 4.0 的开发(即废除了这个版本)。
    将其中涉及现有功能改善的一小部分,发布为 ECMAScript 3.1。
    而将其他激进的设想扩大范围,放入以后的版本,由于会议的气氛,该版本的项目代号起名为 Harmony(和谐)。会后不久,ECMAScript 3.1 就改名为 ECMAScript 5。

    6)2009年12月,ECMAScript 5.0版 正式发布。
    Harmony 项目则一分为二,一些较为可行的设想定名为 JavaScript.next 继续开发,后来演变成 ECMAScript 6;
    一些不是很成熟的设想,则被视为 JavaScript.next.next,在更远的将来再考虑推出。

    7)2011年6月,ECMAScript 5.1版发布,并且成为 ISO 国际标准(ISO/IEC 16262:2011)。到了2012年底,所有主要浏览器都支持 ECMAScript 5.1版的全部功能。

    8)2013年3月,ECMAScript 6 草案冻结,不再添加新功能。新的功能设想将被放到 ECMAScript 7。

    9)2013年12月,ECMAScript 6 草案发布。然后是12个月的讨论期,听取各方反馈。

    10)2015年6月,ECMAScript 6 正式发布,并且更名为“ECMAScript 2015”。这是因为 TC39 委员会计划,以后每年发布一个 ECMAScript 的版本,下一个版本在2016年发布,称为“ECMAScript 2016”,2017年发布“ECMAScript 2017”,以此类推。

    五、Web开发技术的发展简史

    从Web开发技术的发展过程看,Web从最初其设计者所构思的主要支持静态文档的阶段,逐渐变得越来越动态化。Web应用的交互模式,变得越来越复杂:从静态文档发展到以内容为主的门户网站、电子商务网站、搜索引擎、社交网站,再到以娱乐为主的大型多人在线游戏、手机游戏。

    1)静态内容阶段

    在这个最初的阶段,由文本编辑器直接编辑并生成静态的HTML页面,如果要修改Web页面的内容,就需要再次编辑HTML源文件,早期的互联网Web页面就是静态的;

    2)CGI程序阶段

    由于静态Web页面无法与用户交互,比如用户填写了一个注册表单,静态Web页面就无法处理。要处理用户发送的动态数据,出现了Common Gateway Interface,简称CGI,用C/C++编写。

    3)脚本语言阶段

    由于Web应用特点是修改频繁,用C/C++这样的低级语言非常不适合Web开发,而脚本语言由于开发效率高,与HTML结合紧密,因此,迅速取代了CGI模式。ASP是微软推出的用VBScript脚本编程的Web开发技术,而JSP用Java来编写脚本,PHP本身则是开源的脚本语言。

    4)瘦客户端应用阶段(MVC模式)

    在这个阶段,在服务器端出现了独立于Web服务器的应用服务器。同时出现了Web MVC开发模式,各种Web MVC开发框架逐渐流行,并且占据了统治地位。基于这些框架开发的Web应用,通常都是瘦客户端应用,因为它们是在服务器端生成全部的动态内容。

    5)RIA应用阶段

    在这个阶段,出现了多种RIA(Rich Internet Application)技术,大幅改善了Web应用的用户体验。应用最为广泛的RIA技术是DHTML+Ajax。Ajax技术支持在不刷新页面的情况下动态更新页面中的局部内容。同时诞生了大量的Web前端DHTML开发库,例如Prototype、Dojo、ExtJS、jQuery/jQuery UI等等,很多开发库都支持单页面应用(Single Page Application)的开发。其他的RIA技术还有Adobe公司的Flex、微软公司的Silverlight、Sun公司的JavaFX(现在为Oracle公司所有)等等。

    6)移动Web应用阶段

    在这个阶段,出现了大量面向移动设备的Web应用开发技术。除了Android、iOS、Windows Phone等操作系统平台原生的开发技术之外,基于HTML5的开发技术也变得非常流行。

    六、JavaWeb发展简史

    Java Web开发技术的发展经历了如几个阶段:

    		1、servlet技术
    		2、JSP技术
    		3、模型1:JSP+JavaBean
    		4、模型2:JSP+JavaBean+Servlet
    		5、框架
    		6、可视化开发
    

    6.1 Servlet出现之前

    servlet大多数人还是了解的,也还在使用,这里就从servlet说起吧。传说在上世纪90年代,因为nternet和浏览器的飞速发展,使得基于浏览器的B/S模式随之火爆发展起来。最初,用户使用浏览器向WEB服务器发送的请求都是请求静态的资源,比如html、css等。 但是可以想象:根据用户请求的不同动态的处理并返回资源是理所当然必须的要求,例如用户提交一些东西,服务器就能按提交的内容反馈用户不同的效果。所以人们应该非常迫切想要推出一项技术来实现动态的处理, java 为了应对上述需求,促进了servlet技术诞生。

    6.2 Servlet出现(纯Servlet开发)

    SUN公司刚刚推出JavaEE(Java企业版)时,推出了Servlet这个东西,命名就是Service+Applet,即服务小程序。Servlet可以说是Java技术中最早的Web解决方案,Servlet与普通Java类的编写非常类似。

    在Servlet中可以通过挨着行输出Html等语句来实现页面的样式和输出,数据的动态功能当然也就实现了。表现、逻辑、控制、业务全部混在Servlet类中。下面给出一个简单例子来直观感受一下。

    
    public void doGet(HttpServletRequest request,HttpServletResponse)
       throws IOException,ServletException
    {
        response.setContentType("text/html;charset=gb2312");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>Hello World!</title></head>");
        out.println("<body>");
        out.println("<p>Hello World!</p>");
        out.println("</body></html>");
    }
    

    这样就动态的生成了一个内容为Hello World!的HTML页面在浏览器上显示。

    一项技术的出现必然解决了一些现存的问题,但是我们知道servlet之后还有好些技术来替代在servlet中生成HTML页面的方式,那就说明servlet还存在痛点。从上面代码中我们可以看到servlet编程其实很繁琐:

    1.servlet代码有大量冗余代码,out输出就得写上百遍;

    2.开发servlet必须精通网页前端和美工,你得非常不直观的在Servlet中写前端代码,这使得实现各种页面效果和风格非常困难。

    3.对于后端来说,所有的业务逻辑、页面跳转、央视表现全部混杂在同一个类中,并且一项业务一般只有一个Servlet类与其对应,实在是….太麻烦了。

    所以为了解决这些问题(真庆幸晚生了好多年),sun公司借鉴 微软的asp,正式推出了JSP(servlet1.1)

    6.3 JSP(纯JSP开发)

    经过纯Servlet开发的噩梦之后,Sun公司又推出(或者说是倡导)了JSP技术,全称是Java Server Page。

    JSP技术的目标是快速开发网站,在网页中嵌入Java代码完成网站。例如下面的代码就是1个简单的JSP例子:

    <html>
       <head><title>测试</title></head>
       <body>
         显示的内容是:<% String aa= “hello” ; out.println(aa); %>
        </body>
    </html>
    

    如果希望进行一些处理,直接在界面中使用<% %>脚本标识嵌入Java代码。

    如果要开发具有大量网页内容的网站效率比较高,可以先使用网页编辑工具编写网页,然后在网页中嵌入处理代码即可。但是缺点是:网站的输入输出、处理、控制全部夹杂在一起,维护不方便。当网站中需要进行大量的处理代码的时候,JSP文件将很难维护,并且代码也不容易共享。

    因为JSP在编写网页方面具有优势,而编写处理代码存在很多问题,所以产生了模型1,把JSP中的处理代码使用JavaBean来实现。

    6.4 JSP+JavaBean(Model1)

    JavaBean是使用Java语言编写的组件,简单的理解,可以认为JavaBean是比较特殊的Java类。JavaBean会把网站中处理过程进行封装,这样的结果就是在JSP文件中仅仅是输入输出功能和控制功能,处理过程放在JavaBean中,然后在JSP中调用JavaBean的功能,JSP提供了若干标签支持调用。下面的例子展示了这种模型。

    JavaBean文件:

    
    package test;
    public class PrintMessage
    {
       public String print()
       {
          return “使用JavaBean返回信息”;
       }
    }
    

    页面文件:

    <%@ page import=”test.*%>
    <jsp:useBean id=”printMessage” class=”test.PrintMessage” scope=”request”/>
    <html>
       <head><title>测试</title></head>
       <body>
          第一阶段<% out.print(printMessage.print()); %>
    </body>
    </html>
    

    这种模型的优点是:业务处理由JavaBean完成,减少了页面中的代码。缺点是:页面中仍然有用于控制的代码。

    6.5 Servlet+JSP+JavaBean(Model2)

    Model1虽然在一定程度上解耦了,但JSP依旧即要负责页面控制,又要负责逻辑处理,职责不单一!此时Model2应运而生,使得各个部分各司其职,Model2是基于MVC模式的。Model2的开发模式是:Jsp+Servlet+JavaBean的模式,它和Model1不同的是,增加了Servlet。

    在这种开发模式下,JSP页面中就可以不用任何的<%%>语句了,包括<%=%>全部用EL表达式来代替,列表的遍历和条件判断等(Java中的for循环和if语句)也可以通过JSTL来代替。 这样的话视图层相比较之前的开发模式来说要薄得多的多,JSP中不涉及任何的业务逻辑,前端人员修改样式也十分方便。这里可以理解为JSP为MVC设计模式中的V,即视图。

    控制层通过Servlet来实现,获取前台传的参数、控制页面跳转,封装对象、向前台传输对象或者参数。并且可以由自己设计,设法用一个Servlet类实现该模块的所有功能的页面跳转。这里可以理解为Servlet为MVC设计模式中的C,即控制器。

    但这里要说明的是Model2并不是一个完全标准的MVC设计模式,因为JavaBean还过于臃肿,并不能完全作为M层存在,所以将JavaBean再一次进行分割:业务逻辑、数据持久化。

    6.6 三层架构与MVC设计模式

    三层架构是指软件系统的整体设计分层:业务逻辑层、数据持久化层和表现层。
    MVC设计模式只体现在表现层中,即将表现层又分为模型、视图和控制器。所以在上面Model2模式下对JavaBean分割后形成了三层架构与MVC的全新的JavaWeb开发模式。

    这里在分别介绍一下三层架构以及MVC设计模式:

    三层架构:

    表现层(Web层):通俗说就是用户所能看到的直观的界面。其作用就是接收用户提交的请求数据,以及将程序对用户请求所产生的响应数据反馈给用户。目的就是为用户提供可交互的操作界面。所以,表现层就像已经搭好的积木。

    业务逻辑层:简单讲就是“具体问题,具体分析”。它根据用户的不同请求而做出不同响应的处理。可以说是对数据层的一种整合方式。所以,就如同每个人会根据自己的喜好搭建不同的积木一样,业务逻辑层代表的就是搭积木的方式。

    数据访问层(持久化):它只是提供对数据库操作的多种途径。不同的数据就好比形状各异的积木,而数据访问层就好比取出或放回这些积木的动作。

    MVC设计模式:

    模型(Model):封装的是数据源和所有基于对这些数据的操作。在一个组件中,Model往往表示组件的状态和操作状态的方法。

    视图(View):封装的是对数据源Model的一种显示。一个模型可以由多个视图,而一个视图理论上也可以与不同的模型关联起来。

    控制器(Control):封装的是外界作用于模型的操作。通常,这些操作会转发到模型上,并调用模型中相应的一个或者多个方法。一般Controller在Model和View之间起到了沟通的作用,处理用户在View上的输入,并转发给Model。这样Model和View两者之间可以做到松散耦合,甚至可以彼此不知道对方,而由Controller连接起这两个部分。

    至此,页面的表现由jsp实现,转发控制由servlet实现,业务逻辑写在业务逻辑层,操作数据库部分写在持久化层,分工明确,各司其职。Model1、Model2、三层是在解耦的基础上一步步进化而来,通过解耦我们可以进行进一步的抽象,以应对现实需求的变动。这里要说的就是,从servlet一直到三层架构的转变,其实都是为了实现高内聚,低耦合。一步一步将各个功能分配到不同的地方实现。

    展开全文
  • 万维网27+案例报告

    2018-05-27 12:16:04
    里面有27份关于供应链金融的案例报告,包括2017-2018中国供应链金融论坛ppt,(16个)中国供应链创新与应用案例,2017中国供应链金融调研报告等。
  • 扫描完整版 带目录 语义万维网:工程实践指南.第二版,翻译版
  • 万维网实例 超媒体与超文本 万维网是分布式超媒体 (hypermedia) 系统,它是超文本 (hypertext) 系统的扩充。一个超文本由多个信息源链接而成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个...
  • 万维网脚本

    2015-10-19 17:09:04
    万维网脚本
  • 6.5 万维网www与HTTP协议

    千次阅读 多人点赞 2020-05-03 14:34:13
    文章目录1.www万维网(1)什么是万维网?(2)万维网的组成(3)URL---统一资源定位符(3)万维网工作流程2.HTTP---超文本传输协议(1)HTTP操作过程(2)HTTP特点(3)HTTP报文结构(4)WireShark捕获HTTP报文实例3...
  • 万维网www简介

    万次阅读 2020-03-20 10:30:39
    万维网WWW(world wide web)并非某种特殊的计算机网络,而是一个大规模、联机式的信息储藏所,英文简称web。万维网用链接的方法能非常方便地从互联网上的一个站点访问另一个站点,从而主动地按需获取信息。 ...
  • 对于部分人来说一提到万维网可能都是一脸懵逼,这是什么东西?其实它在日常生活中很常见,我们经常上网访问的网址都是www开头的,这3个w就是万维网缩写 万维网(World Wide Web) :这个网络意译过来被称为世界范围的...
  • 万维网WWW7.1 课后练习 6. 电子邮件   ■ 电子邮件(E-mail)是因特网上最早流行的一种应用,并且仍然是当今因特网上最重要、最实用的应用之一。   ■ 传统的电话通信属于实时通信,存在以下两个缺点:    ⋄...
  • (1)什么是万维网万维网(World Wide Web, WWW)是一个资料空间,在这个空间中:一样有用的事物称为一样“资源”,并由一个全域“统一资源定位符”(URL)标识。这些资源通过超文本传输协议(HTTP)传送给使用者,通过...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,498
精华内容 20,599
关键字:

万维网