致  谢

2009年,当我开始修订本书第1版,重新编写第2版时,我就对自2004年出版第1版以来的5年之内Python语言发生的巨大变化震惊不已。CherryPy和Django这样全新的Web框架彻底改变了程序员编写Web应用的方式,而mechanize和lxml这样的库也大大简化了从HTTP服务器获取信息的步骤。

当我完成第3版的初稿时,Python社区又完成了一次革新!大大小小的改进让我觉得有必要对一些文字进行修改,并且彻底重写某些章节。这个新版首要体现了整个Python语言社区的辛勤工作,无论是编写Python 3的语言核心开发者,还是Flask、Tornado等让编写HTTP服务更方便更安全的新Web框架的作者,又或者是维护标准库和第三方库的程序员;说真的,他们对整个生态系统进行了优化,加入了大量工具和库,帮助我们更好地编写互联网程序。

自第2版出版以来,许多读者联系了我,提出了各种问题和想法,或是指出某个代码清单无法成功运行或是不再正确。我希望他们知道,这些反馈对于新版本的编写是至关重要的,我想他们将在这本书中看到基于这些反馈所做出的重大改进。

非常感谢Apress的编辑和审稿人,他们阅读了我的初稿(有些地方写得特别挫),发现代码清单中的bug以及错误,在编写到完成的过程中给予了帮助及指导。我要特别感谢文字编辑,我慢慢地从他们那里学到不要在每句话里都说very和actually。也要感谢他们,让我在人生中慢慢学会如何区分在连接从句时该使用that还是which。

最后,感谢在我编写本书时所有等着我回邮件、改bug或是和我见面的人,特别感谢我的妻子Jackie一直给我鼓励。

目录

  • 引  言
  • 致  谢
  • 第1章 客户端/服务器网络编程简介
  • 第2章 UDP
  • 第3章 TCP
  • 第4章 套接字名与DNS
  • 第5章 网络数据与网络错误
  • 第6章 TLS/SSL
  • 第7章 服务器架构
  • 第8章 缓存与消息队列
  • 第9章 HTTP客户端 
  • 第10章 HTTP服务器 
  • 第11章 万维网
  • 第12章 电子邮件的构造与解析
  • 第13章 SMTP
  • 第14章 POP
  • 第15章 IMAP
  • 第16章 Telnet和SSH 
  • 第17章 FTP
  • 第18章 RPC