Brandon Rhodes John Goerzen



Documentos relacionados
David Hows Peter Membrey Eelco Plugge

Novatec Editora Ltda

Julia Elman e Mark Lavin. Novatec

Desenvolvimento de Grandes Aplicações Web

Ricardo R. Lecheta. Novatec

Ricardo Kléber M. Galvão. Novatec

Crie Seu Próprio Site

Ademir C. Gabardo. Novatec

Desenvolvendo Websites com PHP

Ricardo Lino Olonca. Novatec

marketing ágil Utilização de Metodologias Ágeis em Projetos de Marketing Michelle Accardi-Petersen Novatec

João Eriberto Mota Filho

Ricardo Lino Olonca. Novatec

Adail Henrique Spínola Horst Aécio dos Santos Pires André Luis Boni Déo. Novatec

PDF Explicado John Whitington

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

Jonathan Stark Brian Jepson

Luiz Carlos Querino Filho

Copyright 2008, 2013 da Novatec Editora Ltda.

Harrison Kinsley Will McGugan

Novatec Editora Ltda. [2014].

Google Analytics Justin Cutroni

Ricardo R. Lecheta. Novatec

Desenvolvendo para. Windows 8. Aprenda a desenvolver aplicativos para Windows Phone 8 e Windows 8. Ricardo R. Lecheta. Novatec

Gerenciamento. de projetos. Bart Gerardi. Novatec. Como evitar problemas previsíveis para o sucesso do projeto

O espaço de nomes DNS Registros de recursos de domínio Servidores de nome

Scrum em Ação. Gerenciamento e Desenvolvimento Ágil de Projetos de Software. Andrew Pham Phuong-Van Pham. Novatec

Defenda sua base com circuitos simples, Arduino e Raspberry Pi

Adrian Mejia. Novatec

Zend. Framework. Componentes Poderosos para PHP. Flávio Gomes da Silva Lisboa. Novatec

Wilson Moraes Góes. Novatec

Lojas Virtuais com. Magento. André Nobrega Gugliotti. Novatec

Camada de Aplicação. Prof. Eduardo

Hélio Engholm Jr. Novatec

Wilson Moraes Góes. Novatec

Introdução à Camada de Aplicação. Prof. Eduardo

Pramod J. Sadalage Martin Fowler

Sumário. Parte I Elementos essenciais Sobre o autor Sobre o revisor técnico Prefácio... 14

Rails 3 Básico Cloves Carneiro Jr. Rida Al Barazi

JQuery. A Biblioteca do Programador JavaScript. 3ª Edição Revisada e ampliada. Maurício Samy Silva. Novatec

Josh Pauli Revisão técnica Scott White. Novatec

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

Primeiros Passos com o Raspberry Pi

Google Android para Tablets

Ryan Mitchell. Novatec

Google Android para Tablets

Excel Avançado. 2ª Edição. Antonio Fernando Cinto Wilson Moraes Góes. Novatec

Padrões de Projeto em PHP

10/07/2013. Camadas. Principais Aplicações da Internet. Camada de Aplicação. World Wide Web. World Wide Web NOÇÕES DE REDE: CAMADA DE APLICAÇÃO

REDES DE COMPUTADORES

Criando Relatórios com PHP

Aprendendo. Unix no OS X. Mountain Lion. Mergulhando no Terminal e no Shell. Dave Taylor. Novatec

Alan Menk Santos Redes de Computadores e Telecomunicações. Camada de Aplicação. Camada de Aplicação

Laboratórios de Tecnologias. Cisco. em Infraestrutura de Redes. Samuel Henrique Bucke Brito. Novatec

REDES DE COMPUTADORES

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

2ª EDIÇÃO. André Milani. Novatec

Aprendendo Programação. ios. Alasdair Allan. Novatec

Pete Goodliffe. Novatec

INFORMÁTICA FUNDAMENTOS DE INTERNET. Prof. Marcondes Ribeiro Lima

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Design Centrado no Usuário

MÓDULO 8 Modelo de Referência TCP/IP

TECNOLOGIAS WEB AULA 2 PROF. RAFAEL DIAS

Rede de Computadores (REC)

Paulo Strelczuk. Novatec

Andreas Wittig Michael Wittig

Keith Wood. Apresentação de Dave Methvin. Novatec

Internet - A rede Mundial

Nelson Glauber de Vasconcelos Leal


USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

MARKETING DIGITAL NA ERA. Martha Gabriel CONCEITOS, PLATAFORMAS E ESTRATÉGIAS. Novatec

Permite o acesso remoto a um computador;

Segurança em Redes sem Fio

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Curso Técnico de Redes de Computadores Disciplina de Fundamentos de Rede

17/03/ :04 Leite Júnior QUESTÕES FCC 2010 REDES (INTERNET/INTRANET)

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Tecnologias Web. Lista de Exercícios AV02. Luiz Leão

Capítulo 1 PROTOCOLOS FUNDAMENTAIS DA INTERNET

Cap 03 - Camada de Aplicação Internet (Kurose)

Jessey Bullock Jeff T. Parker

Guia de Consulta Rápida HTTP. Décio Jr. Novatec Editora.

Nome do Curso: Técnico em Informática. Nome da Disciplina: Redes de Computadores. Número da Semana: 2. Nome do Professor: Dailson Fernandes

TECNOLOGIA WEB INTERNET PROTOCOLOS

A Arte de SEO. Eric Enge, Stephan Spencer, Jessie Stricchiola e Rand Fishkin Introdução de John Battelle. Novatec

Camila Porto. Novatec

Professor: Gládston Duarte

Service Desk Corporativo

Camada de Aplicação. DNS Domain Name System. Redes de Computadores Prof. Leandro C. Pykosz

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

1.264 Lição 11. Fundamentos da Web

Redes de Computadores

TCP é um protocolo de TRANSMISSÃO, responsável pela confiabilidade da entrega da informação.

Gerência de Segurança

Transcrição:

Brandon Rhodes John Goerzen Novatec

Original English language edition published by Apress, Copyright 2014 by Apress, Inc.. Portugueselanguage edition for Brazil copyright 2015 by Novatec Editora. All rights reserved. Edição original em inglês publicada pela Apress, Copyright 2014 by Apress, Inc. Edição em português para o Brasil copyright 2015 pela Novatec Editora. Todos os direitos reservados. Copyright 2015 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Tradução: Aldir José Coelho Corrêa da Silva Assistente editorial: Priscila A. Yoshimatsu Revisão gramatical: Viviane Oshima Editoração eletrônica: Carolina Kuwabata ISBN: 978-85-7522-437-3 MP20150528 Histórico de impressões: Junho/2015 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 São Paulo, SP Brasil Tel.: +55 11 2959-6529 E-mail: novatec@novatec.com.br Site: novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec MP20150528

Sumário Sobre os autores... 13 Sobre os revisores técnicos... 14 Agradecimentos... 15 Introdução... 16 Python 3... 16 Melhorias desta edição...17 Playground da rede...19 Capítulo 1 Introdução à rede cliente-servidor... 21 Os alicerces: pilhas e biblliotecas... 22 Camadas de aplicativos... 26 Conversando com um protocolo... 27 Comunicação de rede bruta... 29 Um suportando o outro até o fim... 32 Codificação e decodificação... 35 Internet Protocol... 37 Endereços IP... 38 Roteamento... 40 Fragmentação de pacotes... 42 Aprendendo mais sobre o IP... 44 Resumo... 45 Capítulo 2 UDP... 47 Números de porta... 48 Soquetes...51 Vinculando-se a interfaces... 67 Fragmentação no UDP... 70 Opções dos soquetes... 73 Broadcast...74 Resumo... 77 7

8 Programação de Redes com Python Capítulo 3 TCP... 79 Como o TCP funciona... 79 Quando usar o TCP...81 O que são os soquetes TCP... 83 Cliente e servidor TCP simples... 84 Vinculando-se a interfaces... 93 Deadlock... 95 Conexões fechadas, conexões semiabertas... 101 Usando fluxos TCP como arquivos...103 Resumo...104 Capítulo 4 Nomes de soquete e o DNS...106 Nomes de host e soquetes... 106 Resolução de endereços moderna...111 Protocolo DNS... 121 Resumo...132 Capítulo 5 Dados e erros de rede...133 Bytes e strings...133 Framing e aspas...143 Pickles e formatos autodelimitadores...150 XML e JSON... 151 Compactação...153 Exceções de rede...154 Resumo... 160 Capítulo 6 TLS/SSL...162 O que o TLS não protege...162 O que pode dar errado?...164 Gerando certificados...167 Deixando o TLS para terceiros...170 Contextos padrão de Python 3.4...172 Codificações escolhidas a dedo e segurança futura perfeita... 181 Suporte dos protocolos ao TLS...184 Conhecendo detalhes...186 Resumo...194 Capítulo 7 Arquitetura do servidor...196 Algumas palavras sobre implantação...197 Protocolo simples...199 Servidor de thread única... 204

Sumário 9 Servidores com várias threads e processos... 208 Servidores assíncronos... 212 Execução do inetd...224 Resumo... 227 Capítulo 8 Caches e filas de mensagens...229 Usando o Memcached... 230 Hashing e Sharding...235 Filas de mensagens... 238 Resumo...247 Capítulo 9 Clientes HTTP...249 Bibliotecas clientes Python...249 Portas, criptografia e framing...252 Métodos...255 Caminhos e hosts... 256 Códigos de status...257 Cache e validação...261 Codificação de conteúdo... 265 Negociação de conteúdo... 266 Tipo de conteúdo... 269 Autenticação HTTP...270 Cookies...272 Conexões, sua reutilização e o httplib...274 Resumo...275 Capítulo 10 Servidores HTTP...277 WSGI...278 Frameworks de servidores assíncronos... 280 Proxy de encaminhamento e proxy reverso...281 Quatro arquiteturas... 283 Plataformas como serviço... 288 Padrões de GET e POST e a questão do REST... 290 WSGI sem um framework... 293 Resumo... 298 Capítulo 11 World Wide Web...301 Hipermídia e URLs... 301 Hypertext Markup Language... 309 Lendo e gravando em um banco de dados... 313 Aplicativo web inadequado (em Flask)... 315

10 Programação de Redes com Python Dança dos formulários e métodos HTTP...322 Aplicativo de pagamentos no Django... 338 Escolhendo um framework web... 344 WebSockets... 346 Web Scraping...347 Resumo... 363 Capítulo 12 Construindo e analisando emails...365 Formato dos emails... 366 Construindo um email... 369 Adicionando HTML e multimídia...372 Adicionando conteúdo...379 Analisando emails... 380 Percorrendo as partes MIME... 383 Codificações de cabeçalhos... 386 Analisando datas... 388 Resumo... 389 Capítulo 13 SMTP...391 Clientes de email versus serviços de webmail... 391 Como o SMTP é usado...397 Introduzindo a biblioteca SMTP... 403 Manipulação de erros e depuração da comunicação... 406 Obtendo informações a partir de EHLO... 409 Usando o Secure Sockets Layer e o Transport Layer Security... 412 SMTP autenticado...416 Dicas sobre o SMTP... 418 Resumo... 419 Capítulo 14 POP...420 Compatibilidade do servidor POP... 421 Conexão e autenticação... 421 Obtendo informações da caixa de correio...425 Baixando e excluindo mensagens... 427 Resumo... 430 Capítulo 15 IMAP...432 Entendendo o IMAP em Python... 434 Resumo...461

Sumário 11 Capítulo 16 Telnet e SSH...462 Automação da linha de comando... 463 Telnet...478 SSH: o shell seguro... 484 Resumo... 503 Capítulo 17 FTP...504 O que usar em vez do FTP... 505 Resumo...523 Capítulo 18 RPC...524 Recursos do RPC...526 Resumo...550