计算机网络 构建Web内容的技术
目录HTMLWeb页面几乎全由HTML构建HTML的版本设计应用CSS动态HTML让Web页面动起来的动态HTML更易控制HTML的DOMWeb应用通过Web提供功能的Web应用与Web服务器及程序协作的CGI因Java而普及的Servlet数据发布的格式及语言可扩展标记语言发布更新信息的RSS/AtomJavaScript衍生的轻量级易...
目录
HTML
Web页面几乎全由HTML构建
HTML (HyperText Markup Language, 超文本标记语言)是为了发送 Web上的超文本(Hypertext)而开发的标记语言。超文本是一种文档 系统,可将文档中任意位置的信息与其他信息(文本或图片等)建立 关联,即超链接文本。标记语言是指通过在文档的某部分穿插特别的 字符串标签,用来修饰文档的语言。我们把出现在HTML文档内的 这种特殊字符串叫做HTML标签(Tag)。
平时我们浏览的Web页面几乎全是使用HTML写成的。由HTML构 成的文档经过浏览器的解析、渲染后,呈现出来的结果就是Web页 面。
以下就是用HTML编写的文档的例子。而这份HTML文档内这种被< >包围着的文字就是标签。在标签的作用下,文档会改变样式,或插 入图片、链接。
HTML的版本
Tim Berners- Lee提出HTTP概念的同时,还提出了HTML原型。1993年在伊利诺伊大学的NCSA (The National Center for Supercomputing Applications, 国家超级计算机应用中心)发布了Mosaic浏览器(世 界首个图形界面浏览器程序),而能够被Mosaic解析的HTML, 统 一标准后即作为HTMLI.O发布。
目前的最新版本是HTML4.01标准,1999年12月W3C (World Wide Web Consortium)组织推荐使用这一版本。下一个版本,预计会在 2014年左右正式推荐使用HTML5标准。
HTML5标准不仅解决了浏览器之间的兼容性问题,并且可把文本作 为数据对待,更容易复用,动画等效果也变得更生动。
时至今日,HTML仍存在较多悬而未决问题。有些浏览器未遵循HTML标准实现,或扩展自用标签等,这都反映了HTML的标准实际 上尚未统一这一现状。
设计应用CSS
CSS (Cascading Style Sheets, 层叠样式表)可以指定如何展现HTML 内的各种元素,属于样式表标准之一。即使是相同的HTML文档,
通过改变应用的CSS, 用浏览器看到的页面外观也会随之改变。CSS 的理念就是让文档的结构和设计分离,达到解耦的目的。
下面让我们来看一个CSS的用例。
可在选择器(selector) .logo的指定范围内,使用{}括起来的声明块 中写明的padding: 20px等声明语旬应用指定的样式。
可通过指定HTML元素或特定的class、ID等作为选择器来限定样式 的应用范围。
动态HTML
让Web页面动起来的动态HTML
所谓动态HTML (Dynamic HTML) , 是指使用客户端脚本语言将静 态的HTML内容变成动态的技术的总称。鼠标单击点开的新闻、
Google Maps等可滚动的地图就用到了动态HTML。
动态HTML技术是通过调用客户端脚本语言JavaScript, 实现对 HTML的Web页面的动态改造。利用DOM (Document Object Model, 文档对象模型)可指定欲发生动态变化的HTML元素。
更易控制HTML的DOM
DOM是用以操作HTML文档和XML文档的API (Application Programming Interface, 应用编程接口)。使用DOM可以将HTML内 的元素当作对象操作,如取出元素内的字符串、改变那个CSS的属 性等,使页面的设计发生改变。
通过调用JavaScript等脚本语言对DOM的操作,可以以更为简单的 方式控制HTML的改变。
比如,从JavaScript的角度来看,将上述HTML文档的第3个P元素 (P标签)改变文字颜色时,会像下方这样编写代码。
document.getElementsByTagName('P')语旬调用getElementsByTagN ame 函数,从整个HTML文档(document object)内取出P元素。接下来 的content[2] .style.color='#FFOOOO'语句指定content的索引为2 (第3 个)的元素的样式颜色改为红色(#FFOOOO)。
DOM内存在各种函数,使用它们可查阅HTML中的各个元素。
Web应用
通过Web提供功能的Web应用
Web应用是指通过Web功能提供的应用程序。比如购物网站、网上 银行、SNS、BBS、搜索引擎和e-learning等。互联网(Internet)或企 业内网(Intranet)上遍布各式各样的Web应用。
原本应用HTTP协议的Web的机制就是对客户端发来的请求,返回 事前准备好的内容。可随着Web越来越普及,仅靠这样的做法已不 足以应对所有的需求,更需要引入山程序创建HTML内容的做法。
类似这种由程序创建的内容称为动态内容,而事先准备好的内容称为 静态内容。Web应用则作用于动态内容之上。
与Web服务器及程序协作的CGI
CGI (Common Gateway Interface, 通用网关接口)是指Web服务器在 接收到客户端发送过来的请求后转发给程序的一组机制。在CGI的 作用下,程序会对请求内容做出相应的动作,比如创建HTML等动态内容。
使用CGI的程序叫做CGI程序,通常是用Perl、PHP、Ruby和C等 编程语言编写而成。
因Java而普及的Servlet
Servlet1是一种能在服务器上创建动态内容的程序。Servlet是用Java 语言实现的一个接口,属于面向企业级Java (JavaEE, Java
Enterprise Edition)的一部分。
没有对应中文译名,全称是Java Servlet。名称取自Servlet=Server+ Applet, 表示轻量服务程序。
之前提及的CGL由于每次接到请求,程序都要跟着启动一次。因此 一旦访问最过大,Web服务器要承担相当大的负载。而Servlet运行在与Web服务器相同的进程中,因此受到的负载较小
Servlet的运 行环境叫做Web容器或Servlet容器。
Servlet常驻内存,因此在每次请求时,可启动相对进程级别更为轻量的Servlet, 程序的执行效率从而变得更高。
Servlet作为解决CGI问题的对抗技术随Java一起得到了普及。说对抗的原因在于,这个方向上已存在用Perl编写的CGI, 实现在Apache HTTP Server上内置mod_php模块后可运行PHP程序、微软主导的ASP等技术。
随着CGI的普及,每次请求都要启动新CGI程序的CGI运行机制逐 渐变成了性能瓶颈,所以之后Servlet和mod_perl等可直接在Web服 务器上运行的程序才得以开发、普及。
数据发布的格式及语言
可扩展标记语言
XML (eXtensible Markup Language, 可扩展标记语言)是一种可按应 用目标进行扩展的通用标记语言。旨在通过使用XML, 使互联网数 据共享变得更容易。
XML和HTML都是从标准通用标记语言SGML (Standard Generalized Markup Language)简化而成。与HTML相比,它对数据的记录方式 做了特殊处理。
下面我们以HTML编写的某公司的研讨会议议程为例进行说明。
用浏览器打开该文档时,就会显示排列的列表内容,但如果这些数据 被其他程序读取会发生什么?某些程序虽然具备可通过识别布局特征 取出文本的方法,但这份HTML的样式一旦改变,要读取数据内容 也就变得相对困难了。可见,为了保持数据的正确读取,HTML不适 合用来记录数据结构。
接着将这份列表以XML的形式改写就成了以下的示例。
XML和HTML一样,使用标签构成树形结构,并且可自定义扩展标 签。
从XML文档中读取数据比起HTML更为简单。由于XML的结构基 本上都是用标签分割而成的树形结构,因此通过语法分析器
(Parser)的解析功能解析XML结构并取出数据元素,可更容易地对 数据进行读取。
更容易地复用数据使得XML在互联网上被广泛接受。比如,可用在 2个不同的应用之间的交换数据格式化。
发布更新信息的RSS/Atom
RSS (简易信息聚合,也叫聚合内容)和Atom都是发布新闻或博客 日志等更新信息文档的格式的总称。两者都用到了XML。
RSS有以下版本,名称和编写方式也不相同。
R.SS 0.9 (R.DF Site Summary) : 最初的RSS版本。1999年3月由网 景通信公司自行开发用于其门户网站。基础构图创建在初期的RDF 规格上。
R.SS 0.91 (Rich Site Summary) : 在RSS0.9的基础上扩展元素,于 1999年7月开发完毕。非RDF规格,使用XML方式编写。
R.SS 1.0 (R.DF Site Summary) : RSS规格正处于混乱状态。2000年 12月山RSS-DEV工作组再次采用RSS0.9中使用的RDF规格发布。
R.SS2.0 (R.eally Simple Syndication) : 非RSSl.O发展路线。增加支 持RSS0.91的兼容性,2000年12月由UserLand Software公司开发完 成。
Atom具有以下两种标准。
Atom供稿格式(Atom Syndication Format) : 为发布内容而制定的 网站消息来源格式,单讲Atom时,就是指此标准。
Atom出版协定(Atom Publishing Protocol) : 为Web上内容的新增 或修改而制定的协议。
用于订阅博客更新信息的RSS阅读器,这种应用几乎支持RSS的所 有版本以及Atom。
下面是RSS1.0的示例。
JavaScript衍生的轻量级易用JSON
JSON (JavaScript Object Notation)是一种以 JavaScript (ECMAScript)的对象表示法为基础的轻晕级数据标记语 言。能够处理的数据类型有false/null/true/对象/数组/数字/字符 串,这7种类型。
{"name": "Web Application Security", "num": "TR001"}
JSON让数据更轻更纯粹,并且JSON的字符串形式可被JavaScript 轻易地读入。当初配合XML使用的Ajax技术也让JSON的应用变得 更为广泛。另外,其他各种编程语言也提供丰富的库类,以达到轻便 操作JSON的目的。
更多推荐
所有评论(0)