Ciencia e tecnlogoia
655 palavras
3 páginas
Universidade Federal de PelotasCentro de Desenvolvimento Tecnológico Curso Bacharelado em Ciência da Computação Disciplina Redes de Computadores I
Servidor HTTP/1.1
Eduardo Abreu Xavier
Pelotas, RS Outubro de 2011
INTRODUÇÃO
Este é um trabalho da disciplina de redes de computadores I onde se é implementado um servidor HTTP/1.1 multithreaded, este servidor trata várias conexões simultâneas. O servidor responde a dois métodos, O GET e HEAD, no HEAD é enviado ao cliente o cabeçalho que contém as informações do arquivo solicitado, e no GET o servidor envia ao cliente o arquivo que foi solicitado. Qualquer outro comando ou algo parecido que não sejam esses dois métodos o servidor não responderá e tratará como uma requisição mal feita e enviará uma mensagem de erro do tipo bad request ao cliente, caso o arquivo que o cliente solicitou não esteja no servidor será passada uma mensagem de erro do tipo not found.
METODOLOGIA
Foi utilizada a linguagem C para a implementação do servidor, como o servidor é multithread também foi necessário a utilização da biblioteca pthread.h. Para começar o servidor é necessário passar como argumentos, o diretório e o numero da porta da qual o servidor irá se comunicar. Exemplo passando os paramentros e a porta para começar a usar o servidor:
Imagem1: Passando os parâmetros e a porta Quando algum cliente for fazer alguma solicitação ao servidor será criado um novo fluxo de execução através de um thread para atender a solicitação. O servidor foi testado com uma ferramenta como cliente, browser (Firefox) e também foram feitos alguns testes com telnet. Os métodos implementados no servidor são HEAD e GET. HEAD retorna ao cliente a versão, o código de erro, o protocolo usado, a data e a hora do sistema, o nome do servidor, a ultima modificação do arquivo solicitado, o tipo do arquivo e o tamanho do arquivo. Uma das finalidades desse método é analisar se um arquivo solicitado foi modificado desde a última requisição,