Contents
== 13.1. "Tune In, Log On, and Drop Out" 收听,登入和脱离(沈小锋 翻译中)
在过去十几年,因特网技术事实上已经发展成主流技术。它的快速发展,使这种本来是大专院校里,研究者之间一种简单的交流设备,现在变成广泛的信息交流媒介,在电视机与电话机之间也可交流信息。社会学者把因特网文化影响的重要性比作当年印刷机的出现。技术学者还认为以后的软件发展应该建基于因特网。一些相关的言论,最后将随着时间得出结论,但不用置疑的是,因特网已经成为影响社会的重要力量,也是现代计算机软件系统的一个主要应用领域。
Python编程语言的一个重要的应用领域就是因特网。这本书的第一版书写到现在的十年间,因特网飞速发展,影响着Python语言的工具集的发展和Python的角色变化。给我们一台连着网络的计算机与Python编程环境,我们就能写着Python脚本来收发电邮,从远程的服务器抓取网页,用FTP传输文件,做交互式的网站,分析HTML和XML文件。做这么多的工作,其实就是简单地利用了Python的Internet modules(因特网模块)。
事实上,全世界很多大公司如Google, Yahoo!, Walt Disney, Hewlett-Packard, JPL等,都利用Python标准工作去建立它们强大的网站。举例说,google搜索引擎广泛使用Python代码来扩展网络的使用。BitTorrent(点对点文件传输软件)是用Python写的,超过千万的用户下载该软件并使用,在Python的网络处理技术的帮助下,用户突破了服务器的数据传输瓶颈来分享文件。
也有很多人使用Zope的网络框架服务器来建立与管理他们的网站,同样,Zope也是用Python来编写与定制的。也有人使用plone来建立网站,而plone是建立在Zope之上的。另外,还有人用Python语言生产java码,让其生产代码运行于java平台(JPython),这种扩展,也使得Python能使用Java函数库,也使得Python代码作为Web applets让浏览器下载与运行。
近来,Python也具备了Web Server编程的能力,因为Python有了XML-RPC和 SOAP的接口,如 xmlrpclib and SOAPy。一些框架如CherryPy, Webware, TurboGears, Django作为便利的建立网站的工作也出现。新的XML包出现,使Python有了处理XML的工具。 新的IronPython实现了Python代码与.NET/Mono的无缝结合。
随着网络的发展,Python在因特网工具中是一个重要的角色。Python已经证实是适合用于编写网络脚本,理由与它在其他领域一样,它使程序实现理想化。模块化的设计与快速编程的能力都适合网络开发的要求。在本书的这个部分,我们可以发现Python很好地支持网络脚本的编写。它使网络程序的开发质量(开发效率与可维护性)得到提高。
13.1.1. Internet脚本主题
因特网编程包含很多主题,为了更好地让大家消化这些内容,本书接下来把这个主题分为六章。本章主要包括因特网基础与socket的探索,还有因特网底层通信机制。接下来,我们会讨论客户机、服务器、构建网站和更多高级的主题。
每一章的学习都是建基于前一章,当然如果你非常熟悉某些因特网的领域,你可以跳过这些内容往下阅读。这些章节都是本书的重要内容,所以,接下来我们会谈及更多的细节问题。
13.1.1.1.我们将会讨论的内容
在概念层面,因特网可以大致分为几个功能层:
Low-level networking layers(物理层)
- Mechanisms such as the TCP/IP transport mechanism, which deal with transferring bytes between machines, but don't care what they mean
Sockets(接口层)
- The programmer's interface to the network, which runs on top of physical networking layers like TCP/IP
Higher-level protocols(协议层)
- Structured communication schemes such as FTP and email, which run on top of sockets and define message formats and standard addresses
Server-side web scripting (CGI)
- Higher-level client/server communication protocols between web browsers and web servers, which also run on top of sockets
Higher-level frameworks and tools(更高级的框架与工具)
- Third-party systems such as Zope and Jython, which address larger problem domains
在本章与第十四章,我们主要讨论在第二层与第三层协议(接口层与协议层)的网络编程。接下来,我们会学习网络编程的接口模型。接口虽然不是与我们的网络脚本紧密相关,但是接口在网络中有着重要的角色,无论你是否留意到,因特网的运作都是通过接口发生的。
在介绍接口后,接下来两章,我们会实现Python的客户端程序接口,如email与ftp传输,这些都是协议是实现在socket之上的。Python已经能完成客户端的很多工作,再接下来的两章,我们会转到服务器端脚本编程,程序运行于服务器,能被浏览器使用。最后,这部分的最后一章(18章)将会介绍更高级的主题如JPython与Zope。
同时,我们将会用上一些前面章节所学的操作系统和图形接口(进程、线程、信号与Tkinter),在因 特网的开发中,我们把这些知识整合到其中。
在最后,我们说下因特网脚本的一些优点,就如GUIs,都是Python一个成熟的程序领域。
反馈
创建 by @ShenXiaoFeng@ [@20081107@]