Você está na página 1de 21

Universidade Federal do Ceará

Campus de Quixadá
Disciplina de Redes de Computadores
Professor Arthur Callado

Primeira Lista de Exercícios Quixadá

Nome:

1) Em que partes da topologia física da rede (não confundir com a arquitetura da rede) se
implementam os protocolos de camada de aplicação e porquê?

Os protocolos de camada de aplicação são implementados na camada mais alta da pilha de


protocolos de rede, que é a camada de aplicação. A topologia física da rede, que se refere à
disposição física dos dispositivos de rede e ao meio físico que interconecta esses
dispositivos, não influencia diretamente na implementação dos protocolos de camada de
aplicação.

Os protocolos de camada de aplicação são projetados para permitir que os aplicativos se


comuniquem uns com os outros por meio da rede. Esses protocolos são independentes da
topologia da rede e são implementados no software dos dispositivos de rede e nos
aplicativos.

No entanto, a escolha da topologia física da rede pode afetar indiretamente a escolha do


protocolo de camada de aplicação utilizado. Por exemplo, uma rede com topologia de
estrela centralizada pode exigir a utilização de um protocolo de camada de aplicação que
permita a comunicação direta entre os dispositivos finais, sem passar necessariamente pelo
nó central. Por outro lado, em uma topologia de rede mesh (malha), em que todos os
dispositivos estão conectados entre si, pode ser necessário utilizar um protocolo de camada
de aplicação que permita a comunicação entre dispositivos intermediários.

2) Diferencie arquitetura cliente/servidor de arquitetura Peer-to-peer (ponto-a-ponto), com


vantagens e desvantagens de cada uma.

A arquitetura cliente/servidor é um modelo em que há a divisão de papéis bem definidos


entre os dispositivos que fazem parte da rede. Nessa arquitetura, um ou mais servidores são
responsáveis por fornecer serviços e recursos para um ou mais clientes que solicitam esses
recursos. Os servidores geralmente têm mais recursos de processamento e armazenamento
em comparação com os clientes. Os clientes, por sua vez, são dispositivos mais simples e
geralmente têm menos recursos de processamento e armazenamento em comparação com
os servidores.

Já a arquitetura Peer-to-peer (ponto-a-ponto) é um modelo em que os dispositivos que


fazem parte da rede são iguais em termos de papel e responsabilidades. Todos os
dispositivos podem atuar tanto como clientes quanto como servidores, compartilhando
recursos e serviços uns com os outros.

Vantagens da arquitetura cliente/servidor:

● Maior controle e gerenciamento de recursos: com servidores dedicados para


fornecer serviços e recursos, é possível ter um melhor controle sobre a
disponibilidade e a qualidade desses recursos.
● Maior segurança: como os servidores são responsáveis por gerenciar o acesso aos
recursos, é possível ter um controle mais rigoroso sobre quem pode acessá-los.
● Escalabilidade: a adição de servidores adicionais pode aumentar a capacidade de
atender um grande número de clientes.

Desvantagens da arquitetura cliente/servidor:

● Dependência do servidor: se o servidor falhar, os clientes não conseguirão acessar


os recursos e serviços que precisam.
● Custo: os servidores geralmente têm um custo mais alto em termos de aquisição e
manutenção.
● Possíveis gargalos: se muitos clientes solicitarem recursos do mesmo servidor ao
mesmo tempo, pode haver um congestionamento da rede ou do próprio servidor.

Vantagens da arquitetura Peer-to-peer:

● Menor custo: como todos os dispositivos compartilham recursos e serviços, não é


necessário investir em servidores dedicados.
● Maior tolerância a falhas: como não há um único ponto de falha na rede, a falha de
um dispositivo não compromete o funcionamento do sistema como um todo.
● Escalabilidade: a adição de dispositivos adicionais aumenta a capacidade de atender
um grande número de usuários.

Desvantagens da arquitetura Peer-to-peer:

● Possível menor segurança: como todos os dispositivos podem fornecer serviços e


recursos, é mais difícil controlar quem pode acessá-los.
● Dificuldade em gerenciar recursos: com todos os dispositivos compartilhando
recursos, pode ser difícil gerenciar e monitorar o uso desses recursos.
● Possíveis problemas de desempenho: o desempenho pode ser prejudicado se muitos
dispositivos estiverem compartilhando os mesmos recursos ao mesmo tempo

3) Diferencie os principais requisitos de transporte que uma aplicação pode ter e dê exemplos
de aplicação com tais requisitos.
Os requisitos de transporte que uma aplicação pode ter incluem:

1. Confiabilidade: essa é a capacidade de garantir que os dados sejam entregues


corretamente e sem erros. Aplicações que exigem alta confiabilidade incluem
sistemas de controle de tráfego aéreo, sistemas bancários e sistemas de
monitoramento de pacientes em hospitais.
2. Velocidade: algumas aplicações exigem alta velocidade de transmissão de dados
para funcionarem corretamente. Exemplos incluem jogos on-line, videoconferência,
transmissão de vídeo em tempo real e streaming de áudio.
3. Largura de banda: essa é a capacidade de transmitir grandes volumes de dados em
um curto período de tempo. Aplicações que exigem largura de banda incluem
backup de dados, compartilhamento de arquivos em nuvem e transmissão de vídeo
em alta definição.
4. Latência: essa é a medida de tempo que leva para um pacote de dados viajar de um
ponto para outro. Aplicações que exigem baixa latência incluem jogos on-line,
controle de robôs e sistemas de negociação de alta frequência.
5. Segurança: aplicações que lidam com informações confidenciais exigem um alto
nível de segurança, incluindo criptografia de dados, autenticação de usuários e
prevenção de ataques de hackers. Exemplos incluem sistemas de comércio
eletrônico, sistemas de gerenciamento de identidade e sistemas de pagamento
on-line.
6. Disponibilidade: aplicações que exigem alta disponibilidade precisam estar sempre
disponíveis para os usuários, mesmo em caso de falhas de rede ou de servidores.
Exemplos incluem sistemas de monitoramento de pacientes em hospitais, sistemas
de controle de tráfego aéreo e sistemas de pagamento on-line.

Cada aplicação pode ter diferentes requisitos de transporte, e é importante escolher a


tecnologia de rede e os protocolos de transporte adequados para garantir que esses
requisitos sejam atendidos.

4) Explique os métodos de formulário HTTP.

O HTTP (Hypertext Transfer Protocol) é um protocolo de comunicação utilizado na


internet para transferir informações entre clientes e servidores. Uma das formas mais
comuns de interação entre usuários e servidores web é através do uso de formulários, que
permitem que os usuários enviem informações ao servidor, como dados de login,
formulários de cadastro, pesquisas, entre outros.

Existem dois métodos de formulário HTTP, que são:

1. Método GET: O método GET é o mais comum e simples de ser usado. Ele é
utilizado para solicitar informações do servidor através de uma URL. Ao enviar um
formulário usando o método GET, os dados do formulário são anexados à URL
como parâmetros e enviados ao servidor. É importante notar que, como os dados
são anexados à URL, eles podem ser visualizados por qualquer pessoa que esteja
observando a conexão de rede. Além disso, o método GET tem um limite na
quantidade de dados que podem ser enviados, o que pode ser um problema para
formulários com muitos campos.
2. Método POST: O método POST é usado para enviar dados ao servidor de forma
mais segura e confidencial do que o método GET. Ao contrário do método GET, os
dados do formulário são enviados no corpo da requisição HTTP, e não na URL, o
que significa que eles não são visíveis na conexão de rede. Além disso, o método
POST não tem limite na quantidade de dados que podem ser enviados, o que o
torna ideal para formulários com muitos campos ou para o envio de arquivos. No
entanto, o método POST é mais complexo e pode exigir mais processamento por
parte do servidor e do cliente.

Em resumo, o método GET é mais adequado para formulários simples que não exigem
segurança ou confidencialidade, enquanto o método POST é mais adequado para
formulários mais complexos que exigem segurança e confidencialidade. É importante
escolher o método de formulário adequado com base nos requisitos de segurança,
quantidade de dados a serem enviados e outros fatores específicos da aplicação.

5) Explique o que é proxy HTTP e como é feito o “proxy transparente” em HTTP.

Um proxy HTTP é um intermediário entre um cliente e um servidor web que atua como um
servidor para o cliente e como um cliente para o servidor. Quando um cliente envia uma
solicitação para acessar um recurso na internet, a solicitação é interceptada pelo proxy
HTTP, que então encaminha a solicitação ao servidor web. Quando a resposta é recebida do
servidor web, o proxy HTTP a encaminha de volta ao cliente.

O uso de um proxy HTTP pode ter vários benefícios, incluindo:

● Melhoria de desempenho: o proxy HTTP pode armazenar em cache conteúdo


estático, como imagens e arquivos CSS, para que não precisem ser baixados
novamente pelo cliente em solicitações subsequentes.
● Controle de acesso: o proxy HTTP pode ser configurado para bloquear o acesso a
determinados sites ou recursos na internet.
● Segurança: o proxy HTTP pode ser configurado para filtrar e bloquear conteúdo
malicioso ou potencialmente perigoso na internet.
● Anonimato: o proxy HTTP pode ocultar o endereço IP do cliente, tornando-o mais
difícil de ser rastreado na internet.

O "proxy transparente" é um tipo de proxy que é configurado de forma que o cliente não
precisa fazer nenhuma configuração para utilizá-lo. Ele é chamado de transparente porque,
do ponto de vista do cliente, a conexão com o servidor web parece direta, sem a
intermediação do proxy.
Em um proxy transparente HTTP, as solicitações do cliente são interceptadas pelo proxy
sem que o cliente saiba disso. O proxy então encaminha a solicitação ao servidor web em
nome do cliente e recebe a resposta do servidor web. Quando o proxy recebe a resposta, ele
a encaminha de volta ao cliente como se fosse a resposta original do servidor web. O
cliente não precisa fazer nenhuma configuração adicional para usar um proxy transparente,
porque a conexão com o servidor web parece direta.

O proxy transparente é útil em redes onde é necessário implementar políticas de segurança


ou controle de acesso, porque o proxy pode ser configurado para filtrar ou bloquear o
acesso a determinados recursos na internet sem que o cliente precise fazer qualquer
configuração adicional.

6) Explique porque se diz que o protocolo FTP é controlado “fora de banda”.

O protocolo FTP (File Transfer Protocol) é um protocolo de rede utilizado para transferir
arquivos entre computadores na internet. Uma das características do FTP que o diferencia
de outros protocolos de transferência de arquivos é que ele utiliza dois canais de
comunicação separados para controlar a transferência de dados.

O primeiro canal é o canal de controle, que é usado para enviar comandos e respostas entre
o cliente e o servidor FTP. O canal de controle é estabelecido na porta 21 e é usado para
autenticar o usuário, enviar comandos para listar, transferir e excluir arquivos, além de
fornecer informações de status e erro.

O segundo canal é o canal de dados, que é usado para transferir os dados de arquivo entre o
cliente e o servidor FTP. O canal de dados é estabelecido em uma porta diferente da porta
de controle, geralmente na faixa de portas de 1024 a 65535. O canal de dados é aberto
apenas quando necessário e é fechado quando a transferência de dados é concluída.

A comunicação entre o cliente e o servidor FTP no canal de controle é considerada "fora de


banda" porque ela é separada da transferência de dados propriamente dita. Isso significa
que a comunicação no canal de controle não é afetada pela transferência de dados no canal
de dados e vice-versa.

Essa separação de canais é importante porque permite que o FTP forneça feedback em
tempo real ao usuário, mesmo durante a transferência de grandes quantidades de dados. Por
exemplo, o usuário pode interromper a transferência de dados a qualquer momento através
do canal de controle, sem interromper a comunicação no canal de controle.

Portanto, o protocolo FTP é considerado controlado "fora de banda" porque a comunicação


de controle é separada da transferência de dados no canal de dados, permitindo que o
cliente e o servidor se comuniquem de forma eficiente e independente durante todo o
processo de transferência de arquivos.
7) Explique porque é possível mandar mensagens usando o SMTP fazendo-se passar por
outra pessoa, mesmo sem saber a senha da pessoa.

O protocolo SMTP (Simple Mail Transfer Protocol) é um protocolo de rede usado para
enviar e receber emails na internet. No SMTP, o remetente é definido no cabeçalho do
email como o endereço de email "De" e pode ser facilmente falsificado ou manipulado,
mesmo sem a senha da pessoa.

O remetente pode especificar qualquer endereço de email válido como o endereço "De" no
cabeçalho do email, incluindo um endereço de email que não pertence a eles. Isso é
conhecido como "spoofing" de email ou falsificação de endereço de email.

O SMTP não tem mecanismos de autenticação rigorosos para verificar a identidade do


remetente do email. Ele apenas verifica se o endereço de email do remetente é válido e se o
servidor SMTP de origem tem permissão para enviar emails com esse endereço.

Isso significa que é possível enviar emails usando o SMTP fazendo-se passar por outra
pessoa, mesmo sem saber a senha da pessoa. Por exemplo, um remetente mal-intencionado
pode enviar um email de phishing ou de spam com um endereço de email falsificado para
enganar o destinatário e induzi-lo a clicar em um link malicioso ou fornecer informações
confidenciais.

Para combater a falsificação de endereço de email, foram desenvolvidas técnicas como SPF
(Sender Policy Framework), DKIM (Domain Keys Identified Mail) e DMARC
(Domain-based Message Authentication, Reporting and Conformance), que ajudam a
verificar a autenticidade do remetente do email e reduzir o risco de spoofing de email. No
entanto, a adoção dessas técnicas ainda não é universal e muitos emails falsificados ainda
passam pelos filtros de spam e chegam à caixa de entrada dos usuários

8) Quais as vantagens do protocolo IMAP em relação ao protocolo POP3?

O IMAP (Internet Message Access Protocol) e o POP3 (Post Office Protocol 3) são dois
dos protocolos mais comuns usados para receber emails em clientes de email. Ambos os
protocolos têm suas vantagens e desvantagens, mas o IMAP tem algumas vantagens
significativas em relação ao POP3, que incluem:

1. Manter as mensagens no servidor: Com o IMAP, as mensagens permanecem no


servidor de email, permitindo que o usuário acesse as mesmas mensagens de vários
dispositivos. Isso é particularmente útil para usuários que acessam emails em vários
dispositivos, como computadores, smartphones e tablets. No POP3, as mensagens
são baixadas para o dispositivo do usuário e removidas do servidor, o que significa
que as mesmas mensagens não estarão disponíveis em outros dispositivos.
2. Sincronização de pastas: O IMAP permite que o usuário crie e sincronize pastas em
diferentes dispositivos, mantendo as mesmas pastas e a mesma organização de
mensagens. No POP3, a organização de pastas é local, o que significa que as pastas
criadas em um dispositivo não estarão disponíveis em outros dispositivos.
3. Acesso aos cabeçalhos das mensagens: Com o IMAP, o usuário pode visualizar os
cabeçalhos das mensagens sem precisar baixar o conteúdo completo da mensagem,
o que economiza largura de banda e tempo de download. No POP3, o conteúdo
completo da mensagem é baixado sempre que o usuário acessa a mensagem.
4. Gerenciamento de espaço de armazenamento: Com o IMAP, o servidor de email
gerencia o espaço de armazenamento e pode ser configurado para limitar o tamanho
máximo das mensagens ou o espaço total de armazenamento por usuário. No POP3,
o espaço de armazenamento é gerenciado localmente, o que pode levar a problemas
de espaço em disco em dispositivos com pouco armazenamento.
5. Backup de mensagens: Com o IMAP, as mensagens permanecem no servidor de
email, o que significa que elas são automaticamente incluídas em backups regulares
do servidor. No POP3, as mensagens são armazenadas localmente e, se o
dispositivo do usuário falhar, as mensagens podem ser perdidas permanentemente, a
menos que o usuário tenha feito backup manualmente das mensagens.

Em resumo, o IMAP é mais adequado para usuários que precisam acessar emails em vários
dispositivos e desejam manter as mesmas pastas e organização de mensagens em todos os
dispositivos. O POP3 pode ser mais adequado para usuários que desejam baixar e
armazenar emails localmente em um único dispositivo.

9) Explique como são organizados os servidores raiz do protocolo DNS.

Os servidores raiz do protocolo DNS são um conjunto de servidores que contêm


informações sobre a localização dos servidores DNS autoritativos para os domínios de
nível superior, como .com, .org, .net, entre outros. Eles são organizados hierarquicamente
em uma árvore invertida, onde o nó raiz é representado pelo ponto (.) e os domínios de
nível superior são representados pelos nós abaixo do nó raiz.

Existem 13 servidores raiz de DNS no mundo, identificados pelas letras de A a M, sendo


que alguns desses servidores têm réplicas em diferentes partes do mundo para garantir
maior disponibilidade e reduzir a latência. Cada servidor raiz é operado por uma
organização independente, como universidades, instituições governamentais ou empresas
privadas, e contém uma cópia do arquivo de zona para o domínio raiz.

Quando um cliente de DNS envia uma consulta para um domínio de nível superior, o
servidor de DNS local encaminha a consulta para um dos servidores raiz de DNS. Se o
servidor raiz não puder resolver a consulta diretamente, ele encaminha a consulta para os
servidores DNS autoritativos para o domínio de nível superior correspondente. Esses
servidores autoritativos, por sua vez, podem encaminhar a consulta para servidores DNS
autoritativos para domínios de nível inferior, até que a consulta seja resolvida e a resposta
seja retornada ao servidor de DNS local.

Os servidores raiz do protocolo DNS são essenciais para a operação da Internet e garantem
que os nomes de domínio possam ser resolvidos em endereços IP corretos. Embora existam
apenas 13 servidores de raiz no mundo, eles são distribuídos em diferentes partes do
mundo e são replicados para garantir a resiliência e a disponibilidade do serviço.

10) Como é a configuração e o funcionamento da resolução de nomes reversa, isto é, de


endereços IP para nomes de máquina?

A resolução de nomes reversa é o processo de encontrar o nome de um host a partir de seu


endereço IP. Para realizar essa tarefa, é utilizada a zona de DNS reversa, que é uma zona
especial do DNS que mapeia endereços IP para nomes de domínio.

A zona de DNS reversa é organizada de forma diferente da zona de DNS normal, pois os
endereços IP são divididos em blocos e organizados em ordem inversa, com a parte mais
específica do endereço IP aparecendo primeiro. Por exemplo, se um endereço IP for
192.0.2.100, na zona de DNS reversa ele seria representado como 100.2.0.192.in-addr.arpa.

Para configurar a resolução de nomes reversa, é necessário criar uma zona de DNS reversa
para a rede ou sub-rede correspondente, e em seguida, adicionar registros PTR (Pointer) a
essa zona. Os registros PTR mapeiam o endereço IP para o nome de domínio do host
correspondente.

O processo de resolução de nomes reversa começa quando um cliente faz uma consulta
DNS PTR para um endereço IP específico. Essa consulta é enviada para um servidor DNS,
que verifica se possui uma zona de DNS reversa correspondente ao endereço IP
consultado. Se possuir, o servidor procura um registro PTR correspondente e retorna o
nome de domínio associado ao endereço IP. Se não houver uma zona de DNS reversa
correspondente, ou se não houver registro PTR para o endereço IP, o servidor retorna uma
resposta negativa.

A resolução de nomes reversa é útil em várias situações, como na análise de tráfego de


rede, solução de problemas de rede e na implementação de segurança em servidores de
email. É importante ressaltar que a resolução de nomes reversa requer uma configuração
cuidadosa e precisa, pois os erros nessa configuração podem afetar significativamente a
operação da rede.

11) Diferencie as redes P2P puras das redes P2P híbridas.

As redes P2P (peer-to-peer) são redes em que os computadores conectados nela


compartilham recursos (como arquivos, espaço de armazenamento, processamento, etc.)
diretamente entre si, sem a necessidade de um servidor centralizado.

As redes P2P podem ser divididas em duas categorias principais: redes P2P puras e redes
P2P híbridas.

As redes P2P puras são redes em que todos os nós (computadores conectados na rede) têm
a mesma capacidade de compartilhar recursos. Não há um nó centralizado que coordene as
atividades da rede, e todos os nós têm acesso igual aos recursos compartilhados. Exemplos
de redes P2P puras incluem BitTorrent e Gnutella.

Já as redes P2P híbridas combinam elementos de uma rede P2P com uma rede
cliente-servidor. Nesse tipo de rede, existem nós que têm funções específicas de servidor,
que ajudam a coordenar as atividades da rede e armazenar informações importantes,
enquanto outros nós funcionam como clientes, que usam os recursos da rede. Em outras
palavras, a rede P2P híbrida tem uma estrutura em camadas, com servidores centrais que
coordenam as atividades e clientes que usam os recursos compartilhados. Exemplos de
redes P2P híbridas incluem Skype e eMule.

A principal diferença entre as redes P2P puras e as redes P2P híbridas é a forma como as
atividades são coordenadas e os recursos são compartilhados entre os nós da rede.
Enquanto as redes P2P puras são totalmente descentralizadas e todos os nós têm acesso
igual aos recursos, as redes P2P híbridas têm uma estrutura em camadas, com servidores
centrais que ajudam a coordenar as atividades e os clientes que usam os recursos
compartilhados.

12) Como funciona o protocolo Gnutella para busca de conteúdo?

O Gnutella é um protocolo de compartilhamento de arquivos peer-to-peer (P2P) que


permite aos usuários pesquisar e compartilhar arquivos em uma rede descentralizada.

O protocolo Gnutella funciona da seguinte maneira:

1. Quando um usuário se conecta à rede Gnutella, ele se torna um nó da rede e anuncia


sua presença para outros nós próximos.
2. O usuário pode então enviar uma solicitação de pesquisa para os outros nós da rede.
Essa solicitação contém o nome do arquivo que o usuário está procurando.
3. Os nós que recebem a solicitação de pesquisa verificam seus próprios arquivos
compartilhados para ver se têm o arquivo procurado. Se tiverem, eles enviam uma
resposta ao nó que fez a solicitação, informando a localização do arquivo.
4. Se um nó não tiver o arquivo procurado, ele encaminha a solicitação para outros
nós próximos na rede, até que o arquivo seja encontrado ou até que a busca atinja
um limite de tempo ou de saltos.
5. Quando o nó que fez a solicitação recebe uma resposta, ele pode estabelecer uma
conexão direta com o nó que tem o arquivo e iniciar o download.

O protocolo Gnutella é um dos mais antigos e populares protocolos P2P para


compartilhamento de arquivos. Uma das vantagens do Gnutella é que ele é totalmente
descentralizado e não depende de servidores centrais, o que torna mais difícil para as
autoridades rastrearem e interromperem a troca de arquivos na rede. Por outro lado, o
Gnutella pode ser menos eficiente do que outros protocolos P2P mais recentes, pois as
solicitações de pesquisa podem percorrer muitos nós antes de encontrar o arquivo desejado.

OBS: Lembrem-se, no que se refere ao protocolo gnutella, a propagação ou seja, a


inundação entre os pares da rede é limitada a no máximo 15 saltos.

13) O que é multiplexação? Dê um exemplo não relacionado à camada de transporte.

Multiplexação é o processo de combinar vários fluxos de dados em um único canal de


comunicação compartilhado. Essa técnica é comumente usada em redes de computadores
para aumentar a eficiência e a capacidade do canal de comunicação.

Um exemplo de multiplexação fora da camada de transporte pode ser encontrado em


sistemas de transmissão de televisão a cabo. Em um sistema de TV a cabo, vários canais de
televisão são transmitidos ao mesmo tempo através de um único cabo físico. Para permitir
que os espectadores selecionem um canal específico, é necessário que os canais sejam
multiplexados e enviados em um único sinal. Os sinais de vídeo e áudio de cada canal são
combinados em uma única frequência e, em seguida, separados novamente por um
decodificador de TV a cabo quando chegam à casa do espectador. Isso permite que muitos
canais diferentes sejam transmitidos em um único cabo, aumentando a eficiência e a
capacidade do sistema de transmissão de televisão a cabo.

14) Quais são as diferenças filosóficas entre TCP e UDP?

As diferenças filosóficas entre o TCP (Transmission Control Protocol) e o UDP (User


Datagram Protocol) estão relacionadas à maneira como esses protocolos lidam com a
transmissão de dados em uma rede.

O TCP é um protocolo orientado a conexão, o que significa que ele estabelece uma
conexão entre o remetente e o destinatário antes que os dados sejam enviados. Isso garante
que os dados sejam entregues de forma confiável e em ordem, com confirmações de
recebimento e retransmissões de pacotes perdidos ou danificados. O TCP é frequentemente
usado em aplicações que exigem alta confiabilidade e precisão, como transações bancárias,
transferências de arquivos grandes e transmissão de vídeos de alta qualidade.

Por outro lado, o UDP é um protocolo sem conexão, o que significa que não há
estabelecimento de conexão antes que os dados sejam enviados. O UDP é mais simples e
rápido que o TCP, pois não há sobrecarga com confirmações de recebimento,
retransmissões de pacotes perdidos ou controle de congestionamento. O UDP é
frequentemente usado em aplicações que requerem alta velocidade e eficiência, mas que
podem tolerar a perda de alguns pacotes, como jogos on-line, streaming de áudio e vídeo
em tempo real e transmissão de dados em tempo real.

Assim, enquanto o TCP se concentra na entrega confiável e em ordem dos dados, o UDP
prioriza a velocidade e a eficiência de transmissão. Cada protocolo é projetado para atender
a diferentes necessidades e aplicações, e a escolha entre eles depende dos requisitos
específicos da aplicação em questão.

15) Quais são as diferenças práticas entre o TCP e o UDP?

As diferenças práticas entre o TCP (Transmission Control Protocol) e o UDP (User


Datagram Protocol) estão relacionadas à forma como esses protocolos lidam com a
transmissão de dados em uma rede. Algumas das diferenças práticas entre TCP e UDP são:

1. Confiança na entrega de dados: o TCP garante que todos os pacotes sejam


entregues ao destinatário, enquanto o UDP não garante a entrega de pacotes.
2. Controle de fluxo: o TCP utiliza um sistema de controle de fluxo para garantir que
os pacotes sejam enviados a uma taxa que o destinatário possa lidar. O UDP não
tem nenhum mecanismo de controle de fluxo, o que pode levar à perda de pacotes
ou congestionamento da rede.
3. Controle de congestionamento: o TCP utiliza um sistema de controle de
congestionamento para evitar que a rede fique sobrecarregada e congestione. O
UDP não tem nenhum mecanismo de controle de congestionamento, o que pode
levar à perda de pacotes ou congestionamento da rede.
4. Overhead: O TCP adiciona mais informações aos pacotes, como números de
sequência e confirmações de recebimento, o que aumenta o tamanho dos pacotes e
a sobrecarga da rede. O UDP não adiciona informações adicionais aos pacotes, o
que resulta em pacotes menores e menos sobrecarga da rede.
5. Velocidade: o UDP é mais rápido que o TCP, pois não tem a sobrecarga adicional
de confirmações de recebimento e controle de congestionamento. Isso o torna ideal
para aplicações em tempo real, como jogos online e streaming de áudio/vídeo.
6. Aplicações: O TCP é amplamente utilizado em aplicações que exigem alta
confiabilidade, como transferência de arquivos e navegação na Web. O UDP é
utilizado principalmente em aplicações que requerem baixa latência, como jogos
online e streaming de áudio/vídeo.

Em resumo, o TCP é mais confiável, seguro e lento, enquanto o UDP é mais rápido, mas
menos confiável. A escolha entre TCP e UDP depende dos requisitos específicos da
aplicação em questão.

16) Em uma transmissão, como se identifica um processo específico em uma máquina? Dê


exemplos.
Na transmissão de dados, um processo é identificado por um número de porta, que é um
número de 16 bits que varia de 0 a 65535. Os processos que enviam dados utilizam uma
porta específica para se comunicar, enquanto os processos que recebem dados aguardam a
chegada dos dados em uma porta específica.

Por exemplo, o processo HTTP (HyperText Transfer Protocol), que é responsável pela
transferência de dados da Web, usa a porta 80 para enviar e receber dados. O processo
SMTP (Simple Mail Transfer Protocol), usado para envio de e-mails, usa a porta 25 para
enviar e receber dados.

Cada protocolo de rede possui portas específicas associadas a ele. Quando um processo
deseja se comunicar com outro processo em uma máquina remota, ele especifica a porta do
processo de destino na mensagem que envia. Ao receber a mensagem, a máquina de
destino encaminha a mensagem para o processo apropriado, com base na porta especificada
na mensagem.

Assim, as portas permitem que vários processos em uma máquina se comuniquem com
processos em outras máquinas, de forma confiável e segura.

17) O que são sockets? Que funções são necessárias ao uso de sockets?

Sockets são uma interface de programação de aplicativos (API) que permite a comunicação
entre processos em diferentes computadores através de uma rede. Eles são usados para
enviar e receber dados entre processos e permitem que os desenvolvedores de aplicativos
criem programas que possam se comunicar por meio de uma rede de computadores.

Para usar sockets, é necessário ter uma série de funções que permitem a criação,
configuração e gerenciamento de conexões de rede. As principais funções necessárias para
o uso de sockets incluem:

1. socket(): cria um novo socket e retorna seu descritor de arquivo (file descriptor).
2. bind(): associa o socket a um endereço IP e porta local.
3. listen(): coloca o socket em modo de escuta (listen) e aguarda por conexões de
entrada.
4. accept(): aceita uma conexão de entrada e cria um novo socket para comunicação
com o cliente.
5. connect(): inicia uma conexão de saída com um servidor em um endereço IP e porta
remotos.
6. send() e recv(): enviam e recebem dados através do socket.
7. close(): fecha o socket e libera todos os recursos associados a ele.

Essas funções são usadas para configurar e gerenciar a comunicação entre os processos que
utilizam os sockets. Por exemplo, para estabelecer uma conexão entre um cliente e um
servidor, o cliente cria um socket e usa as funções connect() e send() para enviar dados ao
servidor. O servidor, por sua vez, cria um novo socket para a comunicação com o cliente
usando a função accept() e usa as funções send() e recv() para enviar e receber dados do
cliente.

Os sockets são uma ferramenta poderosa para a criação de aplicativos de rede, permitindo
que os desenvolvedores criem aplicativos escaláveis e flexíveis que possam se comunicar
com outros computadores em uma rede.

18) Para que serve o checksum? Como ele funciona?

O checksum é um valor numérico de verificação de integridade de dados que é usado para


detectar erros em dados transmitidos através de uma rede ou armazenados em um
dispositivo de armazenamento. O objetivo do checksum é garantir que os dados recebidos
são os mesmos dados que foram originalmente enviados, sem erros ou corrupções.

O checksum funciona através do cálculo de um valor numérico com base nos dados que
estão sendo transmitidos. Esse valor é então enviado junto com os dados. Quando os dados
são recebidos, um novo checksum é calculado com base nos dados recebidos e comparado
com o checksum original enviado junto com os dados. Se os dois valores forem iguais, isso
indica que os dados foram transmitidos com sucesso e sem erros. Se os valores forem
diferentes, isso indica que ocorreu um erro nos dados transmitidos.

Existem diferentes algoritmos de checksum, como o CRC (Cyclic Redundancy Check) e o


MD5 (Message Digest 5), que são comumente usados em redes e sistemas de
armazenamento de dados. Esses algoritmos calculam um valor de checksum com base nos
dados usando uma fórmula matemática específica. O valor do checksum é geralmente
representado como um número hexadecimal, que é enviado junto com os dados.

O checksum é amplamente utilizado em redes de computadores para garantir a integridade


dos dados transmitidos, desde a transmissão de arquivos até a comunicação entre processos
em diferentes dispositivos. Ele também é usado em sistemas de armazenamento de dados
para detectar erros em arquivos armazenados. A utilização do checksum ajuda a garantir
que os dados transmitidos ou armazenados são confiáveis e precisos, aumentando a
confiabilidade e a qualidade dos sistemas de rede e armazenamento.

19) Como são realizados o estabelecimento e o término de conexão do TCP?

O TCP (Transmission Control Protocol) é um protocolo orientado a conexão que garante


uma comunicação confiável e livre de erros entre duas aplicações. O estabelecimento e o
término de conexão do TCP são realizados por meio de um processo de três vias, também
conhecido como "handshake" (aperto de mão), que envolve a troca de mensagens entre as
aplicações.

O processo de estabelecimento de conexão TCP é iniciado pela aplicação que deseja se


conectar à outra aplicação. Nesse processo, a aplicação que inicia a conexão envia uma
mensagem SYN (synchronize) para a outra aplicação, indicando que deseja estabelecer
uma conexão. Essa mensagem contém um número de sequência aleatório gerado pela
aplicação que iniciou a conexão.

A outra aplicação recebe a mensagem SYN e envia uma mensagem SYN-ACK


(synchronize-acknowledge) de volta para a aplicação que iniciou a conexão, indicando que
a conexão está sendo estabelecida. A mensagem SYN-ACK contém um número de
sequência aleatório gerado pela aplicação que recebeu a mensagem SYN, além de um
número de reconhecimento igual ao número de sequência da mensagem SYN mais um.

A aplicação que iniciou a conexão recebe a mensagem SYN-ACK e envia uma mensagem
ACK (acknowledge) de volta para a outra aplicação, confirmando que a conexão foi
estabelecida. A mensagem ACK contém um número de reconhecimento igual ao número
de sequência da mensagem SYN-ACK mais um.

Com isso, a conexão TCP é estabelecida e as aplicações podem começar a trocar dados.
Quando a comunicação entre as aplicações é concluída, é necessário finalizar a conexão
TCP de forma adequada. O término de conexão TCP é realizado por meio de um processo
de quatro vias, que envolve a troca de mensagens entre as aplicações.

Para finalizar a conexão TCP, a aplicação que deseja terminar a conexão envia uma
mensagem FIN (finish) para a outra aplicação, indicando que deseja encerrar a conexão. A
outra aplicação recebe a mensagem FIN e envia uma mensagem ACK de volta,
confirmando o recebimento da mensagem FIN.

Em seguida, a aplicação que recebeu a mensagem FIN também envia uma mensagem FIN
para a aplicação que iniciou a conexão, indicando que também deseja encerrar a conexão.
A aplicação que iniciou a conexão recebe a mensagem FIN e envia uma mensagem ACK
de volta, confirmando o recebimento da mensagem FIN.

Com isso, a conexão TCP é finalizada e ambas as aplicações podem ser encerradas. O
processo de estabelecimento e término de conexão do TCP é importante para garantir a
integridade dos dados transmitidos e a confiabilidade da comunicação entre as aplicações.

20) Como funciona a janela deslizante do TCP? Quais os modos de funcionamento e em que
casos é feita a troca?

A janela deslizante do TCP é uma técnica usada para controlar o fluxo de dados entre o
emissor e o receptor em uma conexão TCP. Ela permite que o emissor envie múltiplos
segmentos de dados para o receptor sem esperar pela confirmação de recebimento de cada
um antes de enviar o próximo. Em vez disso, o emissor pode enviar uma quantidade de
dados que seja menor ou igual ao tamanho da janela, que é determinado pelo receptor e
pode ser alterado durante a conexão.

Existem três modos de funcionamento da janela deslizante do TCP:

1. Controle de fluxo: é o modo padrão de operação, em que a janela deslizante é usada


para controlar a quantidade de dados que o emissor pode enviar para o receptor. O
receptor informa o emissor sobre o tamanho da janela através do campo Window
Size do cabeçalho TCP.
2. Retransmissão: em caso de perda de segmentos de dados, o emissor pode
retransmiti-los sem esperar pela confirmação de recebimento do receptor. O
receptor usa o mecanismo de reconhecimento seletivo (SACK) para informar quais
segmentos foram recebidos corretamente e quais precisam ser retransmitidos.
3. Congestionamento: em caso de congestionamento na rede, o receptor pode diminuir
o tamanho da janela para reduzir a quantidade de dados que o emissor pode enviar.
Isso evita que o emissor sobrecarregue a rede e ajuda a evitar a perda de segmentos
de dados.

A troca de modos de funcionamento da janela deslizante do TCP é feita dinamicamente


durante a conexão, dependendo das condições da rede e do fluxo de dados. A decisão de
trocar de modo é feita pelo receptor, que envia informações sobre a janela ao emissor
através do campo Window Size do cabeçalho TCP. O emissor então ajusta o tamanho da
janela de acordo e pode mudar o modo de operação conforme necessário.

21) Como funciona o controle de fluxo do TCP?

O controle de fluxo do TCP é usado para evitar a sobrecarga da rede e prevenir perda de
pacotes. Ele funciona através do uso da janela deslizante, que permite que o receptor
informe ao emissor a quantidade de dados que ele está disposto a receber em um
determinado momento.

O receptor envia uma mensagem ACK (acknowledgment) para o emissor informando que
recebeu um segmento de dados. Junto com a mensagem ACK, o receptor também
informa o número de sequência do próximo segmento que está esperando receber e o
tamanho da janela disponível para receber dados. O emissor usa essas informações para
determinar a quantidade de dados que pode enviar para o receptor sem sobrecarregar a
rede.

Por exemplo, suponha que a janela do receptor tenha tamanho 1000 bytes. O emissor
envia um segmento de dados de 500 bytes para o receptor e espera uma mensagem
ACK. O receptor confirma o recebimento do segmento e informa que a janela está
disponível para receber mais 500 bytes de dados. O emissor pode então enviar mais 500
bytes de dados sem esperar uma nova mensagem ACK.

Se a janela do receptor estiver cheia, o emissor terá que esperar até que haja espaço
disponível na janela para enviar mais dados. Isso evita que o emissor envie dados em
excesso para o receptor, o que pode sobrecarregar a rede e causar a perda de pacotes.
O controle de fluxo é implementado pelo TCP através dos campos de cabeçalho Window
Size e Sequence Number, que são usados para controlar o tamanho da janela e a ordem
de entrega dos pacotes. Quando o receptor informa o tamanho da janela disponível, ele
está efetivamente controlando o fluxo de dados recebidos do emissor.

22 - Cite e explique as cinco camadas do modelo TCP/IP modificado

O modelo TCP/IP é um modelo de protocolo de rede que é usado como padrão para
comunicação de dados em redes de computadores. Ele consiste em cinco camadas, que
são:

1. Camada de aplicação: Essa camada é responsável por fornecer serviços de rede


para aplicativos de software. Ele inclui protocolos como HTTP, FTP, SMTP e DNS.
2. Camada de transporte: Esta camada é responsável por fornecer um serviço de
transporte confiável e orientado para conexão para os dados transmitidos entre
aplicativos. O protocolo mais comum nesta camada é o TCP (Transmission
Control Protocol), que garante que os dados sejam entregues sem erros e em
ordem.
3. Camada de rede: Esta camada é responsável por fornecer serviços de roteamento
e encaminhamento de pacotes pela rede. O protocolo mais comum nesta camada
é o IP (Internet Protocol), que é responsável pelo endereçamento e roteamento de
pacotes.
4. Camada de enlace de dados: Esta camada é responsável pela transferência de
dados entre dispositivos em uma rede local. O protocolo mais comum nesta
camada é o Ethernet, que é usado em redes locais com fio.
5. Camada física: Esta camada é responsável pelo meio físico de transmissão de
dados, como cabos de cobre, fibra ótica ou ondas de rádio.

23 - Explique o que é proxy HTTP e como é feito o proxy transparente em HTTP

Um proxy HTTP é um servidor intermediário que age como um intermediário entre um


cliente (geralmente um navegador da web) e um servidor de destino. O objetivo principal
de um proxy HTTP é permitir que um cliente acesse recursos na internet de forma mais
eficiente e segura.

Quando um cliente faz uma solicitação HTTP através de um proxy, o proxy intercepta a
solicitação e, em seguida, encaminha a solicitação ao servidor de destino em nome do
cliente. O servidor de destino responde ao proxy, que, por sua vez, encaminha a resposta
ao cliente. Isso pode ajudar a melhorar o desempenho, reduzir o tráfego de rede e
aumentar a segurança.

Um proxy transparente em HTTP é um tipo de proxy que não requer nenhuma


configuração do cliente para funcionar. Ele é "transparente" porque é configurado em um
nível de rede mais baixo, geralmente por um administrador de rede, e não requer
nenhuma configuração do cliente. Quando um cliente faz uma solicitação HTTP através
de uma rede que possui um proxy transparente, a solicitação é interceptada pelo proxy
sem que o cliente saiba disso. O proxy transparente pode então aplicar políticas de
segurança e acesso, encaminhar a solicitação para o servidor de destino e, em seguida,
enviar a resposta de volta ao cliente.

Em resumo, um proxy HTTP é um servidor intermediário que atua em nome do cliente


para acessar recursos da internet de forma mais eficiente e segura. Um proxy
transparente em HTTP é um tipo de proxy que é configurado em um nível de rede mais
baixo e não requer nenhuma configuração do cliente.

24 - Diferencie a arquitetura peer-to-peer (ponto-a-ponto) pura (usada no Gnutella) da


arquitetura peer-to-peer híbrida (usado no bitTorrent) e cite 2 vantagens e 2 desvantagens

A arquitetura peer-to-peer (P2P) é uma maneira de organizar sistemas distribuídos, em


que cada nó (ou "peer") pode atuar tanto como um cliente quanto como um servidor.
Existem dois tipos principais de arquitetura P2P: pura e híbrida.

A arquitetura peer-to-peer pura é uma rede em que todos os nós têm a mesma função e
responsabilidade, ou seja, cada nó atua como cliente e servidor ao mesmo tempo. Cada
nó pode se comunicar diretamente com outros nós e compartilhar recursos, como
arquivos. O Gnutella é um exemplo de arquitetura P2P pura.

Já a arquitetura P2P híbrida é uma rede que combina elementos de uma rede P2P com
um servidor centralizado, também conhecido como "tracker". Cada nó ainda pode se
comunicar diretamente com outros nós, mas eles também se comunicam com o tracker
para encontrar outros nós que possuem o arquivo desejado. O BitTorrent é um exemplo
de arquitetura P2P híbrida.

Algumas vantagens da arquitetura P2P pura incluem:

1. Descentralização: Como não há servidor centralizado, a rede é mais resistente a


falhas e menos vulnerável a ataques.
2. Escalabilidade: A arquitetura P2P pura é altamente escalável, pois cada nó
adicionado à rede também contribui com recursos para a rede.

Algumas desvantagens da arquitetura P2P pura incluem:

1. Velocidade: Como cada nó é responsável por encontrar outros nós e compartilhar


recursos, a velocidade de transferência de arquivos pode ser afetada pela
quantidade de nós na rede.
2. Confiabilidade: Como a rede depende de cada nó para encontrar recursos, a
confiabilidade da rede pode ser afetada pela disponibilidade e confiabilidade de
cada nó.

Algumas vantagens da arquitetura P2P híbrida incluem:

1. Eficiência: Como o tracker ajuda a encontrar nós que possuem o arquivo


desejado, a transferência de arquivos pode ser mais eficiente.
2. Controle: O tracker pode ajudar a controlar o acesso aos recursos na rede e
aplicar políticas de segurança.

Algumas desvantagens da arquitetura P2P híbrida incluem:

1. Centralização: A dependência do tracker pode tornar a rede vulnerável a falhas e


ataques.
2. Disponibilidade: Se o tracker estiver inoperante, a rede pode ser incapaz de
encontrar os recursos desejados.

OBS: A diferença do P2P puro para o híbrido é em poucas palavras, pois o híbrido possui
um servidor central, enquanto P2P puro não há distinção clara entre as funções que
esses nós desempenham na rede.

25 - Para que serve e como funciona o controle de fluxo do TCP ?

O controle de fluxo do TCP (Transmission Control Protocol) é um mecanismo usado para


regular o fluxo de dados entre um emissor e um receptor em uma conexão de rede. O
objetivo é evitar a sobrecarga do receptor com mais dados do que ele pode processar e
armazenar, garantindo que a comunicação seja eficiente e confiável.

O controle de fluxo do TCP funciona usando uma técnica chamada "janela deslizante"
(sliding window). Cada pacote de dados TCP contém um número de sequência e um
número de confirmação. Quando o receptor recebe um pacote, ele envia um número de
confirmação para o emissor indicando que recebeu com sucesso o pacote e está pronto
para receber mais dados. O número de confirmação é igual ao número de sequência do
próximo pacote que o receptor espera receber.

O controle de fluxo é implementado usando um campo de "janela" no cabeçalho do


pacote TCP. A janela indica ao emissor quantos bytes o receptor está pronto para
receber. À medida que o receptor recebe dados, a janela desliza, permitindo que o
receptor informe ao emissor quantos bytes ele pode receber a seguir. Se o receptor
estiver ocupado demais para receber dados, ele simplesmente não envia um número de
confirmação para o pacote, e a janela permanece no mesmo lugar.

Assim, o controle de fluxo do TCP ajuda a garantir que a comunicação entre emissor e
receptor seja eficiente e confiável, permitindo que o receptor controle o fluxo de dados e
evite a sobrecarga de dados indesejada. Ele é um dos principais mecanismos que tornam
o TCP um protocolo robusto e confiável para a comunicação de rede.

26 - Sobre programação com sockets, responde:


A - Quais as diferenças entre usar um serviço de transporte TCP e um UDP ?

Ao usar sockets para programação de rede, existem duas opções de serviço de


transporte: TCP e UDP. Ambos os protocolos têm seus próprios recursos, vantagens e
desvantagens.

TCP (Transmission Control Protocol) é um protocolo orientado à conexão e confiável. Ele


garante que os dados cheguem ao seu destino sem erros, na ordem correta e sem perda
de pacotes. Para garantir essa confiabilidade, o TCP implementa o controle de fluxo e o
controle de congestionamento. O controle de fluxo garante que o remetente não envie
mais dados do que o destinatário possa receber, enquanto o controle de
congestionamento evita a sobrecarga da rede, reduzindo a taxa de transmissão em caso
de congestionamento.

Algumas das principais diferenças de usar TCP incluem:

● Confiabilidade: O TCP é confiável, o que significa que os dados são entregues


sem erros, na ordem correta e sem perda de pacotes.
● Orientado à conexão: O TCP estabelece uma conexão entre o remetente e o
destinatário antes de iniciar a transferência de dados.
● Overhead: O TCP tem um overhead maior do que o UDP devido ao seu controle
de fluxo e controle de congestionamento.

Por outro lado, UDP (User Datagram Protocol) é um protocolo não confiável e sem
conexão. Ele envia pacotes de dados, conhecidos como datagramas, sem garantir que
cheguem ao seu destino. Se um pacote UDP é perdido ou corrompido, o remetente não é
notificado e não há garantia de que ele será retransmitido. O UDP é mais adequado para
aplicativos em que a perda de alguns pacotes não é crítica e a latência é importante.

Algumas das principais diferenças de usar UDP incluem:

● Não confiabilidade: O UDP não é confiável, o que significa que não há garantia de
que os dados chegarão ao seu destino ou na ordem correta.
● Sem conexão: O UDP não estabelece uma conexão antes de iniciar a
transferência de dados, o que significa que os pacotes podem ser enviados
imediatamente.
● Overhead: O UDP tem um overhead menor do que o TCP, já que não implementa
controle de fluxo ou controle de congestionamento.

Em resumo, a escolha entre TCP e UDP depende das necessidades do aplicativo. Se a


confiabilidade, a ordem e a entrega sem erros dos dados são críticas, o TCP é a escolha
ideal. Se a latência é uma preocupação e a perda de alguns pacotes não é crítica, o UDP
pode ser uma melhor escolha.

B - Como se usam sockets TCP no servidor e no cliente ? Para cada um, cite as funções na
ordem de utilização

O uso de sockets TCP em um cliente e servidor é fundamental para criar aplicativos de


rede que possam se comunicar através da internet. As funções a serem utilizadas podem
variar dependendo da linguagem de programação usada, mas em geral, as etapas
básicas para o uso de sockets TCP em um cliente e servidor são as seguintes:

Para o cliente:

1. Criação do socket: Cria um socket TCP para comunicação com o servidor. Isso é
geralmente feito com a função socket(), especificando o protocolo TCP.
2. Conexão com o servidor: Conecta-se ao servidor usando a função connect(),
que estabelece uma conexão TCP com o endereço IP e a porta do servidor.
3. Envio de dados: Envia dados ao servidor usando a função send(), que envia os
dados por meio da conexão TCP.
4. Recebimento de dados: Recebe dados do servidor usando a função recv(), que
recebe dados por meio da conexão TCP.
5. Encerramento da conexão: Encerra a conexão TCP com o servidor usando a
função close(), que fecha o socket.

Para o servidor:

1. Criação do socket: Cria um socket TCP para aguardar a conexão dos clientes.
Isso é geralmente feito com a função socket(), especificando o protocolo TCP.
2. Vinculação do socket: Vincula o socket ao endereço IP e à porta do servidor
usando a função bind().
3. Escuta por conexões: Aguarda conexões de clientes usando a função listen(),
que coloca o socket em modo de escuta para receber conexões.
4. Aceitação de conexões: Aceita uma conexão de um cliente usando a função
accept(), que retorna um novo socket para comunicação com o cliente
conectado.
5. Recebimento de dados: Recebe dados do cliente usando a função recv(), que
recebe dados por meio da conexão TCP.
6. Envio de dados: Envia dados ao cliente usando a função send(), que envia os
dados por meio da conexão TCP.
7. Encerramento da conexão: Encerra a conexão TCP com o cliente usando a
função close(), que fecha o socket.

É importante lembrar que as funções e a ordem de utilização podem variar dependendo


da linguagem de programação e do sistema operacional utilizado.

27 - O que são os cookies HTTP e exemplos.

Cookies HTTP são pequenos arquivos de texto que um servidor web envia para o
navegador do usuário e que são armazenados no computador ou dispositivo do usuário.
Os cookies são usados para armazenar informações sobre as preferências do usuário,
como suas configurações de idioma, login e senha, histórico de navegação e outras
informações relevantes para a interação com o site.

Os cookies são amplamente utilizados em aplicações web para melhorar a experiência do


usuário, tornando o acesso a sites mais rápido e eficiente. Eles permitem que o servidor
reconheça o usuário e suas preferências, mantendo informações sobre sua sessão e seu
comportamento de navegação.

Existem vários tipos de cookies, incluindo:

1. Cookies de sessão: são temporários e são apagados assim que o usuário fecha o
navegador.
2. Cookies persistentes: permanecem armazenados no dispositivo do usuário por um
período específico de tempo, permitindo que o servidor se lembre das
preferências do usuário quando ele retorna ao site.
3. Cookies de terceiros: são definidos por um domínio diferente do que o usuário
está visitando, como anúncios de terceiros que podem coletar informações sobre
o comportamento do usuário na web.

Exemplos de uso de cookies incluem:

1. Armazenar informações de login: os cookies podem ser usados para lembrar as


credenciais de login do usuário, permitindo que ele faça login rapidamente na
próxima vez que visitar o site.
2. Personalização do conteúdo: os cookies podem ser usados para lembrar as
preferências do usuário, como a linguagem ou a região, e apresentar conteúdo
personalizado de acordo com essas preferências.
3. Análise do comportamento do usuário: os cookies podem ser usados para rastrear
o comportamento de navegação do usuário e coletar informações para análise,
como as páginas visitadas, o tempo gasto no site e outras métricas relevantes
para a melhoria da experiência do usuário.

Você também pode gostar

  • Apresentação Da Disciplina
    Apresentação Da Disciplina
    Documento8 páginas
    Apresentação Da Disciplina
    Mickaelly Nobre Freitas Nobre
    Ainda não há avaliações
  • Exercício de Simulacao
    Exercício de Simulacao
    Documento1 página
    Exercício de Simulacao
    Mickaelly Nobre Freitas Nobre
    Ainda não há avaliações
  • Eletrônica I - Prova
    Eletrônica I - Prova
    Documento19 páginas
    Eletrônica I - Prova
    Mickaelly Nobre Freitas Nobre
    Ainda não há avaliações
  • Analise de Circuirtos Lista
    Analise de Circuirtos Lista
    Documento39 páginas
    Analise de Circuirtos Lista
    Mickaelly Nobre Freitas Nobre
    Ainda não há avaliações
  • Bolsa
    Bolsa
    Documento2 páginas
    Bolsa
    Mickaelly Nobre Freitas Nobre
    Ainda não há avaliações
  • Amplificador
    Amplificador
    Documento11 páginas
    Amplificador
    Mickaelly Nobre Freitas Nobre
    Ainda não há avaliações