• Home
  • Chat IA
  • Guru IA
  • Tutores
  • Central de ajuda
Home
Chat IA
Guru IA
Tutores

·

Cursos Gerais ·

Rede de Computadores

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Laboratorio Proxy Web com Cache em Java - Desenvolvimento e Implementacao

1

Laboratorio Proxy Web com Cache em Java - Desenvolvimento e Implementacao

Rede de Computadores

IFG

Texto de pré-visualização

Laboratório Proxy Cache Neste laboratório você desenvolverá um pequeno servidor proxy web com interface gráfica simples O servidor proxy a ser desenvolvido entende apenas solicitações GET mas é capaz de lidar com todos os tipos de objetos páginas HTML imagens etc Código Esse laboratório inclui um arquivo html contendo os códigos Java base para o desenvolvimento do proxy O código é dividido em três classes da seguinte forma ProxyCache contém o código de inicialização para o proxy e o código para lidar com as solicitações HttpRequest contém as rotinas para analisar e processar as solicitações recebidas dos clientes HttpResponse se encarrega de ler as respostas dos servidores e processálas Seu trabalho será desenvolver uma interface gráfica simples para o proxy contendo no mínimo um campo para a especificação de qual porta o proxy rodará e um botão para iniciar o proxy bem como completar e adaptar os códigos fornecidos para que o proxy possa receber solicitações encaminhálas ler as respostas e devolvêlas aos clientes Você precisará criar uma classe para representar a interface gráfica e concluir as classes ProxyCache HttpRequest e HttpResponse adaptandoas para que funcionem como uma única aplicação Os locais onde você precisa preencher o código estão marcados com Fill in Cada local pode exigir uma ou mais linhas de código e pode haver necessidade de alterar os locais de edição considerando que a execução será por meio de interface gráfica Executando o Proxy A interface gráfica deve apresentar um botão Iniciar Proxy ou algo do tipo e conter também um campo de texto onde o usuário deve inserir a porta que o proxy escutará Para executar o proxy devese clicar sobre o botão Iniciar Proxy ou equivalente Apesar de não ser obrigatório a interface gráfica pode conter elementos mais sofisticados como exibir os endereços IPs dos requisitantes contabilizar número de conexões etc e também fazer um tratamento de erros adequado Configurando seu navegador Você também precisará configurar seu navegador web para usar seu proxy Isso depende do seu navegador No Internet Explorer você pode definir o proxy em Opções da Internet na guia Conexões em Configurações de LAN No Netscape e navegadores derivados como o Mozilla você pode definir o proxy em EditarPreferências e depois selecionar Avançado e Proxies Em ambos os casos você precisa fornecer o endereço do proxy e o número da porta que você forneceu quando iniciou o proxy Você pode executar o proxy e o navegador no mesmo computador sem problemas Funcionalidade O proxy funciona da seguinte forma 1 Ao clicar em iniciar proxy ou outro recurso de interface gráfica equivalente o proxy escuta os pedidos dos clientes na porta definida no campo de texto apropriado 2 Quando há um pedido o proxy gera uma nova thread para lidar com o pedido e cria um objeto HttpRequest que contém o pedido 3 A nova thread envia a solicitação ao servidor e lê a resposta do servidor em um objeto HttpResponse 4 A thread envia a resposta de volta ao cliente solicitante Sua tarefa é criar uma janela gráfica simples e completar o código que trata do processo acima A maior parte do tratamento de erros no proxy é muito simples e não informa o cliente sobre erros Quando houver erros o proxy simplesmente interrompe o processamento da solicitação e o cliente recebe um timeout Alguns navegadores também enviam suas solicitações uma de cada vez sem usar conexões paralelas Especialmente em páginas com muitas imagens embutidas isso pode fazer com que a página carregue muito lentamente Cache Opcional O armazenamento em cache das respostas no proxy é deixado como um exercício opcional pois exige uma quantidade significativa de trabalho adicional A funcionalidade básica do cache é a seguinte 1 Quando o proxy recebe uma solicitação ele verifica se o objeto solicitado está armazenado em cache e em caso afirmativo retorna o objeto do cache sem entrar em contato com o servidor 2 Se o objeto não estiver armazenado em cache o proxy recuperará o objeto do servidor o retornará ao cliente e armazenará em cache uma cópia para solicitações futuras Na prática o proxy deve verificar se as respostas armazenadas em cache ainda são válidas e se são a resposta correta à solicitação do cliente Você pode ler mais sobre o armazenamento em cache e como ele é tratado em HTTP na RFC 2068 Para este laboratório basta implementar o proxy simples sem cache Dicas de programação A maior parte do código que você precisa escrever está relacionada ao processamento de solicitações e respostas HTTP bem como ao manuseio de sockets Java e os recursos de interface gráfica Um ponto digno de nota é o processamento das respostas do servidor Em uma resposta HTTP os cabeçalhos são enviados como linhas ASCII separadas por sequências de caracteres CRLF Os cabeçalhos são seguidos por uma linha vazia e o corpo da resposta que pode ser um dado binário no caso de imagens por exemplo Java separa os fluxos de entrada de acordo com se eles são baseados em texto ou binários o que apresenta um pequeno problema neste caso Somente DataInputStreams são capazes de lidar com texto e dados binários simultaneamente todos os outros fluxos são texto puro por exemplo BufferedReader ou binário puro por exemplo BufferedInputStream e misturálos no mesmo soquete geralmente não funciona O DataInputStream tem uma pequena pegadinha pois não é capaz de garantir que os dados que ele lê possam ser convertidos corretamente para os caracteres corretos em todas as plataformas método DataInputStreamreadLine No caso deste laboratório a conversão geralmente funciona mas o compilador sinalizará o método DataInputStreamreadLine como obsoleto e se recusará a compilar sem a marcação deprecated É altamente recomendável que você use o DataInputStream para ler a resposta

Envie sua pergunta para a IA e receba a resposta na hora

Recomendado para você

Laboratorio Proxy Web com Cache em Java - Desenvolvimento e Implementacao

1

Laboratorio Proxy Web com Cache em Java - Desenvolvimento e Implementacao

Rede de Computadores

IFG

Texto de pré-visualização

Laboratório Proxy Cache Neste laboratório você desenvolverá um pequeno servidor proxy web com interface gráfica simples O servidor proxy a ser desenvolvido entende apenas solicitações GET mas é capaz de lidar com todos os tipos de objetos páginas HTML imagens etc Código Esse laboratório inclui um arquivo html contendo os códigos Java base para o desenvolvimento do proxy O código é dividido em três classes da seguinte forma ProxyCache contém o código de inicialização para o proxy e o código para lidar com as solicitações HttpRequest contém as rotinas para analisar e processar as solicitações recebidas dos clientes HttpResponse se encarrega de ler as respostas dos servidores e processálas Seu trabalho será desenvolver uma interface gráfica simples para o proxy contendo no mínimo um campo para a especificação de qual porta o proxy rodará e um botão para iniciar o proxy bem como completar e adaptar os códigos fornecidos para que o proxy possa receber solicitações encaminhálas ler as respostas e devolvêlas aos clientes Você precisará criar uma classe para representar a interface gráfica e concluir as classes ProxyCache HttpRequest e HttpResponse adaptandoas para que funcionem como uma única aplicação Os locais onde você precisa preencher o código estão marcados com Fill in Cada local pode exigir uma ou mais linhas de código e pode haver necessidade de alterar os locais de edição considerando que a execução será por meio de interface gráfica Executando o Proxy A interface gráfica deve apresentar um botão Iniciar Proxy ou algo do tipo e conter também um campo de texto onde o usuário deve inserir a porta que o proxy escutará Para executar o proxy devese clicar sobre o botão Iniciar Proxy ou equivalente Apesar de não ser obrigatório a interface gráfica pode conter elementos mais sofisticados como exibir os endereços IPs dos requisitantes contabilizar número de conexões etc e também fazer um tratamento de erros adequado Configurando seu navegador Você também precisará configurar seu navegador web para usar seu proxy Isso depende do seu navegador No Internet Explorer você pode definir o proxy em Opções da Internet na guia Conexões em Configurações de LAN No Netscape e navegadores derivados como o Mozilla você pode definir o proxy em EditarPreferências e depois selecionar Avançado e Proxies Em ambos os casos você precisa fornecer o endereço do proxy e o número da porta que você forneceu quando iniciou o proxy Você pode executar o proxy e o navegador no mesmo computador sem problemas Funcionalidade O proxy funciona da seguinte forma 1 Ao clicar em iniciar proxy ou outro recurso de interface gráfica equivalente o proxy escuta os pedidos dos clientes na porta definida no campo de texto apropriado 2 Quando há um pedido o proxy gera uma nova thread para lidar com o pedido e cria um objeto HttpRequest que contém o pedido 3 A nova thread envia a solicitação ao servidor e lê a resposta do servidor em um objeto HttpResponse 4 A thread envia a resposta de volta ao cliente solicitante Sua tarefa é criar uma janela gráfica simples e completar o código que trata do processo acima A maior parte do tratamento de erros no proxy é muito simples e não informa o cliente sobre erros Quando houver erros o proxy simplesmente interrompe o processamento da solicitação e o cliente recebe um timeout Alguns navegadores também enviam suas solicitações uma de cada vez sem usar conexões paralelas Especialmente em páginas com muitas imagens embutidas isso pode fazer com que a página carregue muito lentamente Cache Opcional O armazenamento em cache das respostas no proxy é deixado como um exercício opcional pois exige uma quantidade significativa de trabalho adicional A funcionalidade básica do cache é a seguinte 1 Quando o proxy recebe uma solicitação ele verifica se o objeto solicitado está armazenado em cache e em caso afirmativo retorna o objeto do cache sem entrar em contato com o servidor 2 Se o objeto não estiver armazenado em cache o proxy recuperará o objeto do servidor o retornará ao cliente e armazenará em cache uma cópia para solicitações futuras Na prática o proxy deve verificar se as respostas armazenadas em cache ainda são válidas e se são a resposta correta à solicitação do cliente Você pode ler mais sobre o armazenamento em cache e como ele é tratado em HTTP na RFC 2068 Para este laboratório basta implementar o proxy simples sem cache Dicas de programação A maior parte do código que você precisa escrever está relacionada ao processamento de solicitações e respostas HTTP bem como ao manuseio de sockets Java e os recursos de interface gráfica Um ponto digno de nota é o processamento das respostas do servidor Em uma resposta HTTP os cabeçalhos são enviados como linhas ASCII separadas por sequências de caracteres CRLF Os cabeçalhos são seguidos por uma linha vazia e o corpo da resposta que pode ser um dado binário no caso de imagens por exemplo Java separa os fluxos de entrada de acordo com se eles são baseados em texto ou binários o que apresenta um pequeno problema neste caso Somente DataInputStreams são capazes de lidar com texto e dados binários simultaneamente todos os outros fluxos são texto puro por exemplo BufferedReader ou binário puro por exemplo BufferedInputStream e misturálos no mesmo soquete geralmente não funciona O DataInputStream tem uma pequena pegadinha pois não é capaz de garantir que os dados que ele lê possam ser convertidos corretamente para os caracteres corretos em todas as plataformas método DataInputStreamreadLine No caso deste laboratório a conversão geralmente funciona mas o compilador sinalizará o método DataInputStreamreadLine como obsoleto e se recusará a compilar sem a marcação deprecated É altamente recomendável que você use o DataInputStream para ler a resposta

Sua Nova Sala de Aula

Sua Nova Sala de Aula

Empresa

Central de ajuda Contato Blog

Legal

Termos de uso Política de privacidade Política de cookies Código de honra

Baixe o app

4,8
(35.000 avaliações)
© 2025 Meu Guru®