SERVIDOR WEB MULTITHREAD
Por: Felipe Vogel • 10/3/2016 • Trabalho acadêmico • 2.827 Palavras (12 Páginas) • 750 Visualizações
UNIVERSIDADE VILA VELHA
CURSO DE SISTEMAS DE INFORMAÇÃO
FELIPE DE OLIVEIRA VOGEL PENNA
HENRIQUE FERREIRA CANAL
SERVIDOR WEB MULTITHREAD
VILA VELHA
2014
FELIPE DE OLIVEIRA VOGEL PENNA
HENRIQUE FERREIRA CANAL
SERVIDOR WEB MULTITHREAD
Trabalho apresentado a Universidade Vila Velha, como parte das exigências da disciplina de Redes I, para a obtenção do grau de Bacharel em Sistemas de Informação.
Orientador: Denis Rodrigues da Silva.
VILA VELHA
2014
RESUMO
O trabalho consiste em criar um servidor HTTP, por isso vamos antes entender como funciona este protocolo.
Quando digitamos um endereço web, o navegador se conecta ao servidor responsável e faz a requisição da página, depois de aceitar a conexão o servidor envia um texto ao seu navegador, que interpreta as tags HTML e transforma em um conteúdo legível. Para que isso tudo aconteça, navegador e servidor devem falar a mesma língua, no nosso caso, o protocolo HTTP.
O pacote java.net nos fornece todas ferramentas necessárias para realizarmos essa conexão com o servidor, e ao longo deste trabalho será possível entender de forma mais profunda como essa comunicação é estabelecida na prática, citaremos os conceitos de cada passo utilizado para que conseguíssemos chegar a conclusão deste projeto e como cada passo foi implementado utilizando a linguagem de programação Java.
Palavras-Chave: Codigo , Metodos , Servidor.
ABSTRACT
This academic work is to create a HTTP server so it is necessary to understand how this protocol works.
When you enter a web address, the browser connects to the responsible server and and makes the requisition of the page, after accepting the connection this server sends a text to your browser, that interprets the HTML tags and transforms into a human readable content. To make this all happen, browser and server must speak the same language, in this, the HTTP protocol.
The java.net package provides all the necessary tools to accomplish this connection to the server, and throughout this work will be possible to understand more deeply how this communication is established, explain the concepts of each step that we could get used to the completion of this project and how each step was implemented using the Java programming language.
Keywords: Code , Methods , Server.
LISTA DE FIGURAS
1 Tela Inicial 10
2 Requisitando Index 10
3 Requisitando Figuras 11
4 File Not Found 11
5 Bad Request 12
SUMÁRIO
RESUMO
ABSTRACT
1 Objetivo 7
2 Requisitos 7
2.1 Inicio 7
2.2 Loop 7
2.3 Bad Request 7
2.4 File Not Found 7
2.5 Console 8
2.6 Analisador de Protocolos HTTP 8
2.7 Head 8
2.8 Thread 8
2.9 Apresentação 8
2.10 Interface 8
3 INTERFACES 9
3.1 Tela Inicial 9
3.2 Requisitando Index 9
3.3 Requisitando Figuras 10
3.4 File Not Found 10
3.5 Bad Request 11
4 CODIGO FONTE 12
REFERÊNCIAS
1 OBJETIVO
Esse trabalho tem como objetivo construir, em Java, um servidor WEB multiThread, com analisador de protocolo HTTP, que processará somente a primeira linha de requisição, para os métodos GET e HEAD, de maneira intuitiva e de fácil utilização.
2 REQUISITOS
Detalhamento: Para desenvolver esse trabalho siga os seguintes passos:
2.1 INÍCIO
a. Pegar o código do servidor Web, criar um projeto na IDE Java.
b. Para testar a aplicação, criar uma página web simples chamada index.htm, coloca-la na mesma pasta onde está o projeto do servidor.
c. Posteriormente, após executar o servidor, abrir o browser e digitar:
127.0.0.1:6789/index.htm
(caso não usar a porta 6789, colocar a porta correta).
2.2 LOOP
Colocar um loop infinito no código para atender diversas requisições;
2.3 BAD REQUEST
O código inicial não gera a resposta BAD REQUEST para o browser.
Para testar, simular uma requisição com erro de sintaxe com o telnet,
por exemplo:
telnet 127.0.0. 1 6789
BAD index.html http/1.0
2.4 FILE NOT FOUND
Originalmente não há tratamento de file not found. Deverá ser implementado através de um TRY – CATCH.
Para testar, abrir o browser e digitar:
127.0.0.1:6789/inxxx.htm.
Mandar para o browser a resposta padrão HTTP para file not found.
2.5 CONSOLE
No servidor, imprimir no console todas as ações que acontecem no servidor,
Exemplo: start do servidor; atendimento de requisição HTTP; inicialização de uma Thread; etc...
2.6 ANALISADOR DE PROTOCOLO HTTP
O código inicial somente lê a primeira linha da requisição do browser. Você deve ler todas as linhas e imprimi-las no console.
2.7 HEAD
Implementar também o método HEAD;
...