新書推薦:
《
DK威士忌大百科
》
售價:NT$
1340.0
《
小白学编织
》
售價:NT$
299.0
《
Android游戏开发从入门到精通 第2版 王玉芹
》
售價:NT$
495.0
《
西班牙内战:秩序崩溃与激荡的世界格局:1936-1939
》
售價:NT$
990.0
《
非对称创新:中国企业赶超战略 魏江 刘洋
》
售價:NT$
495.0
《
潜能觉醒
》
售價:NT$
395.0
《
初平:汉末群雄混战(190—195)
》
售價:NT$
245.0
《
建安:官渡大决战(196—200)
》
售價:NT$
245.0
|
編輯推薦: |
本书采用Python 3,涵盖网络编程所有经典话题,包括网络协议、网络数据及错误、电子邮件、服务器架构,以及HTTP及Web应用程序,对新的SSL支持、异步IO循环的编写方法、跨站脚本以及跨站请求伪造攻击网站的原理及保护方法等内容也有详尽介绍。
本书既适合想要深入理解使用Python来解决网络相关的问题或是构建网络应用程序的Python程序员,也适合所有Web应用程序开发人员、系统集成者或系统管理员。
|
內容簡介: |
本书针对想要深入理解使用Python来解决网络相关问题或是构建网络应用程序的技术人员,结合实例讲解了网络协议、网络数据及错误、电子邮件、服务器架构和HTTP及Web应用程序等经典话题。具体内容包括:全面介绍Python3中新提供的SSL支持,异步IO循环的编写,用Flask框架在Python代码中配置URL,跨站脚本以及跨站请求伪造攻击网站的原理及保护方法,等等。
|
關於作者: |
Brandon Rhodes
Dropbox工程师,早期使用Python的程序员之一,热心于传播Python,经常在各类Python主题大会上演讲。
John Goerzen
eFolder公司IT与工程部副总裁,同时也是具有影响力的作家、系统管理者和Python程序员,自1996年起就是Debian GNULinux操作系统开发组的成员,拥有近20年的软件开发经验。
|
目錄:
|
目录
第 1 章 客户端服务器网络编程简介 1
1.1 基础:协议栈与库 1
1.2 应用层 4
1.3 协议的使用 5
1.4 一个原始的网络会话 6
1.5 层层深入 8
1.6 编码与解码 9
1.7 网际协议 10
1.8 IP 地址 11
1.9 路由 12
1.10 数据包分组 13
1.11 进一步学习 IP 14
1.12 小结 15
第 2 章 UDP 16
2.1 端口号 17
2.2 套接字 18
2.2.1 混杂客户端与垃圾回复 22
2.2.2 不可靠性、退避、阻塞和超时 23
2.2.3 连接 UDP 套接字 27
2.2.4 请求 ID:好主意 28
2.3 绑定接口 29
2.4 UDP 分组 31
2.5 套接字选项 33
2.6 广播 33
2.7 小结 35
第 3 章 TCP 37
3.1 TCP 工作原理 37
3.2 何时使用 TCP 38
3.3 TCP 套接字的含义 39
3.4 一个简单的 TCP 客户端和服务器 40
3.4.1 每个会话使用一个套接字 43
3.4.2 地址已被占用 44
3.5 绑定接口 46
3.6 死锁 46
3.7 已关闭连接,半开连接 51
3.8 像使用文件一样使用 TCP 流 52
3.9 小结 53
第 4 章 套接字名与 DNS 54
4.1 主机名与套接字 54
4.1.1 套接字的 5 个坐标 55
4.1.2 IPv6 56
4.2 现代地址解析 57
4.2.1 使用 getaddrinfo 为服务器
绑定端口 58
4.2.2 使用 getaddrinfo 连接服务 59
4.2.3 使用 getaddrinfo 请求规范主机名 60
4.2.4 其他 getaddrinfo 标记 61
4.2.5 原始的名称服务程序 62
4.2.6 在代码中使用 getsockaddr 62
4.3 DNS 协议 64
4.3.1 为何不使用原始 DNS 66
4.3.2 使用 Python 进行 DNS 查询 66
4.3.3 解析邮箱域名 68
4.4 小结 70
第 5 章 网络数据与网络错误 71
5.1 字节与字符串 71
5.1.1 字符串 72
5.1.2 二进制数与网络字节顺序 75
5.2 封帧与引用 77
5.3 pickle 与自定义定界符的格式 82
5.4 XML 与 JSON 83
5.5 压缩 84
5.6 网络异常 85
5.6.1 抛出更具体的异常 87
5.6.2 捕捉与报告网络异常 87
5.7 小结 88
第 6 章 TLSSSL 90
6.1 TLS 无法保护的信息 90
6.2 可能出问题的地方 91
6.3 生成证书 93
6.4 TLS 负载移除 . 95
6.5 Python 3.4 默认上下文 96
6.6 手动选择加密算法与完美前向安全 102
6.7 支持 TLS 的协议 104
6.8 了解细节 105
6.9 小结 111
第 7 章 服务器架构 112
7.1 浅谈部署 112
7.2 一个简单的协议 114
7.3 单线程服务器 117
7.4 多线程与多进程服务器 120
7.5 异步服务器 122
7.5.1 回调风格的 asyncio 126
7.5.2 协程风格的 asyncio 127
7.5.3 遗留模块 asyncore 129
7.5.4 两全其美的方法 130
7.6 在 inetd 下运行 131
7.7 小结 133
第 8 章 缓存与消息队列 134
8.1 使用 Memcached 134
8.2 散列与分区 137
8.3 消息队列 140
8.4 小结 145
第 9 章 HTTP 客户端 147
9.1 Python 客户端库 147
9.2 端口、加密与封帧 149
9.3 方法 151
9.4 路径与主机 152
9.5 状态码 152
9.6 缓存与验证 155
9.7 传输编码 157
9.8 内容协商 158
9.9 内容类型 160
9.10 HTTP 认证 160
9.11 cookie 162
9.12 连接、Keep-Alive 和 httplib 163
9.13 小结 164
第 10 章 HTTP 服务器 166
10.1 WSGI 166
10.2 异步服务器与框架 168
10.3 前向代理与反向代理 169
10
|
|