Exercício - Camada de Aplicação
Exercício - Camada de Aplicação
Exercício - Camada de Aplicação
TELNET
O TELNET é uma aplicação para serviços de terminal virtual, que permite que um terminal
local estabeleça uma conexão virtual a um sistema remoto. Para montar essa conexão o TELNET
usa o TCP na porta 23. A arquitetura do Telnet é baseada em um modelo cliente-servidor, em
que um cliente Telnet se conecta a um servidor Telnet para estabelecer uma sessão remota.
HTTP
O protocolo HTTP utiliza a porta 80 para comunicação padrão, mas também pode usar a
porta 8080 em algumas configurações. O HTTP também suporta criptografia de comunicação por
meio do HTTPS (HTTP Secure), que utiliza a porta 443.
O protocolo HTTPS utiliza a porta 443 para comunicação padrão, mas também pode usar
outras portas em algumas configurações.
FTP
O protocolo FTP (File Transfer Protocol) é um protocolo de rede usado para transferir
arquivos de um computador para outro. Ele permite que os usuários façam upload e download
de arquivos em um servidor FTP remoto.
O FTP utiliza a porta 21 para comunicação, que é a porta padrão para a transferência de
arquivos. Além disso, ele utiliza a porta 20 para transferência de dados, que é usada para
transferir arquivos em si.
SMTP
O protocolo SMTP (Simple Mail Transfer Protocol) é um protocolo de rede usado para
transferir e enviar e-mails. Ele é responsável por transmitir e-mails de um servidor de e-mail para
outro, permitindo que os usuários enviem e-mails para destinatários em todo o mundo.
O SMTP utiliza a porta 25 para comunicação, que é a porta padrão para envio de e-mails.
No entanto, essa porta pode ser bloqueada em alguns sistemas de segurança para impedir spam
e ataques de hackers. Nesses casos, outras portas podem ser usadas para enviar e-mails, como a
porta 587, que é designada para SMTP com autenticação.
O SMTP é um protocolo amplamente usado em todo o mundo para enviar e-mails, mas
tem algumas limitações de segurança. Por exemplo, os e-mails enviados por SMTP não são
criptografados por padrão, o que significa que as informações do e-mail podem ser interceptadas
e lidas por terceiros. No entanto, muitos serviços de e-mail modernos, como o Gmail e o Outlook,
usam SSL/TLS para criptografar as conexões SMTP, tornando o envio de e-mails mais seguro.
POP3
O protocolo POP3 (Post Office Protocol version 3) é uma versão mais recente do protocolo
POP (Post Office Protocol), utilizado para receber e-mail de um servidor remoto. O POP3 é uma
evolução do POP2, introduzindo suporte para múltiplas conexões simultâneas e autenticação por
senha.
O POP3 utiliza a porta 110 para comunicação não criptografada e a porta 995 para
comunicação criptografada usando SSL/TLS.
O POP3 tem algumas limitações em relação a outros protocolos de e-mail, como o IMAP
(Internet Message Access Protocol), como o fato de que as mensagens são baixadas do servidor
para o dispositivo do usuário e, em seguida, excluídas do servidor, o que significa que elas não
podem ser acessadas de outros dispositivos. Além disso, o POP3 não suporta a sincronização de
mensagens entre vários dispositivos, ou o acesso às pastas e marcadores armazenados no
servidor.
IMAP
O IMAP utiliza a porta 143 para comunicação não criptografada e a porta 993 para
comunicação criptografada usando SSL/TLS.
SSH
O protocolo SSH (Secure Shell) é um protocolo de rede usado para estabelecer uma
conexão segura e criptografada entre um cliente e um servidor. Ele é usado principalmente para
permitir acesso remoto a um computador e para transferência segura de arquivos.
O SSH utiliza a porta 22 para comunicação, que é a porta padrão para SSH. No entanto,
outras portas podem ser usadas para o SSH, dependendo da configuração do servidor SSH.
A arquitetura do SSH é baseada em criptografia de chave pública e privada. Quando um
cliente se conecta a um servidor SSH, o servidor gera um par de chaves pública e privada. A chave
pública é compartilhada com o cliente e a chave privada é mantida no servidor. O cliente usa a
chave pública do servidor para criptografar os dados enviados ao servidor, enquanto o servidor
usa sua chave privada para descriptografar os dados recebidos do cliente.
DNS
O protocolo DNS (Domain Name System) é um protocolo de rede utilizado para traduzir
nomes de domínio em endereços IP. O DNS é usado para localizar recursos de rede, como
servidores web ou servidores de e-mail, associados a nomes de domínio.
O DNS utiliza a arquitetura cliente-servidor, em que o cliente DNS faz uma consulta ao
servidor DNS para traduzir um nome de domínio em um endereço IP. O servidor DNS responde à
consulta enviando o endereço IP associado ao nome de domínio.
O DNS utiliza as portas 53 UDP e TCP para comunicação entre o cliente e o servidor DNS.
A maioria das consultas DNS são realizadas usando o protocolo UDP, que é mais rápido, mas
menos confiável do que o TCP. O TCP é usado quando as consultas DNS são maiores do que o
tamanho máximo permitido para as consultas do protocolo UDP.
A arquitetura do protocolo DNS é composta de um conjunto de servidores DNS
distribuídos em todo o mundo, cada um responsável por uma parte do espaço de nomes de
domínio global. Quando um cliente faz uma consulta DNS para um nome de domínio, ele começa
por consultar o servidor DNS local (geralmente fornecido pelo provedor de serviços de internet
do cliente), que pode encaminhar a consulta para outros servidores DNS em busca do endereço
IP correspondente.
Proxy
Algumas particularidades dos proxies incluem o cache de dados, que permite que
solicitações frequentes sejam atendidas mais rapidamente, e a capacidade de mascarar o
endereço IP do cliente, oferecendo mais privacidade.
O uso de proxies pode ser vantajoso em situações como acesso a recursos restritos,
controle de acesso à internet em empresas, otimização de rede e melhoria da segurança.
Proxy reverso é um tipo de servidor proxy que opera na camada de aplicação e é usado
para proteger servidores web e melhorar a performance da rede. Ao contrário do proxy comum,
que atua do lado do cliente, o proxy reverso fica do lado do servidor.
O funcionamento do proxy reverso ocorre quando um cliente faz uma solicitação para um
servidor web, o proxy intercepta essa solicitação, realiza uma série de verificações e, em seguida,
encaminha a solicitação para o servidor web correspondente. O proxy também pode realizar
tarefas como cache de conteúdo, load balancing e filtragem de tráfego.
P2P
Não há uma porta padrão de funcionamento para o P2P, uma vez que a comunicação
ocorre diretamente entre os nós da rede, sem um servidor intermediário. No entanto, é possível
que as aplicações P2P usem portas específicas para a comunicação entre os nós.
Micro Serviços
Não há uma porta padrão de funcionamento para os microsserviços, uma vez que cada
serviço pode ser implantado em seu próprio servidor e porta. No entanto, é comum que as APIs
usadas para a comunicação entre os serviços usem portas específicas.
Algumas particularidades dos microsserviços incluem a possibilidade de implantação e
atualização independentes de cada serviço, a facilidade de gerenciamento e monitoramento dos
serviços individuais e a capacidade de escalabilidade e resiliência.
Arquitetura Cliente-Servidor
As requisições DNS são usadas para obter informações sobre endereços IP associados a
nomes de domínio. Existem dois tipos de requisições DNS: recursivas e interativas.
As requisições DNS recursivas são utilizadas quando um cliente solicita a um servidor DNS
que resolva um nome de domínio em um endereço IP. O servidor DNS recursivo é responsável
por percorrer a hierarquia de servidores DNS, de forma a obter a resposta desejada para o cliente.
O servidor DNS recursivo consulta outros servidores DNS, se necessário, para obter a resposta
final para o cliente. O servidor DNS recursivo retorna a resposta para o cliente que solicitou a
requisição.
As requisições DNS interativas, por outro lado, permitem que o cliente faça perguntas
específicas e receba respostas específicas. Em outras palavras, a requisição interativa exige que
o servidor DNS forneça todas as informações disponíveis sobre um nome de domínio. O servidor
DNS responde com a informação solicitada e, se a resposta não estiver completa, ele retorna um
código de resposta que indica qual servidor DNS o cliente deve consultar a seguir. A requisição
interativa pode ser usada para depurar problemas com nomes de domínio ou para obter
informações mais detalhadas sobre os servidores DNS.
Quando um cliente faz uma consulta DNS sobre um domínio específico, o servidor DNS
responde com as informações autoritativas associadas à zona de autoridade do domínio. Se o
servidor DNS primário não puder responder à consulta, ele pode encaminhá-la para um servidor
DNS secundário que tenha uma cópia atualizada da zona de autoridade.
d)O que é um cache Web? Para que são utilizados e quais as vantagens do seu uso?
Cache Web é uma tecnologia usada para armazenar temporariamente conteúdo de
páginas da Web em um servidor intermediário (cache), a fim de acelerar o acesso a essas páginas
pelos usuários. Quando um cliente solicita uma página da Web, o servidor cache verifica se possui
uma cópia em cache da página. Se tiver, o servidor cache retorna a página armazenada em cache
para o cliente, em vez de buscar a página original no servidor Web.
Os caches Web são utilizados para melhorar o desempenho e reduzir o tempo de resposta
das páginas da Web, principalmente em redes com alta demanda de tráfego. Ao reduzir a
quantidade de solicitações feitas aos servidores Web originais, o uso de caches Web pode
diminuir a sobrecarga desses servidores e aumentar a capacidade da rede.
No HTTP (Hypertext Transfer Protocol), as URLs são usadas para solicitar e acessar páginas
da web. Quando um usuário digita uma URL em um navegador da web, o navegador envia uma
solicitação HTTP ao servidor que hospeda a página da web. A solicitação inclui a URL do recurso
solicitado, bem como outras informações, como as informações do navegador e do usuário. O
servidor responde à solicitação enviando o conteúdo da página da web de volta para o
navegador, usando o protocolo HTTP.
f) Mostre a diferença entre a transmissão de uma página Web com HTTP persistente e não
persistente?
O HTTP (Hypertext Transfer Protocol) é o protocolo padrão usado para transferir páginas
da web na internet. Existem dois tipos principais de conexões HTTP: persistente e não
persistente.
Na transmissão com HTTP não persistente, cada solicitação para uma página da web é
feita em uma conexão separada. Ou seja, uma nova conexão é estabelecida para cada recurso
solicitado na página, como imagens, arquivos CSS e JavaScript. Depois que a solicitação é
concluída, a conexão é encerrada. Isso significa que o navegador precisa estabelecer várias
conexões para recuperar todos os recursos necessários para renderizar a página da web. Isso
pode causar um atraso significativo na exibição da página da web, especialmente em conexões
lentas.
Já na transmissão com HTTP persistente, uma única conexão é usada para recuperar
todos os recursos necessários para renderizar uma página da web. O servidor mantém a conexão
aberta e envia todos os recursos solicitados por meio dessa conexão. Isso significa que o
navegador não precisa estabelecer várias conexões para recuperar recursos adicionais,
reduzindo o tempo de espera e melhorando o desempenho da página da web.
g) O que são cookies e qual a sua finalidade? Quais são seus componentes (cite a função de
cada um)?
Cookies são pequenos arquivos de texto que os sites enviam para o navegador do usuário
e que são armazenados em seu computador. Eles são usados para armazenar informações sobre
as atividades do usuário no site, como preferências de idioma, nome de usuário e senha, itens
em um carrinho de compras, entre outros.
Os cookies são criados por um servidor web e enviados para o navegador do usuário, onde
são armazenados no computador em um local específico. Quando o usuário retorna ao site, o
navegador envia os cookies de volta para o servidor, permitindo que o site reconheça o usuário
e personalize sua experiência.
Uma conexão não persistente é aquela em que a conexão entre o cliente e o servidor é
encerrada após cada solicitação/resposta. Ou seja, o cliente precisa abrir uma nova conexão toda
vez que deseja solicitar um recurso ao servidor. Isso pode levar a um desempenho mais lento,
especialmente em sites com muitos recursos, já que é necessário estabelecer uma nova conexão
para cada recurso solicitado.
As conexões persistentes são geralmente utilizadas em sites com muitos recursos, como
imagens, arquivos CSS e JavaScript, pois permitem que esses recursos sejam baixados mais
rapidamente, reduzindo o tempo necessário para estabelecer novas conexões. No entanto, é
importante lembrar que as conexões persistentes também podem aumentar o uso de memória
e recursos do servidor, especialmente em sites com muitos usuários simultâneos.