超文本标记语言 HTML
- 超文本标记语言 HTML 中的 Markup 的意思就是“设置标记”。
- HTML 定义了许多用于排版的命令(即标签)。
- HTML 把各种标签嵌入到万维网的页面中。这样就构成了所谓的 HTML 文档。HTML 文档是一种可以用任何文本编辑器创建的 ASCII 码文件。
HTML 文档
- 仅当 HTML 文档是以 .html 或 .htm 为后缀时,浏览器才对此文档的各种标签进行解释。
- 如 HTML 文档改换以 .txt 为其后缀,则 HTML 解释程序就不对标签进行解释,而浏览器只能看见原来的文本文件。
- 当浏览器从服务器读取 HTML 文档后,就按照 HTML 文档中的各种标签,根据浏览器所使用的显示器的尺寸和分辨率大小,重新进行排版并恢复出所读取的页面。
HTML 文档中标签的用法
略
两种不同的链接
- HTML还规定了链接的设置方法。每个链接都有一个起点和终点。
- 远程链接:超链的终点是其他网点上的页面。
- 本地链接:超链指向本计算机中的某个文件。
XML
- XML (Extensible Markup Language) 是可扩展标记语言,它和 HTML 很相似。
- 但 XML 的设计宗旨是传输数据,而不是显示数据(HTML 是为了在浏览器上显示数据)。
- XML 不是要替换 HTML,而是对 HTML 的补充。
XHTML
- XHTML (Extensible HTML) 是可扩展超文本标记语言,它与 HTML 4.01 几乎是相同的。
- 但 XHTML 是更严格的 HTML 版本,也是一个 W3C 标准(2000年1月),是作为一种 XML 应用被重新定义的 HTML,并将逐渐取代 HTML。
- 新的浏览器都支持 XHTML。
CSS
- CSS (Cascading Style Sheets) 是层叠样式表,它是一种样式表语言,用于为 HTML 文档定义布局。
- CSS 与 HTML 的区别就是:HTML 用于结构化内容,而 CSS 则用于格式化结构化的内容。
动态万维网文档
- 静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内容不会改变。
- 动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。
- 动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,这两种文档并没有区别。
万维网服务器功能的扩充
(1) 应增加另一个应用程序,用来处理浏览器发来的数据,并创建动态文档。
(2) 应增加一个机制,用来使万维网服务器把浏览器发来的数据传送给这个应用程序,然后万维网服务器能够解释这个应用程序的输出,并向浏览器返回 HTML 文档。
扩充了功能的万维网服务器
通用网关接口 CGI
- CGI (Common Gateway Interface) 是一种标准,它定义了动态文档应如何创建,输入数据应如何提供给应用程序,以及输出结果应如何使用。
万维网服务器与 CGI 的通信遵循 CGI 标准。 - “通用”:CGI 标准所定义的规则对其他任何语言都是通用的。
- “网关”:CGI 程序的作用像网关。
- “接口”:有一些已定义好的变量和调用等可供其他 CGI 程序使用。
CGI 程序
- CGI 程序的正式名字是 CGI 脚本 (script)。
- “脚本”指的是一个程序,它被另一个程序(解释程序)而不是计算机的处理机来解释或执行。
- 脚本运行起来要比一般的编译程序要慢,因为它的每一条指令先要被另一个程序来处理(这就要一些附加的指令),而不是直接被指令处理器来处理。
活动万维网文档
- 活动文档 (active document) 技术把所有的工作都转移给浏览器端。
- 每当浏览器请求一个活动文档时,服务器就返回一段程序副本在浏览器端运行。
- 活动文档程序可与用户直接交互,并可连续地改变屏幕的显示。
- 由于活动文档技术不需要服务器的连续更新传送,对网络带宽的要求也不会太高。
活动文档在客户端创建
用 Java 技术创建活动文档
- 由美国 Sun 公司开发的 Java 语言是一项用于创建和运行活动文档的技术。
- 在 Java 技术中使用 “小应用程序”(applet) 来描述活动文档程序。
- 用户从万维网服务器下载嵌入了 Java 小应用程序的 HTML 文档后,可在浏览器的屏幕上点击某个图像,就可看到动画效果,或在下拉式菜单中点击某个项目,就可看到计算结果。
- Java 技术是活动文档技术的一部分。
Java 技术有三个主要组成部分
- 程序设计语言。Java 包含一个新的程序设计语言,用来编写传统的计算机程序和 Java 小应用程序。
- 运行 (runtime) 环境。这是运行 Java 程序所必须的运行环境,其中包括 Java虚拟机(简称为JVM),该软件定义了Java二进制代码的执行模型。
- 类库 (class library)。为了更容易编写Java小应用程序,Java提供了强大的类库支持。
Java
- Java 是一种面向对象的高级语言,从 C++ 派生出来的,它省略了 C++ 很多复杂的、很少用的语言特点。
- Java 的每一个数据项都有一个确定的类型。对数据的操作严格按照该数据的类型来进行。
- Java 的编译程序将源程序转换成 Java 字节码 (bytecode),这是一种与机器无关的二进制代码。计算机程序调用解释程序读取字节码,并解释执行。
计算机硬件无关
- Java 语言、字节码以及 Java 运行系统都被设计成与计算机硬件无关。一旦形成了字节码,就可在任何计算机上运行并产生相同的输出。
- Java 小应用程序与机器无关可使在任何计算机上运行的浏览器程序能够下载并运行活动文档。
- 可保证活动文档在所有的浏览器上产生同样的正确输出。
- 可大大地降低活动文档的创建和测试费用,因为不必为每一种计算机都制作一个副本。
Java 解释程序
- 运行 Java 的浏览器需要有 HTML 解释程序和 Java 小应用程序解释程序。
解释程序的核心是一个模仿计算机的简单循环。 - 解释程序维持一个指令指针,在初始化时指在小应用程序的开始处。
- 在每一次循环操作时,解释程序在指令指针指向的地址读取字节码。然后解释程序对字节码进行解码,并完成指明的操作。