目录

HTML

Web页面几乎全由HTML构建

HTML的版本

设计应用CSS

动态HTML

让Web页面动起来的动态HTML

更易控制HTML的DOM

Web应用

通过Web提供功能的Web应用

与Web服务器及程序协作的CGI

因Java而普及的Servlet

数据发布的格式及语言

可扩展标记语言

发布更新信息的RSS/Atom

JavaScript衍生的轻量级易用JSON


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的目的。

计算机网络 构建Web内容的技术相关推荐

  1. chap10 构建Web内容的技术

    1. 动态内容和静态内容 2. 与Web服务器及程序协作的CGI CGI ( Common Gateway Interface,通用网关接口)是指Web服务器在接收到客户端发送过来的请求后转发给程序的 ...

  2. 计算机网络 Web的攻击技术

    目录 针对Web的攻击技术 HTTP不具备必要的安全功能 在客户端即可篡改请求 针对Web应用的攻击模式 以服务器为目标的主动攻击 以服务器为目标的被动攻击 因输出值转义不完全引发的安全漏洞 跨站脚本 ...

  3. 基于 Web 引擎技术的 Web 内容录制

    随着基于WebRTC技术的Web应用快速成长,记录web在线教育.视频会议等场景的互动内容并对其准确还原越来越成为一项迫切需求.在主流浏览器中,通常基础设施部分已实现了页面渲染结果的采集及编码.开发者 ...

  4. RTE 大会回顾 | 基于 Web 引擎技术的 Web 内容录制

    随着基于WebRTC技术的Web应用快速成长,记录web在线教育.视频会议等场景的互动内容并对其准确还原越来越成为一项迫切需求.在主流浏览器中,通常基础设施部分已实现了页面渲染结果的采集及编码.开发者 ...

  5. 论Web Service 相关技术

    摘要:随着Internet和weh技术的迅速发展,传统的分布式计算技术已经不能很好的适用于Web环境.正是基于这种情况,Web Service技术应运而生.Web Service是一个新概念,它的系统 ...

  6. gis 大屏_胡中南:Web端GIS技术新进展 | (PPT+速记)

    ▲点击关注,收获更多GIS精彩 在GTC 2020『GIS基础软件新技术论坛』上,超图研究院副院长胡中南作<云原生GIS及Web端技术新进展>报告,他首先系统讲解了云原生GIS技术的三大新 ...

  7. 高德引擎构建及持续集成技术演进之路

    来自:高德技术 01 背景 由于导航应用中的地图渲染.导航等核心功能对性能要求很高,所以高德地图客户端中大量功能采用 C++ 实现.随着业务的飞速发展,仅地图引擎库就有40多个模块,工程配置极其复杂, ...

  8. 零基础代码学python-零基础学python之构建web应用(入门级)

    构建一个web应用 前面的学习回顾: IDLE是Python内置的IDE,用来试验和执行Python代码,可以是单语句代码段,也可以是文本编辑器中的多语句程序. 四个内置数据结构:列表.字典.集合和元 ...

  9. 用Apache构建WEB服务器

    用Apache构建WEB服务器 作者:level Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一.Apache取自"a patchy serv ...

最新文章

  1. 在 Azure 上部署 Asp.NET Core Web App
  2. 周志华《机器学习》课后习题解析(第四章):决策树
  3. C# Owin初探 概念理解
  4. 北京地铁线路图纯算法附带求极权值(原创) 性能提升版
  5. 正则表达式_月隐学python第20课
  6. WinHand.cpp Line 199 错误 WinHand.cpp Line 218 错误
  7. Magento: 自动生成产品SKU Auto generated SKU when add product in magento
  8. 给还是不给?又一个国家要求苹果必须为iPhone 12提供充电器
  9. oracle,sqlserver,mysql区别
  10. tf.nn.embedding_lookup()函数
  11. Unity3D for iOS初级教程:Part 3/3
  12. 短视频技术与市场动态
  13. pytorch搭建卷积神经网络【第三课_自己搭建对抗神经网络】
  14. 播放器显示服务器失败是什么意思,播放器没有办法播放
  15. 无人车之美——技术要点速览
  16. 正版鬼泣手游服务器,鬼泣手游
  17. 大学校友会校友卡小程序功能与UI设计
  18. 浙大第四版概率论第五、六章思维导图
  19. 算法和数据结构解析-8 : 栈和队列相关问题
  20. mysql docker oom_如何让docker容器不会被oomkill掉设置oomkilldisable

热门文章

  1. linux如何查看内存ddr几代,如何通过命令查看内存是ddr2还是ddr3的?
  2. 盘点好莱坞电影对人工智能的那些错误理解!
  3. FL Studio中的音频剪辑功能
  4. 企业微信审批页面HTML,企业微信审批模板调用示例及注意事项
  5. Oracle中SCOTT用户的 emp、dept、bonus、salgrade表的意思及其属性的意思
  6. Java判断一个序列是否可由给定序列通过栈操作获得(ABCDEF)
  7. 读刘未鹏老大《你应当怎样学习C++(以及编程)》
  8. 邦纳光电开关MIAD9R
  9. 苏嵌学习日志08 07.16
  10. 刘振飞BugFree管理系统的功能与使用(一)