网络知识简介

前言
第一章 WWW简介
1.1 WEB的特点
1.2 URLS简介
1.2.1 File URLs
1.2.2 Gopher URLs
1.2.3 News URLs
1.2.4 HTTP URLs
1.2.5 Partial URLs
1.2.6 Other URLs
1.3 CGI简介
第二章 HTML简介
2.1名词解释
2.2 网页的组织与安排
2.2.1首先要明确你想在网页上作些什么
2.2.2设定你的目标
2.2.3将要表述的内容分成各个主题
2.2.4几种组织和浏览结构
2.2.5几点参考意见
2.3初步尝试
2.3.1基本属性的确定
2.3.2表头
2.3.3标题
2.2.4段落
2.4连结其他文件
2.4.1跳转至另一篇文章
2.4.2跳转至另一个段落
2.5另一些标注(TAGS)
2.5.1列表
2.5.2预设文字格式(Preformated text)
2.5.3换行标记
2.5.4地址 Address
2.5.5字符格式化标记
2.5.6特殊字符
2.6图形功能(GRAPHICS FUNCTION)
2.6.1显示图形
2.6.2调用图形
2.6.3图形处理
2.7音频和视频
2.8表格制作
2.9 FORM
2.10帧格式
2.11常见问题
2.12较长而完整的范例
图七
第三章 TCP/IP的应用
3.1 TCP/IP应用一:远程登录(TELNET)
3.2 TCP/IP应用二:文件传输(FTP)
第四章 WEB服务器的建立
4.1服务器程序获取
4.1.1 Netscape Server 获取
4,1,2 HTTPD Server 获取
4.2 服务器程序安装
4.2.1 Netscape Server 的安装
4.2.2 HTTPD Server 的安装
4.3参数修改
4.3.1 Netscape Server参数设置
4.3.2 NCSA HTTP SERVER参数设置
4.4 需安装的其他程序
4.4.1 Perl安装
4.4.2 Counter安装
附录JAVA介绍

第一章 WWW简介
WWW(World Wide Web )是一种建立在Internet上的全球性的,交互的,动态,多平
台,分布式,图形信息系统。同TELNET、GOPHER、FTP、WAIS、BBS等相似。它也是建
立在Internet上的一种网络服务。它遵循HTTP协议。缺省端口是80。它的开发最初是
为了在科学家之间共享成果,科学家们可以将科研成果以图文形式方在网上进行共享。
它的最基本的概念就是Hypertext,如果您用过任何一种在线帮助系统你就会比较了解
它的结构了。现在WWW的应用以远远超出了原设想。成为Internet上最受欢迎的应用之
一。它的出现极大的推动了Internet的推广。

1.1 Web的特点
Web是一种超文本信息系统如前面提到的,Web的一个主要的概念就是超文本连接,它
使得文本不再象一本书一样是固定的线性的。而是可以从一个位置跳到另外的位置。
你可以从中获取更多的信息。可以转到别的主题上。想要了解某一个主题的内容只要
在这个主题上点一下,就可以跳转到包含这一主题的文档上。正是这种多连接性我们
才把它称为Web.

Web是图形化的和易于导航的(navigate)
Web 非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和
文本的性能.在Web之前Internet上的信息只有文本形式。Web可以提供将图形、音频、
视频信息集合于一体的特性。同时,Web是非常易于导航的,只需要从一个连接跳到另
一个连接,就可以在各页各站点之间进行浏览了。

Web与平台无关
无论你的系统平台是什么,你都可以通过Internet访问WWW。浏览WWW对你的系统平台没
有什么限制。无论从Windows平台、UNIX平台、Machintosh还是别的什么平台我们都可
以访问WWW。
对WWW的访问是通过一种叫做浏览器(browser)的软件实现的。如Netscape 的Navigator、
NCSA的Mosaic、Mircorsofte的Explor等。

Web是分布式的
大量的图形、音频和视频信息会占用相当大的磁盘空间,我们甚至无法预知信息的多少。
对于Web没有必要把所有信息都放在一起,信息可以放在不同的站点上。只需要在浏览器
中指明这个站点就可以了。使在物理上并不一定在一个站点的信息在逻辑上一体化,从
用户来看这些信息是一体的。

Web 是动态的
最后,由于各Web站点的信息包含站点本身的信息。信息的提供者可以经常的对站上的信
息进行更新。如某个协议的发展状况,公司的广告等等。一般各信息站点都尽量保证信
息的时间性。所以Web站点上的信息是动态的。经常更新的。这一点是由信息的提供者保
证的。

Web是交互的
Web的交互性首先表现在它的超连接上,用户的浏览顺序和所到站点完全由他自己决定。
另外通过FORM的形式可以从服务器方获得动态的信息。用户通过填写FORM可以向服务器
提交请求,服务器可以根据用户的请求返回相应信息。

1.2 URLs简介
URL 是Uniform Resource Locator.即统一资源定位器。可以把它想象成文件名的网络扩
展。我们不但可以指出在目录下的文件名,并且可以指出在网络上的哪一台机器的目录
下的文件。这个文件可以通过各种不同的方式得到。在URL中还指定了访问这一文件的协
议。根据协议的不同可以把URL分成以下几种:

1.2.1 File URLs
指明一个FTP服务器可以简单的以如下方式指定:
file://ftp.net.tsinghua.edu.cn/
指定FTP服务器上的目录用如下URL:
file://ftp.net.tsinghua.edu.cn/pub
指定一个在匿名FTP服务器上的叫"boobar.txt"的文件,其URL如下:
file://ftp.yoyodyne.com/pub/files/foobar.txt

1.2.2 Gopher URLs
Gopher(信息鼠)URLs比文件URLs稍微复杂一点,因为Gopher服务器的处理机制略复杂于
FTP服务器。访问一个特定的Gopher服务器可以使用如下URL:
gopher://gopher.yoyodyne.com/
有些Gopher服务器可能不设在通常的端口上(缺省端口是70)。所以在指定某些Gopher
服务器时还需要指定端口,假设我们知道在机器”gopher.banzai.edu"上的Gopher服务
器的端口不是70,而是1234,则正确的URL应该是:
gopher://gopher.banzai.edu:1234/

1.2.3 News URLs
新闻组的URL非常简单:news://rec.gardening

1.2.4 HTTP URLs
HTTP是超文本传输协议标准。HTTP服务器通常用于超文本文档访问服务。它的URL写法
和Gopher很相似,对于一个在www.yoyodyne.com服务器上的文件foobar.html其URL是:
http://www.yoyodyne.com/foobar.html
和Gopher相似,HTTP的缺省端口是80,如HTTP指定其他端口则在URL中要写明这个端口
号。例如端口为1234则URL如下:
http://www.yoyodyne.com:1234/foobar.html

1.2.5 Partial URLs
Partial URLs是特指在文件中的超连接,它指向同一目录下或同一机器上其他目录下的
某一文件。这一URL大量应用在HTTP文件中。它可以使读者在多个文件之间进行跳转。
一般这些URL都不写明网络地址而只写相对地址。网络地址、目录、端口号及访问方式
等信息都从第一个文件中得到。

1.2.6 Other URLs
除上述几种URL外还有许多种URL。但上述是最重要的几种URL,关于其他URL的情况可以
在网上找到。(URL:http://www.ncsa.uiuc.edu/)

1.3 CGI简介
CGI(Common Gateway Interface)是信息服务的标准外部应用接口。一个通过Web访问的
简单HTML文档是静态的,即文件的内容是不变的。而一个CGI程序则不然,它是实时的,
所以它的输出的是动态的信息。
如果我们想在WWW和数据库之间建立联系,使人们可以从全球的任意地点都可以查询数据
库的信息。我们就可以用CGI来完成这一工作:Web服务器通过CGI程序传送信息给数据库,
从数据库得到返回的数据,Web服务器再将数据传给客户方的浏览器。
当然数据库应用只是CGI应用的一个方面。CGI可以支持多种不同的应用、只要是按CGI规
范写的可执行的程序都可以是CGI应用。所以实际上对CGI程序没有什么限制。

因为CGI程序是可执行程序,所以所有在Server方可执行的程序都可以是CGI程序。所以一
个CGI程序可以用任何一种系统上可执行的语言编写。如:
C/C++
Fortran
PERL
TCL
Any Unix shell
Visual Basic
AppleScript

用何种语言视编程者的喜好而定,C程序需要编译,而UNIX SHELL 或PERL等,只要把程序放
在/cgi-bin目录下就可以了。(也可以通过在服务器方指定文件后缀的方式指定CGI程序)
简单的来说一个CGI的实现是这样的:首先用户在浏览器中通过FORM向服务器发送信息,CGI
程序从服务器得到用户发来的信息。进行解码调用应用程序等处理之后,以标准输出形式返
回信息给服务器,再由服务器把输出返回给客户端。其流程参见下图所示:

Browser Server

第二章 HTML简介
HOMEPAGE(主页)是可以通过WWW查询的Internet上WWW站点首页。从某种角度来说可以说是
电子广告板、信息板,它包含了大量的信息。由于Internet以异乎寻常的速度发展,WWW在
信息交换查询中的地位得到了很大提高,这就使HOMEPAGE的编写变得十分重要。
HOMEPAGE是以HTML格式写成的,HTML不是WYSIWYG(所见即所得)的,不过HTML非常易学易用,
它以标签(TAG)标示及排列各对象。而标签本身则以"<"和">"号标识,标签内的内容称为
(ELEMENT),元素代表了标签的意义。一般格式为:
<ELEMENT>OBJECT</ELEMENT>
<ELEMENT ATTRIBUTE=ARGUMENT>OBJECT</ELEMENT>, 或者
<ELEMENT>
元素是与大小写无关的。它很类似与工业标准的SGML(标准广义标置语言),它的结构可以
归为SGML文档类型定义(DTD)。目前的版本是HTML2.0或3.0。支持HTML3.0的Web浏览器有
Netscape Navigator,Mosaic2.5b等。下面就简单介绍一下用HTML写HOME PAGE的方法。

2.1名词解释
Web presentation Web表述,Web表述是包含许多连接在一起的用于表达某一目的的网页的
总称。它是一个体系结构。
Web pages 网页就是可以被浏览器访问的单个HTML文件。
Home Page 主页是Web站点的首页。即被访问站点的第一个网页。
WWW-- World Wide Web 全球资讯网
SGML -- Standard Generalized Marked Language 标准广义标记语言。
DTD-- Document Type Definition 文件类型定义。DTD和SGML的关系,就象C++和计算机语
言的关系。
HTML -- HyperText Markup Language 超文本标记语言。
HTML is a SGML DTD.
超文本标记语言是一种标准标记文件的定义。而在全球资讯网中所阅读的文章,正是依照种
标准。

2.2 网页的组织与安排
在我们要在网上发布信息、建立网页之前首先注意以下几个原则和建议可能会有助与今后网
页的制作。

2.2.1首先要明确你想在网页上作些什么
在写HomePage之前最好要明确写HomePage的目的是什么,是个人信息、公司介绍、在线文档、
购物目录还是别的什么。有一个明确的目的对于Web presentation的组织很有好处。当然这
并不是说没有一个明确的目的就不能写主页。也可以在制作中建立目的。只是那样工作量会
比较大。会有一些重复的工作。

2.2.2设定你的目标
有了一个明确的目的后还需要确定一下Web的目标,比如写公司的HomePage有人关心招聘方
|面的信息有人关心公司的产品还会有人想知道公司的技术发展状况。作为Web的制作者就要
先确定写Web要满足哪部分人的需求。确立目标可以有助于在重多的信息中保证主要目标的
实现。使信息不会被淹没在过多的额外信息中。

2.2.3将要表述的内容分成各个主题
在确立了目标之后就需要把要表述的内容分成各个主题来别论述。尽量使信息组织的条理
化。这就象写书要先写目录。一个好的组织结构会大大方便读者的浏览。应该注意的是每个
主题不要太笼统、范围太大,这样会使浏览者不知看哪个主题好。要尽量保证主题与内容的
一致性。

2.2.4几种组织和浏览结构
建立Web 出版有点象出书,但它的结构比书要复杂,一个Web出版常用的结构有线性结构、
层次结构、线性交换结构以及线性和层次相结合的结构。应该尽量避免形成复杂的网状结
构。在信息不断增多后日益复杂的网状结构会使维护工作非常困难。

2.2.5几点参考意见
短小紧凑
短小紧凑可以快速下载,不要让用户等待的时间过长。一些小图标会比较有用。
信息要经常更新
前面讲过,Web是经常更新的。在主页上注明更新日期及URL对于经常访问的用户非常有用。
主页上要有文字显示
并不是所有的浏览器都有图形浏览功能,有时为了节省时间用户会关闭浏览器中下载图形的
功能。所以在主页上最好有文字显示。

2.3初步尝试
现在,我们开始制作第一个HTML文件。
超文本标记语言(HTML)其实只是很平常,很普通的文本文件。你可以用你所熟悉的文字编辑
器来编辑它,例如EDIT、VI、WS、Word等,(但一定要以纯文本方式保存,浏览器只识别纯
文本格式的文件)不一定要用其它的新颖编辑器。只要通过一些简单的标注,就可以让文章
生动、活泼起来,这就是HTML的特色。下面是个简单的例子,其文件名为test.html。
<HTML>
<BODY BGCOLOR="#ffffff" TEXT="660000">
<TITLE>简单的HTML文件</TITLE>
<H1>这里放个标题</H1>
欢迎进入全球资讯网 !
这是第一段落的结束。<P>
<H2>这里是H2字体!!</H2>
<H3>这里是H3字体!!</H3>
<H4>这里是H4字体!!</H4>
另一段落的结束在这儿<P>
<H5>这里是H5字体!!</H5>
<H6>这里是H6字体!!</H6>
</BODY>
</HTML>
在Netscape Navigate 中调用test.html结果如如图一所示:

图一

<HTML> 是标记HTML文档的开始,在文件结束处要有对应的符号</HTML>。<BODY>是标记文件
体的开始,对应结束符是</BODY>。<BODY>还有一些属性可以设定背景色,背景图形等。HTML
语言的一大禁忌是标记交叉,这一点在写HTML时一定要牢记。下面就各部分开始分别介绍。

2.3.1基本属性的确定
在<BODY>元素可以确定整个文件的背景色、前景色等基本属性。
语法:
<BODY [BGCOLOR|TEXT|LINK|ALINK|VLINK|BACKGROUND]>
OBJECTS
</BODY>
BGCOLOR: HTML的背景色
TEXT: 指定HTML文件中文字色彩属性
LINK: 指定HTML文件中待连接超连接对象色彩属性
ALINK: 指定HTML文件中连接中超连接对象色彩属性
VLINK: 指定HTML文件中已连接超连接对象色彩属性
BAKGROUND: 指定HTML背景图形。
例子:
<HTML>
<BODY BGCOLOR="FFFFFF" TEXT="#000000" LINK="0000FF" BACKGROUND="TEST.GIF">
</BODY>
</HTML>
各属性的参数值可以是用英文描述的颜色如 'RED'、'BLUE'、'YELLOW'等,也可以是RGB值,
共6位,每种颜色两位从00到FF。如红色可以表示为“ff0000",蓝色可以表示为"0000ff"等。
某些HTML编辑器允许客户直接从颜色表中选取。类似的软件有WebEdit,NetscapeGold、HTMLEDIT等。

2.3.2表头
<TITLE>和</TITLE>记号中间所包住的文字,就是这一篇文章的主题,它一定在文章的最前
面,它会显示在Web浏览器最上面的Title栏的位置。用户可以把它加入BOOKMARK中
(Netscape中),以便能迅速返回该文档。<TITLE>可以提供加入HOSTLIST或BOOKMARK列表
的文本,所以一定要使<TITLE>文本有明确的意义,不要过于模糊和笼统。

2.3.3标题
HTML中的标题是通过<H>标记实现的。被<H1>和</H1>所夹在中间的文字,是文章里的标题。
它可以标注出六个层级的标题,从<H1>、<H2> 、、、、、到<H6>,也可以说<H3>是<H2>的
子标题。差别在於标题的文字会比子标题大些、粗些、更显眼。在前面的例子里可以看见
他们之间的差别。每遇到一个标题时,当前段落就会被终止,标题前后会各留出一定的空
白。文本从下一行开始。<H>的属性有COLOR、ALIGN。分别标识标题的颜色和位置。

2.2.4段落
<P>是HTML格式中特有的段落元素。在HTML格式里我们不需要在意文章每行的宽度,不必担
心文字是不是太长了而被截掉;它会根据窗口的宽度做自动转折到下一行的工作。因此,在
原始文件中的<P>,就是指出了这儿告一段落,下面的文字换行从头再开始。如果没有遇到
<P>这个符号,它就会把所有之前的文字都挤在一个段落里,不遇到窗口的边界是不会换行
的。我们在原文件中的换行动作,若不设标记,是会被视而不见的.

2.4连结其他文件

2.4.1跳转至另一篇文章
HTML文章的另一个特色,就是在文章段落间任意地跳转。可以跳到另外一台机器上的文件,
也可以跳到文章的另一个段落或本机的另一片文章。下面是它标注的格式。基本上,它会
是这一个样子:
<A href="filename.html" >Link to filename </a>
这表示我们将看到"Link to filename"会变色并加下底线出现在Netscape中,当游标移到
上面时,会从箭头转成手指,这表示你可以在这儿用鼠标按一下:会跳转到filename.html
的文章里。这很简单,我们只要把目的地赋给href就可以了。href的参数就是后面要提到
的URL。当它要跳转到别外一台主机时," "中的格式是这样子的。
"Scheme://host.domain[:port]/path/filename"
scheme可以是file、http、gopher、WAIS,这要视该主机提供ftp节点。http代表著另一台
WWW伺服器。gopher代表目地的是gopher主机上的档案;WAIS亦同。这些都是URL(Uniform
Resource Locator) 有关URL的概念见后面的描述。
例如:想连结HTML的英文简介,可以写成下面那样:
<A HREF="http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimer.html">
NCSA's HTML Primer </A>

2.4.2跳转至另一个段落
除了跳到另一个HTML文件,也可以在一篇文章内随心所欲地跳转。首先看看它在" "引号中
的表示方式
<A HREF="#clients">Jump to Clients </A>
「Jump to Clients」会变色加上底线并连接到一篇文章中有标注<A NAME= "clients">
Clinets </A>的地方。如果这两个标注是在不同的文件内,则表示方法有点儿改变。若Jump
to Clients 在A文章,而Clients 在B文章中,则要改成
<A HREF="filenameB#clients"> Jump to Clients </A>
这样一来,当我们在A文章中点Jump to Clients 时就会跳到B文章的Clients这个字的位置,
而不是B文章中的其它地方。

2.5另一些标注(tags)
下面我们一一列出另外的一些比较有用的标注。

2.5.1列表
a.未标序的列表(Unnumbered Lists )
先说明列表的种类<UL>,然後在每一行文字前加上<LI>,最后加上列表结束符</UL>例如:
<UL>
<LI> apples
<LI> bananas
</UL>

输出如下:
apples
bananas

要注意若使用不同的浏览器(Mosaic,Cello,Windeb)就可能会有不同的效果。在每一行的起
始也许是圆形标记,或是一'□'标记。

b.标序列表(Numbered Lists 或Ordered Lists)
方法跟前者相似,先说明种类<OL>,再加上<LI>於各项之首,最后加上列表结束符</OL>,
如下例:
<OL>
<LI> oranges
<LI> peaches
<LI> grapes
</OL>

输出效果如下:
1. oranges
2. peaches
3. grapes

c.陈述式列表(Descricptive Lists)
陈述式的列表包括了个别的主题和其叙述主题比叙述的部份凸前,为独立的一行。叙述
的部分被视为一长串文字会自动折行。先标记<DL>,主题放在<DL>的后面,叙述放在
<DD>后面,最后以</DL>结尾。在<DT>和<DD>间,可以包含其它的标注元素,如下例:
<HTML>
<BODY>
<DL>
<DT> National Center for Supercomputing Applications
<DD> NCSA is located on the campus of the University
of Illinois at Urbana-Champaign. NCSA is a one of
four member institutions in the National Metacenter for
Computational Science and Engineering.
<DT> Cornell Theory Center
<DD> CTC is located on the campus of Cornell
University in Ithaca, New York. CTC is another member
of the National Metacenter for Computational Science
and Engineering.
</DL>
</BODY>
</HTML>

输出效果如下:

National Center for Supercomputing Applications
NCSA is located on the campus of the University of Illinois at
Urbana-Champaign. NCSA is a one of four member institutions in the
National Metacenter for Computational Science and Engineering.
Cornell Theory Center
CTC is located on the campus of Cornell University in Ithaca, New York.
CTC is another member of the National Metacenter for Computational
Science and Engineering.
d.综合列表
列表的里面,还可以包含列表;效果是有层次的列表表示方法。要说明的是,因浏览
器的不同,而会有不同的显示效果,可能不是你想要的。如NCSA Mosaic会把第二层的
列表加上。如下例:
<UL>
<LI> A few New England states:
<UL>
<LI> Vermont
<LI> New Hampshire
</UL>
<li> One Midwestern state:
<UL>
<LI> Michigan
</UL>
</UL>
显示效果如下:
A few New England stat标记,是会被视而不见的.
2.4连结其他文件
2.4.1跳转至另一篇文章
HTML文章的另一个特色,就是在文章段落间任意地跳转。可以跳到另外一台机器上的文
件,也可以跳到文章的另一个段落或本机的另一片文章。下面是它标注的格式。基本上,
它会是这一个样子:
<A href="filenaE>.</PRE>之间的文字间隔、换行、空白照原始键入的情形,一五一十、
忠实地再显现出来。这常用於计算机程序的表达,(在Home Page文字描述中,PRE格式
不太美观,建议尽量少用)其它标注(tags)是允许存在<pre>里,但浏览器并不解释这些标
注元素。例如:
<PRE>
#!/bin/csh
cd $SCR
cfs get mysrc.f:mycfsdir/mysrc.f
cfs get myinfile:mycfsdir/myinfile
fc -02 -o mya.out mysrc.f
mya.out
cfs save myoutfile:mycfsdir/myoutfile
rm *
</PRE>

显示如下
#!/bin/csh
cd $SCR
cfs get mysrc.f:mycfsdir/mysrc.f
cfs get myinfile:mycfsdir/myinfile
fc -02 -o mya.out mysrc.f
mya.out
cfs save myoutfile:mycfsdir/myoutfile
rm *    

2.5.3换行标记
<BR>这个标记用来标识一个换行动作。在HTML文件中可以用它来调整行间距。另外一个
类似的标记元素是<HR>.它是画一条水平线。线的宽度和高度是可调的。这个标记对于美
化页面是比较有帮助的。它的属性是ALIGN、WIDTH、SIZE分别用于调整线的位置和宽度。
ALIGN的参数和前面提到的类似有RIGHT、CENTER、LEFT。WIDTH可以用百分数表示也可以
用绝对值指明。

2.5.4地址 Address
这个标注通常用来告知大家本篇文件的作者。经常是一个Email Address 放在文件的最
後面。范例如下:
<ADDRESS>
A Beginner's Guide to HTML / NCSA / pubs@ncsa.uiuc.edu
</ADDRESS>

结果如下:

A Beginner's Guide to HTML / NCSA / pubs@ncsa.uiuc.edu

2.5.5字符格式化标记
个别的字或句子可以使用不同的字型,这取决於你使用的浏览器。譬如说,<CITE>在你的
浏览器中定义为斜体字,那每次你输入<CITE>,字型就会自动变为斜体,在NetScape中斜体
用的是<I>.黑体用的是<B>,下划线用<U>,打字机字体(Curier)用<TT>.

范例如下:
Italic
<I>text</i> puts text in italics (HTML Primer)
<em>text</em> also italicizes text (only one viewer)
<cite>text</cite> is used for citations of names of manuals,
sections, or books (HTML Primer)
<var>text</var> indicates a variable (filename)
Bold
<b>text</b> puts text in bold (Important)
<strong>text</strong> also emphasizes text (Note:)
Fixed width font
<tt>text</tt> puts text in a fixed-width font (1 SU = 1 CPU
hour)
<code>text</code> also puts text in a fixed-width font (1 SU
= 1 CPU hour)
<samp>text</samp> formats text for samples (-la)
<kbd>text</kbd> displays the names of keys on the keyboard ( HELP)

输出结果:

图三

更多的格式标记:
<CODE> 用于HTML指令
<DFN> 定义
<EN> 强调
<KBD> 键盘字符
<SAMP> 某个命令的例子
<VAR> 程序变量
<STRONG> 着重强调(黑体)
2.5.6特殊字符
在ASCII码中,有三个字符:大於(>)、小於(<)、(&)被当作HTML格式中的控制码,所以要
在屏幕上显示出这三个字符,必需配合其它表示法。
&lt 在屏幕上会是 <
&gt 在屏幕上会是 >
&amp 在屏幕上会是 &
尚有其他特殊字符(ISO 8859-1)
如 &ouml ->
   &ntilde -> ±
&Egrave -> 《
这些可以从CERN的列表中得知。

2.6图形功能(Graphics Function)

2.6.1显示图形
NCSA Mosaic、NetScape 可以直接在文件上显示 JPG、BMP或GIF格式的图形。每个图形都
需要时间来显现而挈长了整个文件显现的时间。同一个图在文件内使用多次会比只使用一
次情况好些。注意:<img>是NCSA Mosaic 首先采用的标注,并非所有的浏览器能解译。表
示方法如下:
<IMG SRC="filename.GIF">
若未加特别注解,此段的文字会被置於图形的下面。若想要文字置於图形的上面,就得加上
align=top的参数:<IMG ALIGN=top SRC="filename.GIF">如果图很大,几乎塞满整个窗口,
你应该在图形插入前加上<P>的标注。
IMG元素有两个重要属性:Align 和Alt
对于客户方不能看image的或把浏览器的自动调入image功能关闭的客户,可通过ALT属性显
示一些TEXT给客户而不至于屏幕上一片空白或替代的碎图片。Align的参数有TOP、MIDDLE、
BOTTOM、LEFT和RIGHT.表示图形在屏幕的位置。

2.6.2调用图形
当你的图形很大,或是让读者选择性的看图时,你可以做一个联结(link),从一段文字或一个
小图跳转到另一个新的图形窗口(另一个文件)。不用花费漫长的时间在主文件中读图,可以
用小的图片或文字,引导读者自己决定矣蠵hotoShop、PaintBrush、PhotoPublish、Liew等。
图形的格式是十分丰富的。一般JPE压缩比较好颜色饱满。而GIF图有很多特殊属性如透明图形
(gif89a)和动态图形(gif87)。一般的小型图形处理软件在匿名FTP站上都可以找到。国内
的如清华BBS站的FTP及北京大学的FTP站、北邮FTP站? cd $SCR
cfs get mysrc.f:mycfsdir/mysrc.f
cfs get myinfile:mycfsdir/myinfile
fc -02 -o mya.out mysrc.f
mya.out
cfs save myoutfile:mycfsdir/myoutfile
rm *
</PRE>

显示如下
#!/bin/csh
cd $SCR
cfs get mysrc.f:mycfsdir/mysrc.f

2.7音频和视频
在Web中加入音频信息之前要先了解一下音频文件的格式。常见的音频文件的格式有AU、WAV、
AIFF和SND。音频文件的采集可以是从CD上下载也可以通过软件转录。一般音频文件都很大,
如改用8位单声道的会大大减小音频文件的大小。在Web中加入音频文件的方法非常简单,只要
把HREF指定的URL写上相应的音频文件名就可以了。例子如下
<A HREF=“olivier_h.au">Test of Sound </A>
视频的加入和音频类似,
exp:
<A HREF="TEST.MPEG">TEST OF VIDEO </A>
无论音频信息还是视频信息都要求用户端有相应的应用程序可以播放这些信息。这些程序或
是嵌入浏览器或是独立存在。现在用java在支持java的浏览器中也可以实现音频和视频信息
的播放而不需要更多的附加软件。
2.8表格制作
Netscap1.1以后的版本加入了对表格的支持。表格的表示如下:
<TABLE>OBJECT</TABLE>
定义表格标题:
<CAPTION...> OBJECTS </CAPTION>
定义表格列:
<TR ..> OBJECTS </TR>
定义表头资料:
<TH..> OBJECTS </TH>
定义表格内容:
<TD..> OBJECTS </TD>
相关参数如下:

控制项目
属性关键字
变量
表格边宽bordern
格间距cellspacingn
格边宽cellpaddingn
占用列数colspann
占用行数rowspann
标题位置captiontop|bottom
水平位置alignleft|center|right例子:
<HTML>
<HEAD>
<TITLE>Netscape 表格范例</TITLE>
</HEAD>
<BODY>
<H3>表格范例</H3>
<TABLE BORDER=2 CELLSPACING=4 CELLPADDING=10>
<CAPTION>表格示范</CAPTION>
<TR>
<TH ROWSPAN=6>备注</TH>
<TH COLSPAN=5>数学成绩</TH>
</TR>
<TR>
<TH ROWSPAN=6><A HREF="mailto:wp@ccoa.cic.tsinghua.edu.cn"><img align=top
src="flower.gif"></A></TH>
</TR>
<TR><TD>80</TD><TD>90</TD></TR>
<TR><TD>85</TD><TD>93</TD></TR>
</TABLE>
</BODY>
</HTML>

输出结果:

图四

2.9 Form
Form 是实现交互功能的主要方式,用户一般通过FORM向CGI提交信息。FORM的语法如下:
<FORM METHOD=" ..." ACTION="">
<INPUT TYPE="..." NAME="...>
....
</FORM>
FORM的输入域有以下几种:
SUBMIT:这是每个FROM都有的。在浏览器中这是一个按钮,表示开始提交信息。激活服务
器端的CGI程序。
TEXT: 这是文本输入域,用户在通过它输入信息。
RADIO:类似与Windows中的单选钮
CHECKBOX:多选纽
另外还有选择列表:SELECTION语法如下:
<SELECT NAME="...">
<OPTION> .....
<OPTION>...
....
</SELECT>
下面给出一个简单的例子:

<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 3.0//EN">
<HTML>
<HEAD>
<TITLE>清华大学教工电话查询</TITLE>
</HEAD>
<BODY BACKGROUND="../image/softsp02.jpg">
<PRE>
<FORM METHOD=POST ACTION="http://166.111.4.3/cgi-bin/super/perl_dh" TARGET="_top">

<B>姓名简拼:</B><INPUT NAME="xmpy" TYPE=text SIZE=8>
<B>姓名: </B><INPUT NAME="xm" TYPE=text SIZE=8>
<B>电话: </B><INPUT NAME="dh" TYPE=text SIZE=8>

<INPUT NAME="ok" TYPE=submit VALUE=" 确认 "> <INPUT NAME="cancel" TYPE=reset
VALUE="重置条件">

</FORM>
</PRE>
</BODY>
</HTML>
输出结果如下:

图五

2.10帧格式
在HTML3.0中加入了对帧格式的支持,即将屏幕分割成几块,每块对应着一个HTML文件。
各帧的连接浏览都是独立运行的。Netscape公司在Navigate2.0以后的版本中提了对帧
格式的解释。帧格式是通过<FRAMESET>标志元素定义的。其格式如下:
<FRAMESET [ROW|COL]="...">
...
<FRAME SRC="FILENAME" ATTRIBUTE=ARGUMENT>
...
</FRAMESET>

主要属性
含义
参数值scorling
是否允许滚屏no/yes(default is yes)nameframe名
自定义nosize
是否可改frame大小 ROW和COL是分别指明如何分割屏幕。引号内可以用百分数表示各帧
所占屏幕比例,可以直接明大小(用piex值)。“*”表示均分。<FRAMESET>可以嵌套。
SRC属性指出各帧所对应的HTML文件。
由于某些浏览器不支持帧格式所以帧格式中还提供一个<NOFRAME>标志元素。不支持帧格
式的浏览器可以直接跳转到该标记后开始解释。而忽略前面的帧格式标记。
下面是一个简单的例子(注意不要加<BODY>标记)
<html>
<HEAD>
<TITLE>人员查询</TITLE>
<mes>
</HTML>
帧的输出结果如下:
图六
2.11常见问题
1.某些标注内不能引用其他的不完整的标注,这表示有些结构是无法重叠的。如:
<H1> This is <A name="foo"> invalid HTML</H1></a>就是行不通的。
2.当<img>所联结的图形文件不存在或无法正常显示时Netscape 会用 N 隙加胁簧
佟9獾恼镜憧梢酝ü鼳RCHI查询得到。

2.7音频和视频
在Web中加入音频信息之前要先了解一下音频文件的格式。常见的音频文件的格式有
AU、WAV、AIFF和SND。音频文件的采集可以是从CD上下载也可以通过软件转录。一
般音频文件都很大,如改用8位单声道的会大大减小音CSA logo 图形取代。
2.12较长而完整的范例
<HTML>
<BODY>
<TITLE>A Longer Example</TITLE>
<H1>A Longer Example</H1>
<HR>
This is a simple HTML document. This is the first paragraph.
<P>
This is the second paragraph, which shows special effects. This is a
word in <I>italics</I>. This is a word in <B>bold</B>.
Here is an inlined GIF image: <IMG SRC="myimage.gif">.
<p>

This is the third paragraph, which demonstrates links. Here is
a hypertext link from the word <A HREF="subdir/myfile.html">foo</A>
to a document called "subdir/myfile.html". (If you
try to follow this link, you will get an error screen.)
<P>

<H2>A second-level header</H2>
Here is a section of text that should display as a fixed-width font:
<P>
<PRE>
On the stiff twig up there
Hunches a wet black rook
Arranging and rearranging its feathers in the rain ...
</PRE>

This is a unordered list with two items: <P>
<UL>
<LI> cranberries
<LI> blueberries
</UL>

This is the end of my example document. <P>

<address>Me (me@mycomputer.univ.edu)</address>
</BODY>
</HTML>
结果如下:

图七

第三章 TCP/IP的应用

3.1 TCP/IP应用一:远程登录(Telnet)
UNIX是一个多用户系统。多用户系统都有用户帐号概念。用户帐号规定了用户对
系统的使用权,用户登录进入后就可以访问系统的全部或部分资源。远程登录就
是指一个远地用户通过TCP/IP进入帐号,访问远地资源。TELNET协议的目的是提
供一个通用、双向、基于8位字符的通信服务。它是面向终端的处理。是一种网络
上的虚终端。(NVT)
远程登录的目的在于访问远地系统的资源。一个用户在登录后系统并不区分是否
是本地用户。所以用户在本地可以作的任何操作都可在远地进行。
如用户需要进行编译等操作是就需要TELNET到服务器上进行。微机上的TELNET程
序很多。一般WINDOWS下的比较好(常见的有NETTERM、TERATERM、EASN等),大多
支持中文。DOS下的支持中文的TELNET较少。TELNET到主机后使用主机操作系统
命令。(一般是UNIX命令)

3.2 TCP/IP应用二:文件传输(FTP)
FTP是用于TCP/IP网络的文件传输应用。是TCP/IP中使用最广泛的应用之一。FTP
是基于客户/服务器模型设计的,客户和服务器之间利用TCP建立连接。FTP服务器
在这里是指提供FTP服务的机器。任何一个UNIX系统都提供FTP Server服务。
客户端的FTP程序可以按操作方式可以分成两种:命令方式和图形方式。一般DOS下
的多是命令方式,WIN下的多是图形方式。无论是何种方式使用FTP都要经过连接的
建立,文件传输连接解除三个步骤。连接的建立是指建立FTP会话连接,在这一过程
中要求用户输入FTP服务器的地址,用户名和口令。连接建立后就可以在服务器和
本地机(本地机可以是任意一台有FTP程序的支持TCP/IP的机器)之间传输文件了。
现在的FTP程序还支持创建目录、删除目录、及删除文件等简单的文件操作。FTP允
许客户指定存储数据的类型,常见的文件类型有文本和二进制两种。象TXT文件,
HTML文件等都是文本文件,而可执行程序大多是二进制文件,图形文件也是二进制
文件。在进行文件传输是一定要注意不要部把二进制文件当成文本文件传输。
DOS下的FTP一般为交互式,连接建立的命令是open,传输命令是get/put,连接结束
命令是close。其他命令有目录移动命令cd,本地目录移动命令lcd.文件类型指定命
令binary/ascll.另外还有一些辅助命令。
WINDOWS下的FTP一般功能较强,可以支持带目录的文件上载和下载。(上载只象FTP
服务器传输,下载反之)常用的WINDOWS下的FTP程序有WS_FTP32,WS_FTP16,CUTEFTP32,
CF1614F5,FTP4W12Gd等。基于WINDOWS的FTP程序一般都有较好的集成性。文件的拷贝
通过双点(doubleclick)的方式实现。
需要单独提一下的是NCFTP,这是一种可以连续拷贝的FTP程序,这种FTP在需要从国外
站点或很热的站点取所需要的文件是非常有用。由于线路问题断线是常有的事,为了
传输一个大文件用NCFTP可以较好的解决这一问题,因为它可以连续传输,即可以接着
上次的断点传送。

第四章 Web服务器的建立

4.1服务器程序获取

4.1.1 Netscape Server 获取
Netscape Server 是Netscape 公司的WWW服mes>
</HTML>
帧的输出结果如下:
图六
2.11常见问题
1.某些标注内不能引用其他的不完整的标注,这表示有些结构是无法重叠的。如:
<H1> This is <A name="foo"> invalid HTML</H1></a>就是行不通的。
2.当<img>所联结的图形文件不存在或无法正常显示时Netscape 会用 N钠教坝τ
玫南畈⑻峤唬帽砀窕嵋訣mail的形式发送给Netscape公司。 Netscape公司的服
务器在受到Email后会回一封Email,在该Email中会提供一个用户名、口令和URS。
之后就可以用FTP下载服务器软件了。(注意:该软件是以.tar.gz形式存储的,要用
二进制方式传输。该软件的基于Sun平台的软件在国内的某些FTP站上也有。如清华
大学的水木清华FTP站下可以找到。)

4,1,2 HTTPD Server 获取
HTTPD 是NCSA的免费的WWW服务器软件。它可以直接从NCSA的站点上得到。不需要用
户名和口令。在国内的FTP站上有已经传过来的该软件。版本号是1.5以上。可以直
接下载到本机。

4.2 服务器程序安装

4.2.1 Netscape Server 的安装
Netscape Server 对于不同的平台安装略有不同。这里讲的是UNIX平台。
步骤一:解压缩
因为Netscape Server 的程序是以.tar.gz方式存放的,所以首先要解压缩。解压缩
分2步,先用gzip 将.tar.gz解为.tar文件。再用tar将.tar文件解包安装。Tar是UNIX
系统的标准命令。Gzip是一个附加的应用程序,可以从网络上下载其原代码编译获得。
具体命令如下:
gzip -d filename.gz
tar -cvf filename.tar
步骤二:安装
Netscape Server For Solaris的安装比较简便,可以有远程和本地安装两种方式。
因为Netscape Server的安装是通过Netscape 浏览器安装的。所以本地安装要求要先
安装Netscape基于安装平台的浏览器。远程安装要先安装基于安装平台的浏览器。
当Netscape Server程序解包后会建立安装目录,目录下有一INSTALL的shell程序。
运行该程序回答DOMANNAME并指明安装方式是本地还是远程。安装程序会告诉你一个端
口号,指明安装Server的端口。对于远程安装的方式在URL后加上 ':端口号'即可开始
安装。对于本地安装会自动调用Netscape进入安装界面。之后就可以按提示进行安装。
主要是设定Documnet Location,ServerAddress,UserPort,ServerPort,ServerID,
ServerPasswd,UserID这七个参数。(注:安装时最好有域名,如在以后要更改需手
工更改Server的参数配置文件)

4.2.2 HTTPD Server 的安装
NCSA的HTTPD Server和Netscape 的Server 不同,NCSA提供了HTTPD Server的原代码。
需要用户自己根据不同平台编译生成。

解压缩
HTTPD 的Server程序是以.tar.Z的形式存放的。从网上取到本地后需要先进行解压缩
和解包。命令是uncompress和tar.命令如下:
uncompress filename
tar xvf filename
解包后会自动建立一个httpd的目录。目录下有README介绍了软件的版本信息及一些相
关站点。

编译
运行Makefile,根据Server所在平台选择编译参数。对于一般UNIX平台可选用 svr4,
其他可选用AIX或Soloris等。
如HTTP所在目录不是原程序默认目录则需修改http目录下的src目录下的原程序。如果
只是修改目录则只需修改config.h文件。修改DefaultPath,DocumentLocation等选项。
编译程序会自动调用各子目录下的Makefile进行编译。完成后会生成httpd文件,就是
httpd的Server。在cgi-bin下会有mail,imagemap等应用程序。如需要各个目录下的程
序都可独立编译。

配置
在完成编译后还需要修改config文件。在conf目录下有*.conf-dist文件,将这些文件
改名为编译是指定的文件名。并修改这些配置文件的内容和安装机相匹配。其中httpd.
conf-dist是基本配置文件。access.conf-dist是权限设置文件,可以设置用户组用户
对目录的访问权,如要进行用户管理需要编译support目录下的文件。srm.conf-dist
是资源文件定义,mime.types是类型定义文件。除httpd.conf-dist和access.conf-dist
外srm.conf-dist和mime.types一般不需调整。
改完文件名后就可以起Server了。直接运行httpd即可。停止Server只要kill掉httpd的
进程就可以了。

4.3参数修改

4.3.1 Netscape Server参数设置
Netscape Server的参数设置是通过Netscape浏览器进行修改的,Netscape一般会起两
个Server,一个是面向用户的一个是面向系统管理员的。他们分别在不同的端口。在安
装时由用户指定。进入admin界面后用户就可以根据Netscape的详细提示进行修改。如
设置CGI 目录,权限管理,特殊flag的引入等。在Netscape的Admin中还可以对系统运行
进行监控。

4.3.2 NCSA HTTP SERVER参数设置
NCSA HTTP SERVER的参数设置是通过修改/user_location/conf下的系统配置文件实现
的。即前面提到的哪四个.conf文件。绝大部分修改都可以参照文件中的例子进行。用
户的管理要参照support目录下的管理程序进行。啄平台及应用的项并提交,该表格会
以Email的形式发送给Netscape公司。 Netscape公司的服务器在受到Email后会回一封
Email,在该Email中会提供一个用户名、口令和URS。之后就可以用FTP下载服务器软
件了。(注意:该软件是以.tar.gz形式存储的,要用二进制方式传输。该软件的基于Sun
平台的软件在国内的某些FTP站上也有。如清华大学的水木清华FTP站下可以找到。)

4,1,2 HTTPD Server 获取
HTTPD 是NCSA的免费的WWW服务器软件。它可以直接从NCSA的站点上得到。不需要用户
名和口令。在国内的FTP站上有已经传过来的该软件。版本号是1.5以上。可以直接下
载到本地安装

Counter是一个计数器。可以用来统对主页的访问次数。它的安装和Perl非常相似。需
要注意的是Counter安装时需要指定机器的域名。Counter是一个CGI程序INSTALL是要
安装到Server指定的CGI目录下。Counter也可以从FTP站点上获取。(166.111.1.66d
或202.112.12.7均有)

附录JAVA介绍
一、前言
『Java』从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和多
媒体(Multimedia)相关产品类方面。Java为何有如此这么大的魅力?人作如此的比喻:
Java在全球资讯网(World Wide Web, WWW)地位就如同电子表格(Spreadsheet)与个人计
算机(PC)的关系。那Java究竟有那些特色呢?

Java是一种软件技术
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言是一种为
Internet发展的计算机语言是一种使网页(Web Page)产生生动活泼画面的语言
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
是一种语言,用以产生「小应用程序(Applet(s))」
是一种简化的C++语言
是一种安全的语言,具有阻绝计算机病毒传输的功能
是一种将安全性(Security)列为第一优先考虑的语言
是一种使用者不需花费很多时间学习的语言
是一种突破用户端机器环境和CPU结构的语言
是一种「写一次,即可在任何机器上执行(Write OnceRun Anywhere)」的语言
是有史以来,第一套允许使用者将应用程序(Applications)通过Internet从远端的
服务器(Remote Server)传输到本地端的机器上(LocalMachine)并执行
是一种应用程序提供者不需要知道使用者的计算机硬件(如:Sun, Intel, 或MAC等)
与软件(如:SW-UNIX, MAC O/S, Windows, 或NT等)环境的语言(Kestenbaum, 1995)。

下面将依序地介绍Java,首先是Java的发展历史与Java语言介绍,其次依序是Java
Applet和HotJava的简单介绍。

二、Java FAQ

下面以问答的方式来说明Java的发展历史与其背景(下列内容整理自
Java FAQ list and Tutorial和The Java Language: A White Paper,读者若欲深
入了解,请自行参阅原文):

Java何时开始发展?(When)
最早大概可追溯至1991年四月份,Sun的绿色计划(Green Project)开始着手于发展消
费性电子产品(Consumer Electronics),所使用的语言是C、C++、及Oak (为Java语
言的前身),后因语言本身和市场的问题, 使得消费性电子产品的发展无法达到当初
预期的目标,再加上网络的兴起, 绿色计划也因此而改变发展的方向,这已是1994
年了。

为何称之为Java?(Why)
"Java"是美国SUN计算机公司Java发展小组历经无数次的激烈讨论之后才被选择出。
生动(Liveliness)、动画(Animation)、速度(Speed)、交互性(Interactivity)为当
初选择名字时所欲表达出的特色。"Java"是在无数的建议中脱颖而出的,而"Java"
不是由几个单字的首字所组成, 而是从许多程序设计师钟爱的热腾腾、香浓咖啡中
产生灵感的。

谁开发了Java?(Who)
Java是美国SUN计算机公司Java发展小组开发的,早期的成员(绿色工程)是Patrick
Naughton, James Gosling, & Mike Sheridan,而现在大家较为熟悉的成员是James
Gosling。

在那里开发了Java?(Where)
也就是问Java的出生地?答案是美国。
Java有何特色或是特点?(What)
详见本单元开头部份及下一段的说明。
如何可以找到所需的Java信息?(How to)
在网路上,您可以连到Sun公司的Java WWW网站,URL是http://java.sun.com/,或是
http://www.javasoft.com/。在那里几乎可以找到您所需要的所有Java信息,但是语
言多少是一个障碍, 至少对某些人而言;没关系,目前国内已有很多个网站提供中文
Java信息。在清华和中科院的FTP站点上有不少有关资料。想象以后应会有更多的站点
提供相关信息。

如何才能看到Java的效果?(How Do I)
首先您需要有含有Java解释器的浏览器(Browser),例如:Netscpae公司的Netscape
Navigator 2.0以上或是Sun公司的HotJava浏览器,对个人计算机使用者而言,操作
系统需是Windows 95或是Windows NT。

由上一节的"Java小史"我们知道了Java的发展历史,现进一步地介绍Java语言。
Java是因为撰写C++语言程序时的困难而研制开的,起先,只是一个消费性电子产品
大计划中的一部份,C++语言是当初被考虑采用的,但从一开始的编译问题一直到最
后的一连串问题迫使得放弃C++语言,而有Java语言的产生。Sun是要Java成为一个简
单(Simple)、面向对象的(Object Oriented)、
分布式的(Distributed)、解释的(Interpreted)、健壮的(Robust)、安全的(Secure)、
结构中立的(Architecture Neutral)、可移植的(Portable)、高效能的(High
Performance)、多线程的(Multithreaded)、动态的(Dynamic)的程序语言(摘译自
TheJava Language: A White Paper, 1995)。
在Sun的Java语言白皮书中明白地说明上述Java语言的技巧。若以木工为比喻,一个面
向对象的木工,他(她)最主要的重点是即将要做的木椅子,其次才是所需要的工具;
反之;一个以非面向对象的木工,他(她)所关心的只是工具。最近的即插即用(Plug and
Play)亦是面向对象设计的重点。
分布式的(Distributed):Java有一个很周全的程薪录JAVA介绍
一、前言
『Java』从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和
多媒体(Multimedia)相关产品类方面。Java为何有如此这么大的魅力?人作如此的比喻:
Java在全球资讯网(World Wide Web, WWW)地位就如同电子表格(Spreadsheet)与个人计
算机蚩猓液苋菀椎赜際TTP和FTP等TCP/IP通讯协定相配合。Java应用程序(Applications)
能在网路上开启及连结使用物件,就如同透过URLs连结使用一个本地文件系统(Local File System)。
健壮的(Robust):由Java所编写出的程序能在多种情况下执行而具有其稳定性。Java与
C/C++最大不同点是Java有一个指针模型(Pointer Model)来排除内存被覆盖(Overwriting
Memory)和毁损数据(Corrupting Data)的可能性。
安全的(Secure):Java是被设计用于网络及分布式的环境中,安全性自必是一个很
重要的考虑。Java拥有数个阶层的互锁(Interlocking)保护措施,能有效地防止病
毒的侵入和破坏行为的发生。
结构中立的(Architecture Neutral):一般而言,网络是由很多不同机型的机器所
组合而成的,CPU和作业系统体系结构均有所不同;因此,如何使一个应用程序可以
在每一种机器上执行,是一个难题。所幸,Java的编译器产生一种结构中立的目标
文件格式(Object File Format);这使得编译码得以在很多种处理器中执行。
可移植的(Portable):原始资料型式的大小是被指定的,例如"float"一直是表示一
个32位元IEEE 754浮点运算数字,因绝大多数的CPU都具有此共同特征。程序库属于
系统的一部份,它定义了一些可移植的程序接口,Java本身具备有很好的可移植性。
解释的(Interpreted):Java解释器能直接地在任何机器上执行Java位元码(Bytecodes),
因此在进行程序连结时,时间的节省,这对于缩短程序的开发过程,有极大的帮助。
高效能的(High Performance):Java位元码迅速地能被转换成机器码(Machine Code),
从位元码转换到机器码的效能几乎与C与C++没有分别。
多线程的(Multi threaded):Java语言具有多线程的功能,这对于交互回应能力及
即时执行行为是有帮助的。
动态的(Dynamic):Java比C或C++语言更具有动态性,更能适应时刻在变的环境,
Java不会因程序库的更新,而必须重新编译程序。
此外,Hank Shiffman (Making Sense of Java)亦针一般对Java的错误看法及观
念提出他的说明,特在此摘译如下:
"Java是一种编写Web Pages的一种语言,就如同HTML和VRML一样"
事实上,Java并不像是HTML此一类的描述语言(Description Language),而是一种
编程语言(Programming Language)。描述语言标明内容和位置,而编程语言描述一
种产生结果的过程。

2. "Java语言容易学习和使用,不像C、C++和其它程序语言"
Java是一种编程语言。Java容易学吗?Java或许是比C或C++容易学,但仍是一种编
程语言,而不是一种描述语言。

3. "Java码是可移植的,但C及C++不是"
Java原代码(Source Code)是比C语言来得可移植一点,差别在于Java的目标码。
Java码在一种机器上进行编译,而能在所有的机器上执行, 只要那部机器上有
Java解释器。

4. "Java能被拓展而在机器上执行任何事情"
理论上,Java Applet (Java小应用程序)能做任何事情,如模拟3D VRML模型、
播放电影、产生音频....等。但事实上,一个小应用程序(Applet)仅能在那一
页上被执行,而无法在那一页之外执行。同时,Java亦受限于程序库的功能。

5. "Java是适合于建立大型的应用程序"
如果Java适合于大型程序,则Java就不适合应用于Web浏览器了。第一个商业
性的Java Applets (Applix's Java-Based Spreadsheet) 并不是全然使用Java,
它只使用Java作为用户接口,而所有的处理工作, 是用CGI码。

6. "Java是解释执行的,Basic是解释执行的,因此Java=Basic"
虽然Java的确是使用解释器,但事实上,Java则与C或C++等完全编译语言较为
相近,但与Basic或APL等完全解译语言较不相近。
7. "Java删除了CGI命令稿(Scripts)和程序的需求"
Java Applets将会取代部份CGI的用途。在有些情况,Java Applets能够取代一
些服务器端代码(Server-Side Code),但大多数的情况,基于安全性理由或是效
能的考虑,Java仍无法全然取代CGI Scripts。
8. "Netscape's JavaScript是与Java有相关"
除了名称之外,Java和JavaScript是有一点点相关。JavaScript是一种命令稿语
言,是可以在HTML页中使用。Java码并未出现在HTML中,而在HTML中通过一个链
结来链结编译码组。Java和JavaScript之间的关系就如同C语言和C Shell一般。

本附录参考资料:
1. The Java Language: A White Paper.
2. The HotJava Language: A White Paper.
3. Hank Shiffman, Making Sense of Java.
4. HotJava、Java与Internet,SUN月刊,1996年1月号,美SUN计算机台湾分公司。
5. Java语言白皮书,SUN月刊,1996年2月号,美SUN计算机台湾分公司。
6. Kestenbaum, Peter, (1995), Conceptually Understanding JAVA in ten Minutes without Getti