Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação Servidor Web Web Server Um servidor web é um software usado para armazenar páginas e aplicações web Proporciona paginas para a Internet e intranet. Armazena diferentes tipos de paginas, scripts, programas e arquivos multimidia Os arquivos sao servidos usando o protocolo HTTP. Web Server Uma grande quantidade de tecnologias baseadas no lado do servidor podem ser utilizadas para aumentar a habilidade dos servidores em disponibilizar simples paginas HTML Exemplos: CGI SSI SSL ASP, PHP, JSP, etc Historico 1989 Tim Berners-Lee propoe ao CERN (seu empregador) um novo projeto para permitir a troca de informacoes usando um sistema hipertexto 1990 dois programas são disponibilizados Um cliente web (browser) Um servidor web (que seria mais tarde chamado de CERN Httpd rodando em NextStep 1991 – 1994 consolidacao e portabilidade de cliente e servidor para diferentes plataformas 1994 – Berners cria o World Wide Web Consortium para fins de padronizacao do HTTP e tecnologias envolvidas Overview de como um Web Server trabalha Overview de como um Web Server trabalha Maior expansão nos servidores foi a possibilidade de criar páginas dinâmicas baseadas na entrada de dados dos usuarios A forma mais antiga e ainda utilizada é atraves do uso de Common Gateway Interface (CGI) Ele basicamente define como um Web Server deve executar programas localmente e transmitir os dados para o cliente com o conteudo gerado de forma dinamica How Web servers Work - Overview Cont... Interação Web Server e Browser O browser atua como uma interface entre o usuario e o servidor web O browser executa os seguinte passos para o usuários: Contata o servidor web Envia informacoes requeridas Recebe as informacoes Interpreta e mostra as informacoes recebidas Interação Web Server e Browser O servirdor aceita conexões de rede efetuadas pelos clientes Recupera o conteudo do disco local Roda programas CGI quando necessario Transmite os dados para o cliente Deve ser o mais rapido possivel Suportar multithreads e multiprocessamento é uma grande diferença Caracteristicas Grande parte dos servidores web implementam as seguintes caracteristicas Autenticacao Suporte a conteudo estatico e dinamico HTTPS Compressao de conteudo Virtual Hosting Suporte a arquivos de grande tamanho (acima de 2Gb) Controle de banda Conversão de caminho Servidor mapeia uma URL para um caminho local http://www.exemplo.com.br/diretorio/arquivo O cliente efetua seguinte requisicao GET /diretorio/arquivo.html HTTP/1.1 Host: www.example.com Servidor procura o arquivo em /var/www/diretorio/arquivo.html Limite de carga e de processos Servidores possuem uma configuracao que define quantos clientes podem conectar de forma concorrente Tambem possuem configuracoes da quantidade de processos que podem ser disparados (spawn) para evitar sobrecarga do sistema