Python网络编程(第3版) 封面

Python网络编程(第3版)

评分 4.6
字数
532字
章节数
17
丛书
图灵程序设计丛书
ISBN
9787115433503

标签

内容简介

本书是《Foundations of Python Network Programming》第3版的中文译本,全部示例采用 Python 3 编写,面向具备一定 Python 基础、希望深入理解网络协议并用 Python 构建网络应用程序的开发者。 全书从客户端/服务器模型讲起,先梳理协议栈与库的分层关系、应用层协议的使用方式、字符编码与解码、IP 地址与路由等基础概念,再依次深入 UDP、TCP 套接字编程,讲解端口号、绑定接口、超时与退避、连接管理、死锁与半开连接等实操细节;随后覆盖套接字名与 DNS 解析、网络数据的序列化与网络错误的处理、TLS/SSL 加密通信。在服务器一侧,书中讨论了多进程/多线程服务器架构、缓存与消息队列的用法,并分别从客户端和服务器两个角度剖析 HTTP,延伸至万维网应用中的安全话题,包括跨站脚本(XSS)与跨站请求伪造(CSRF)的原理和防护方法。 后半部分转向互联网经典应用协议:电子邮件的构造与解析、SMTP 发送、POP 与 IMAP 收取、Telnet 与 SSH 远程登录,以及 RPC 远程调用。书中配有大量可直接运行的代码清单与示例,并涉及 Flask 框架配置 URL、异步 I/O 事件循环编写等实践内容,帮助读者把协议原理落到可运行的代码上。

编辑推荐

市面上的 Python 网络书大体分两类:一类只讲 requests、scrapy 这类库怎么调用,一类上来就讲 TCP 三次握手、滑动窗口,读完却不知道在 Python 里怎么写。这本书难得地站在中间——从应用开发者的视角出发,把「协议为什么这样设计」和「Python 里怎么写出来」并排放。 它采用 Python 3 示例,涵盖 UDP、TCP 套接字、DNS、TLS/SSL、服务器架构、HTTP 客户端与服务器、电子邮件三大协议(SMTP/POP/IMAP)、SSH 与 RPC,几乎把网络编程的经典话题一网打尽,而且每章都给出可运行代码清单,不是伪代码。 尤其值得称道的是对现代话题的处理:Python 3 的 SSL 支持、异步 I/O 事件循环的编写方法、用 Flask 配置 URL,以及 XSS、CSRF 的攻击原理与防护,都写在了书里 — 这些内容让一本 2016 年的书至今读起来仍不过时。作者 Brandon Rhodes 是 Dropbox 工程师、长期活跃于 PyCon 的知名讲者,行文很清楚,讲原理不绕弯。豆瓣读者给出 9.2 分,对一本技术书来说是很实在的口碑。适合想从「会调库」走向「懂网络」的 Python 开发者放在手边翻阅。

适合谁读

适合

  • 已掌握 Python 基础语法、想系统补齐网络编程知识的中级开发者
  • 需要自行编写服务端、爬虫或中间件,要理解 TCP/UDP 细节的后端工程师
  • 做运维、系统集成,需要处理 DNS、邮件协议、SSH、RPC 的技术人员
  • 计算机专业学生,用来把「计算机网络」课程理论与可运行代码对齐

不适合

  • 完全零编程经验、连函数与类都不熟悉的初学者
  • 只想找现成框架、不想了解底层协议原理的读者
  • 寻找 Python 3.10 以后新语法与新库(如 asyncio 最新 API)的读者

阅读建议

  1. 对照阅读第1、2、3章,先手写一遍原始 UDP/TCP 客户端与服务端,再回头理解协议分层。
  2. 把书中代码真正跑起来:用 tcpdump 或 Wireshark 抓包对照,理解每个字节在网络上如何传输。
  3. 按「HTTP 客户端→服务器→万维网安全」顺序读第9至11章,再配合 Flask 实践做一个小型 Web 服务。
  4. 邮件、SSH、RPC 等协议章节可按工作需求跳读,当作协议速查手册随时回翻。

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

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

常见问题

这本书的作者和中文版信息是什么?
原书《Foundations of Python Network Programming》由 Brandon Rhodes 与 John Goerzen 合著,中文第3版由诸豪文翻译,人民邮电出版社 2016 年 9 月出版,属「图灵程序设计丛书」,ISBN 为 978-7-115-43350-3,定价 79 元。
书里的代码是用 Python 2 还是 Python 3?
全部采用 Python 3 编写,并且专门介绍了 Python 3 中新提供的 SSL 支持以及异步 I/O 事件循环的编写方法,因此在 Python 3 环境下无需做兼容性改写。
读这本书需要什么基础?
需要能熟练读写 Python 基本语法(函数、类、异常处理、文件操作),并对 TCP/IP 有最粗浅的印象。完全没有网络概念也能读,因为第1章从协议栈讲起,但零编程基础会非常吃力。
这本书适合当网络编程的入门第一本吗?
更适合作为「第二本」。它能补上大多数教程缺失的协议原理与套接字细节,但如果连 HTTP 请求、套接字是什么都没概念,建议先读一本更偏实战入门的书,再回来读这本深入。
为什么目录里没有第17章?
中文版目录在部分图书馆书目记录中第16章后直接接第18章 RPC,属于原书章节编排或记录缺漏,实际章节以纸书正文为准,不影响整体知识结构的连贯阅读。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同类高分