Java编程入门(1.7):互联网

计算机可以通过网络进行连接,处在同一个网络中的计算机能通过收发数据和文件或者收发信息互相通讯,甚至可以一起工作,处理大型计算。

今天,世界上有数以万计的计算机连接着一个超级网络——因特网。每天都有新的计算机通过先进的技术接入这个网络,比如 DSL,调制解调器,以太网。

为了使计算机通过网络进行通讯,人们制定了精细的协议。如果两台计算机想要通讯,他们必须使用相同的协议。互联网最基本的协议是 IP 协议(Internet Protocal)和 TCP协议(Transmission Control Protocol),前者规定了数据是如何从一台计算机物理传输到另一台计算机的,后者确保通过 IP 协议收到的信息没有丢失和错误。还有一些其他的协议通过 TCP/IP 协议来发送特定类型的数据,像网页,电子邮件,数据文件等等。

所有的数据都是以“包”为单位发送的。包包含了从一台计算机发送到另一台的数据和目的计算机的地址。就像一个信封一样,外面写了地址,里面有信纸(信纸就是数据)。包中还存有“返回地址”,即发送者的地址。但是包所容纳的信息有限,如果要发送大型的数据,就必须封装在多个包中分别发送,然后在目的地重新组装。

接入互联网的计算机都有一个 IP 地址,这个地址由数字组成,是独一无二的。(事实上,并不是每一个计算机的 IP 地址都是完全不同的,这样说有些不准确,但是大意正确,真实的情况更加复杂。)IP 地址就是用来标注包的目的地址的。一台计算机如果想要向另一台计算机发送信息,那么它必须知道另一台的 IP 地址。对于人类来说,记名字比记数字更加轻松,所以大多数的计算机也可以通过名字来识别地址,这种名字叫做“域名”。例如,霍巴特威廉史密斯学院的数学系的域名是math.hws.edu(本教程原文由此大学撰写,译注).(域名只是为了记起来方便,如果计算机之间要通讯还是要知道域名,因特网中有特定的计算机,专门负责解析域名。当你使用域名的时候,你的计算机就会向域名解析服务器获取对应的IP 地址,然后你的计算机通过得到的 IP 地址来通讯,而不是直接通过域名。)

因特网向接入的用户提供了各种各样的服务。所有的服务都是通过 TCP/IP 协议来收发各种类型数据。最常用的服务包括:即时通讯,文件分享,电子邮件和万维网。每种服务都有自己的协议,来控制数据在互联网上传送。每一种服务都有某种用户接口,通过这些接口用户可以收发数据。

例如,邮件服务使用的协议是 SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),计算机通过这种协议发送邮件。其他的协议,例如 POP 和 IMAP,是用来接收邮件的。很显然,使用邮件的用户并不需要知道这些协议,因为他们的电子邮件软件在幕后使用了这种协议。这种程序就是给用户提供了使用网络协议的简单接口。

网页浏览可能就是最受欢迎的网络服务了。通过万维网你可以浏览世界各地的电脑上存储的信息。一个网页可以包含指向存储它的计算机上其他页面的链接,或者指向别的计算机的链接。存储了这种网页信息的计算机叫做网站服务器。浏览这种网页的用户接口叫做浏览器。常用的浏览器有 IE,火狐,Chrome 和 Safari。你通过浏览器来请求一个页面的信息,浏览器向存储了这个页面的计算机发出请求,计算机发回页面之后,浏览器将这些信息进行排版,然后显示给你。浏览器只是通向互联网的用户接口。在屏幕背后,浏览器使用了叫做 HTTP 的协议(HtperText Transfer Protocol,超文本传输协议)来发送页面请求,接收网站服务器发回的数据。

说到这里,你肯定在想,这些和 Java 有关系吗?事实上,Java 和网络,万维网的关系很大。当 Java刚出现的时候,最大的吸引力就是applets。applets 就是能在网页上运行,通过网络传输数据的小程序。applets 的出现使得网页上复杂的交互成为可能。不幸的是,这却引发了多种安全问题,修复这些问题使 applets 用起来变得困难了。现在 applets 在网页上用的少了,但是,这不失为一种选择。

但是 applets 仅仅是 Java 和互联网关系的一个小方面。Java可以写出复杂的、独立的程序,不再依赖浏览器。这种程序多数都是和网络相关的。比如,很多大型的复杂的网站,服务器软件都是用 Java 写的。Java对网络协议的支持非常给力,而且它的可移植性极高,能在不同类型的计算机上运行。你将会在第11章学到 Java 对网络的支持。

Java 对网络的支持并不是 Java 才有的优点。但是很多优秀的编程语言在出现之后很快被遗忘了,Java 如此好运,在网络兴起之时很快流行起来。

随着 Java 日渐成熟,它的功能不再仅限于网络。Java 的标准版本已经支持了很多技术,比如密码学和文件压缩。更多的功能也指日可待,像高级声音处理和三维制图。Java 还可以开发复杂的高性能的系统。比如 Hadoop——一个大数据处理的系统,就是使用 Java 开发的。Yahoo,Facebook 以及很多其他大型网站都用它来处理用户产生的大数据。

此外,Java 的应用并不仅限于传统计算机。Java 可以用来写智能手机上的程序(当然,iPhone 除外)。Java 是安卓开发的主要程序语言。(一些设备上使用了 Java ME(“Mobile Edition”),但是安卓使用了 Google 自己的版本,图形用户界面和标准 Java 不同。)Java编程语言还用在亚马逊Kindle电子阅读器和蓝光影碟的交互功能上。

现在,Java 被视为最广泛使用的编程语言。对于要运行在不同的设备上的程序来说,Java 无疑是最好的选择。甚至对于只运行在一台设备上的程序,Java 也是不错的选择。现在 Java 应该是大学中最广泛教授的编程语言。这足以使它成为一门流行的编程语言了,就和 C,C++,Python 一样(从这些语言入门也是不错的开始)总之,学习 Java 将会是你通向编程专家之路的良好开端。希望你旅途愉快!

原文链接: math.hws.edu 翻译: ImportNew.com - 赖 信涛
译文链接: http://www.importnew.com/16793.html
[ 转载请保留原文出处、译者和译文链接。]

关于作者: 赖 信涛

(了解我更多,在:赖信涛的个人网站

查看赖 信涛的更多文章 >>



相关文章

发表评论

Comment form

(*) 表示必填项

还没有评论。

跳到底部
返回顶部