translating HTTP and TCP sections #23

pull/67/head
IuryAlves 2018-02-04 19:01:20 -02:00
parent fa2eb5ac8c
commit 284898943b
1 changed files with 25 additions and 24 deletions

View File

@ -1309,6 +1309,7 @@ Se as filas começarem a crescer significantemente, o tamanho da fila pode se to
* [Qual é a diferença entre uma fila de mensagens e uma fila de tarefas? - Em inglês](https://www.quora.com/What-is-the-difference-between-a-message-queue-and-a-task-queue-Why-would-a-task-queue-require-a-message-broker-like-RabbitMQ-Redis-Celery-or-IronMQ-to-function) * [Qual é a diferença entre uma fila de mensagens e uma fila de tarefas? - Em inglês](https://www.quora.com/What-is-the-difference-between-a-message-queue-and-a-task-queue-Why-would-a-task-queue-require-a-message-broker-like-RabbitMQ-Redis-Celery-or-IronMQ-to-function)
## Communication ## Communication
## Comunicação
<p align="center"> <p align="center">
<img src="http://i.imgur.com/5KeocQs.jpg"> <img src="http://i.imgur.com/5KeocQs.jpg">
@ -1316,50 +1317,50 @@ Se as filas começarem a crescer significantemente, o tamanho da fila pode se to
<i><a href=http://www.escotal.com/osilayer.html>Source: OSI 7 layer model</a></i> <i><a href=http://www.escotal.com/osilayer.html>Source: OSI 7 layer model</a></i>
</p> </p>
### Hypertext transfer protocol (HTTP) ### Protocolo de transferência de hipertexto (HTTP)
HTTP is a method for encoding and transporting data between a client and a server. It is a request/response protocol: clients issue requests and servers issue responses with relevant content and completion status info about the request. HTTP is self-contained, allowing requests and responses to flow through many intermediate routers and servers that perform load balancing, caching, encryption, and compression. HTTP é um método para codificar e transportar dados entre um cliente e um servidor. É um protocolo de requisição/resposta: Clientes fazem requisições e servidores enviam respostas com conteúdo relevante e dados complementares sobre a requisição. HTTP é autocontido, permitindo que requisições e respostas trafeguem por vários roteadores intermediários e servidores que fazem balanceamento de carga, cache, criptografia e compreensão.
A basic HTTP request consists of a verb (method) and a resource (endpoint). Below are common HTTP verbs: Uma requisição HTTP consiste basicamente de um verbo (método) e um recurso (endpoint). Abaixo estão alguns verbos HTTP:
| Verbo | Descrição | Idempotente* | Seguro | Cacheável |
| Verb | Description | Idempotent* | Safe | Cacheable |
|---|---|---|---|---| |---|---|---|---|---|
| GET | Reads a resource | Yes | Yes | Yes | | GET | Ler um recurso | Sim | Sim | Sim |
| POST | Creates a resource or trigger a process that handles data | No | No | Yes if response contains freshness info | | POST | Cria um recurso ou inicia uma operação para manipular dados | Não| Não | Sim se a resposta contém dados mais recentes |
| PUT | Creates or replace a resource | Yes | No | No | | PUT | Cria ou substitui um recurso | Sim | Não | Não |
| PATCH | Partially updates a resource | No | No | Yes if response contains freshness info | | PATCH | Parcialmente atualiza um recurso | Não | Não | Sim se a resposta contém dados mais recentes |
| DELETE | Deletes a resource | Yes | No | No | | DELETE | Deleta um recurso | Sim | Não | Não |
*Can be called many times without different outcomes. *Pode ser chamado várias vezes sem que o resultado mude.
HTTP is an application layer protocol relying on lower-level protocols such as **TCP** and **UDP**. HTTP é um protocolo na camada de aplicação que depende de protocolos de baixo nível como **TCP** e **UDP**.
* [HTTP](https://www.nginx.com/resources/glossary/http/) * [HTTP](https://www.nginx.com/resources/glossary/http/)
* [README](https://www.quora.com/What-is-the-difference-between-HTTP-protocol-and-TCP-protocol) * [Leia-me](https://www.quora.com/What-is-the-difference-between-HTTP-protocol-and-TCP-protocol)
### Transmission control protocol (TCP) ### Protocolo de controle de transmissão (TCP)
<p align="center"> <p align="center">
<img src="http://i.imgur.com/JdAsdvG.jpg"> <img src="http://i.imgur.com/JdAsdvG.jpg">
<br/> <br/>
<i><a href=http://www.wildbunny.co.uk/blog/2012/10/09/how-to-make-a-multi-player-game-part-1/>Source: How to make a multiplayer game</a></i> <i><a href=http://www.wildbunny.co.uk/blog/2012/10/09/how-to-make-a-multi-player-game-part-1/>Fonte: Como fazer um jogo multiplayer (Em Inglês)</a></i>
</p> </p>
TCP is a connection-oriented protocol over an [IP network](https://en.wikipedia.org/wiki/Internet_Protocol). Connection is established and terminated using a [handshake](https://en.wikipedia.org/wiki/Handshaking). All packets sent are guaranteed to reach the destination in the original order and without corruption through: TCP é um protocolo orietado a conexão em uma [rede IP](https://pt.wikipedia.org/wiki/Protocolo_de_Internet). Uma conexão é estabelecida e terminada usando um [handshake](https://pt.wikipedia.org/wiki/Handshake).
Todos os pacotes enviados tem a garantia de alcançarem o destino na ordem original e sem serem corrompidos:
* Sequence numbers and [checksum fields](https://en.wikipedia.org/wiki/Transmission_Control_Protocol#Checksum_computation) for each packet * Números sequenciais e [checksum fields - Em Inglês](https://en.wikipedia.org/wiki/Transmission_Control_Protocol#Checksum_computation) para cada pacote
* [Acknowledgement](https://en.wikipedia.org/wiki/Acknowledgement_(data_networks)) packets and automatic retransmission * [Acknowledgement - Em Inglês](https://en.wikipedia.org/wiki/Acknowledgement_(data_networks)) pacotes e retransmissão automática
If the sender does not receive a correct response, it will resend the packets. If there are multiple timeouts, the connection is dropped. TCP also implements [flow control](https://en.wikipedia.org/wiki/Flow_control_(data)) and [congestion control](https://en.wikipedia.org/wiki/Network_congestion#Congestion_control). These guarantees cause delays and generally result in less efficient transmission than UDP. Se o remetente não receber a resposta correta, ele irá reenviar os pacotes. Se existem múltiplos timeouts, a conexão é abortada. TCP também implementa [Fluxo de controle - Em Inglês](https://en.wikipedia.org/wiki/Flow_control_(data)) e [Controle de congestão - Em Inglês](https://en.wikipedia.org/wiki/Network_congestion#Congestion_control). Essas garantias podem causar atrasos e geralmente resultam em uma transmissão menos eficiente do que UDP. Para garantir alta vazão, servidores web podem mander uma larga quantidade de conexões TCP abertas, resultando em alto consumo de memória. Pode ser custoso ter tantas conexões abertas entre threads em um servidor web e, por exemplo, um servidor [memcached](#memcached). [Connection pooling - Em Inglês](https://en.wikipedia.org/wiki/Connection_pool) pode ajudar, e também substituir por UDP quando for possível.
To ensure high throughput, web servers can keep a large number of TCP connections open, resulting in high memory usage. It can be expensive to have a large number of open connections between web server threads and say, a [memcached](#memcached) server. [Connection pooling](https://en.wikipedia.org/wiki/Connection_pool) can help in addition to switching to UDP where applicable. TCP é útil para aplicações que requerem grande confiabilidade mas são menos críticas. Alguns exemplos incluem servidores web, banco de dados, SMTP, FTP, e ssh.
TCP is useful for applications that require high reliability but are less time critical. Some examples include web servers, database info, SMTP, FTP, and SSH. Use TCP no lugar de UDP quando:
Use TCP over UDP when: * Você necessitar que todos os dados chegem intactos
* Você deseja fazer uma melhor estimativa de uso da taxa de transfêrencia de rede
* You need all of the data to arrive intact
* You want to automatically make a best estimate use of the network throughput
### User datagram protocol (UDP) ### User datagram protocol (UDP)