HTML与本章前面讨论过的富文本格式(RTF)很相似,它们都含有带有格式信息的ASCII码文本。HTML也可包含多种图片格式,例如:GIF 文件、PNG(portable networkgraphics,便携式网络图像格式)文件,以及JFIF(JPEG文件交换格式)等。大部分万维网浏览器都支持浏览HTML文件,这是文本格式的优势所在。易检索性也是HTML被定义成文本文件的另一个优点。虽然名字可能有些让人迷惑,但HTML与我们在第19章和第24 章讲到的语言不同,它并不是真正的程序设计语言。Web 浏览器首先读取 HTML文件,根据读取到的内容显示文本和图形并编排它们的格式。
当我们浏览某些Web页面并进行一些操作时,有一些特殊程序需要并发执行,程序中的代码可以运行在服务器端(Server,用来存储原始Web页面的计算机)或客户端(Client),我们自己的计算机就是客户端。服务器端责任重大,通常要完成一些重要的处理工作(例如解释客户端填写的在线表格),服务器端的工作可以通过公共网关接口(Common GatewayInterface,CGI)脚本来处理。而对于客户端,HTML文件可以包含简单的程序设计语言,例如著名的 JavaScript。Web 浏览器可以对 Java Script 语句进行解释,就像解释HTML文本一样。
为什么Web站点不为我们的计算机提供一个可执行程序,如果这样的话问题一下子就解决了。要回答这个问题,我们首先要明确:我们的计算机是什么样的?如果使用的是Macintosh 机,那么这个可执行程序需要包含 Power PC 机器码,而且需要引用 Mac OS中的API函数;如果是一台PC兼容机,那么这个可执行程序需要包含Intel Pentium机器码,而且需要使用WindowsAPI函数。但计算机及图形操作系统的种类繁杂,还有许多其他类型的计算机和图形操作系统。进一步来说,我们也不想毫无目的地下载可执行文件,它们很可能来自于非信任站点而且会带有恶意行为。
上述问题的答案就在 Sun 公司开发的 Java 语言中(请勿与 JavaScript混淆)。Java 是一款成熟的面向对象程序设计语言,和C++有些类似。前面章节中我们讨论过编译语言(compiledlanguages,可产生包含机器码的可执行文件的语言)和解释语言(不可产生可执行文件的语言)之间的区别,Java是一种介于两者之间的语言。它需要经过编译,但编译的结果不是机器码,而是 Java 字节码(Java byte codes)。Java字节码与机器码在结构上很相似,但Java字节码可以在一种虚拟的计算机下被解释,即Java虚拟机(JavaVirtualMachine,JVM)上。被编译的 Java程序产生Java字节码,之后计算机模拟 JVM对其进行解释。Java程序的运行可以不受限于机器与图形操作系统的类型,所以它具有平台无关性(platform- independent)。
25 图形化革命
419