Limit search to available items
Book Cover
E-book
Author Rhodes, Brandon, author

Title Foundations of Python network programming / Brandon Rhodes, John Goerzen
Edition Third edition
Published Berkeley, CA : Apress, 2014
New York, NY : Distributed to the Book trade worldwide by Springer
©2014

Copies

Description 1 online resource (xxi, 388 pages) : illustrations
Series Expert's voice in open source
Expert's voice in open source.
Contents At a Glance; Introduction; Chapter 1: Introduction to Client-Server Networking; The Building Blocks: Stacks and Libraries; Application Layers; Speaking a Protocol; A Raw Network Conversation; Turtles All the Way Down; Encoding and Decoding; The Internet Protocol; IP Addresses; Routing; Packet Fragmentation; Learning More About IP; Summary; Chapter 2: UDP; Port Numbers; Sockets; Promiscuous Clients and Unwelcome Replies; Unreliability, Backoff, Blocking, and Timeouts; Connecting UDP Sockets; Request IDs: A Good Idea; Binding to Interfaces; UDP Fragmentation; Socket Options; Broadcast
When to Use UDPSummary; Chapter 3: TCP; How TCP Works; When to Use TCP; What TCP Sockets Mean; A Simple TCP Client and Server; One Socket per Conversation; Address Already in Use; Binding to Interfaces; Deadlock; Closed Connections, Half-Open Connections; Using TCP Streams Like Files; Summary; Chapter 4: Socket Names and DNS; Hostnames and Sockets; Five Socket Coordinates; IPv6; Modern Address Resolution; Using getaddrinfo() to Bind Your Server to a Port; Using getaddrinfo() to Connect to a Service; Asking getaddrinfo() for a Canonical Hostname; Other getaddrinfo() Flags
Primitive Name Service RoutinesUsing getsockaddr() in Your Own Code; The DNS Protocol; Why Not to Use Raw DNS; Making a DNS Query from Python; Resolving Mail Domains; Summary; Chapter 5: Network Data and Network Errors; Bytes and Strings; Character Strings; Binary Numbers and Network Byte Order; Framing and Quoting; Pickles and Self-delimiting Formats; XML and JSON; Compression; Network Exceptions; Raising More Specific Exceptions; Catching and Reporting Network Exceptions; Summary; Chapter 6: TLS/SSL; What TLS Fails to Protect; What Could Possibly Go Wrong?; Generating Certificates
Offloading TLSPython 3.4 Default Contexts; Variations on Socket Wrapping; Hand-Picked Ciphers and Perfect Forward Security; Protocol Support for TLS; Learning Details; Summary; Chapter 7: Server Architecture; A Few Words About Deployment; A Simple Protocol; A Single-Threaded Server; Threaded and Multiprocess Servers; The Legacy SocketServer Framework; Async Servers; Callback-Style asyncio; Coroutine-Style asyncio; The Legacy Module asyncore; The Best of Both Worlds; Running Under inetd; Summary; Chapter 8: Caches and Message Queues; Using Memcached; Hashing and Sharding; Message Queues
Using Message Queues from PythonSummary; Chapter 9: HTTP Clients; Python Client Libraries; Ports, Encryption, and Framing; Methods; Paths and Hosts; Status Codes; Caching and Validation; Content Encoding; Content Negotiation; Content Type; HTTP Authentication; Cookies; Connections, Keep-Alive, and httplib; Summary; Chapter 10: HTTP Servers; WSGI; Asynchronous Server- Frameworks; Forward and Reverse Proxies; Four Architectures; Running Python Under Apache; The Rise of Pure-Python HTTP Servers; The Benefits of Reverse Proxies; Platforms as a Service
Summary Foundations of Python Network Programming, Third Edition, covers all of the classic topics found in the second edition of this book, including network protocols, network data and errors, email, server architecture, and HTTP and web applications, plus updates for Python 3. Some of the new topics in this edition include:? Extensive coverage of the updated SSL support in Python 3? How to write your own asynchronous I/O loop.? An overview of the "asyncio" framework that comes with Python 3.4.? How the Flask web framework connects URLs to your Python code.? How cross-site scripting and cross-site request forgery can be used to attack your web site, and how to protect against them.? How a full-stack web framework like Django can automate the round trip from your database to the screen and back. If you're a Python programmer who needs a deep understanding of how to use Python for network-related tasks and applications, this is the book for you. From web application developers, to systems integrators, to system administrators?this book has everything that you need to know
Notes Includes index
Copyright © 2014 Brandon Rhodes and John Goerzen 2014
English
Online resource; title from PDF title page (SpringerLink, viewed October 31, 2014)
In Springer eBooks
Subject Python (Computer program language)
COMPUTERS -- Programming Languages -- General.
Python (Computer program language)
Form Electronic book
Author Goerzen, John, author.
ISBN 9781430258551
1430258551
1430258543
9781430258544