SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
Tecnologia em Redes, agosto de 2007
Servidor WEB



Prof. Dr. Ruy de Oliveira
CEFET-MT
Conteúdo
    TCP/IP e sockets
    O protocolo HTTP
    Troca de mensagens com o HTTP
    O servidor de páginas APACHE




CEFET-MT, 2007/2, Ruy de Oliveira   2
TCP/IP: Conceito de Portas

  Possibilita vários canais de comunicão entre duas
  máquinas (hosts) que têm end. IP únicos

  Pr1         Pr2        ...   Prn                     Pr1     Pr2        ...   Prn



         P1 P2 ... Pn                                        P1 P2 ... Pn
          Mux/Demux                  Px: porta x              Mux/Demux
                                     Prx: processo x
              Rede (IP)                                         Rede (IP)

           Enlace (MAC)                                       Enlace (MAC)

                Físico                                           Físico

              Host A                                            Host B
CEFET-MT, 2007/2, Ruy de Oliveira                                               3
TCP/IP: Conceito de Portas (cont.)

  Portas são usadas não apenas pelo TCP, mas
  também pelo UDP

  As portas são identificadas por número
    Portas na faixa 0-1023 são reservadas a
    serviços específicos. Tais portas são ditas
    “well-known ports”
    Portas acima de 1023 podem ser usadas para
    qualquer propósito




CEFET-MT, 2007/2, Ruy de Oliveira            4
TCP/IP: Conceito de Portas (cont.)

  Algumas das “well-known” portas são:
  Porta            Serviço
  21               FTP
  22               SSH
  23               Telnet
  25               SMTP
  53               DNS
  80               HTTP
  110              POP3
  143              IMAP
  161              SNMP
CEFET-MT, 2007/2, Ruy de Oliveira        5
    .
Portas e Sockets

  O termo “socket” é usado para designar um gerenciador
  de arquivo que é usado por processos a fim de solicitar
  serviços de rede do sistema operacional

  Quando um processo necessita estabelecer comunicação
  com outro processo, ele o faz por meio do socket

  Um endereço de socket completo:
     <prot,end-local,proc-local,end-remoto,proc-remoto>
   Ex.: <tcp,192.168.101.46,654,200.15.221.14,354>

  O algoritmo do socket é responsável por associar uma
  porta à conexão e estabecer a comunicação entre os dois
  processos
CEFET-MT, 2007/2, Ruy de Oliveira                         6
O PROTOCOLO HTTP

   O HTTP (Hypertext Transfer Protocol) é o
   protocolo usado para transferência de dados
   (recursos) na World Wide Web

   Os dados transportados pelo HTTP podem ser
   arquivos HTML, arquivos de imagem, resultado
   de solicitações, etc.

   TCP/IP sockets são usados pelo HTTP

   Como a maioria dos protocolos de rede, o HTTP
   usa o modelo Cliente-Servidor
CEFET-MT, 2007/2, Ruy de Oliveira              7
O PROTOCOLO HTTP

   O “Browser” é o cliente que envia solicitações
   ao “servidor HTTP”

   A porta padrão usada pelo servidor HTTP é a 80

   O servidor fica constantemente ouvindo
   (listening) esta porta a fim de atender as
   chamadas provenientes dos browsers




CEFET-MT, 2007/2, Ruy de Oliveira               8
HTTP transporta “Recursos”

   O HTTP não transporta apenas arquivos, mas
   sim “recursos”

   Um recurso representa uma porção de
   informações identificadas por uma URL (Uniform
   Resource Locator)

   Recursos mais comuns:
     Arquivos
     Resultado de um “script” (cgi, perl, ...)
     ...
CEFET-MT, 2007/2, Ruy de Oliveira                9
Vantagens de se conhecer o HTTP

   Desenvolvimento de:
     Servidores WEB
     Browser para a WEB
     Aplicativos para download automático de
     páginas
     Avaliadores de links
     ...




CEFET-MT, 2007/2, Ruy de Oliveira          10
Transações de mensagens no HTTP

  O cliente (browser) solicita um recurso do servidor que
  responde adequadamente e fecha o socket!


          Cliente                            Servidor
                               Solicitação
                                (request)


                                 Resposta
                                (response)




CEFET-MT, 2007/2, Ruy de Oliveira                       11
Formato das Mensagens do HTTP
  Mensagens de Solicitação e Resposta são similares e consistem de:
    Uma linha inicial
    Zero ou mais linhas cabeçalhos (headers)
    Uma linha em branco (Carrier-Return/Line-Feed)
    Uma mensagem de corpo opcional (ex.: um arquivo, ou dado
    solicitado ou resultado de solicitação)

  Ou seja, o formato de uma mensagem HTTP é:
   <linha inicial, distinta para solicitação e resposta>
   <HEADER1: value1>
   <HEADER2: value1>

    <o corpo de mensagem opcional vai aqui; pode ser composto de
      várias linhas e conter dados ou códigos de programa>


CEFET-MT, 2007/2, Ruy de Oliveira                               12
Linha Inicial de Solicitação

    Uma linha de solicitação é composta de três partes
    separadas por um espaço:
                                                       A versão do HTTP
         Nome do método usado
                                                       usado   é  sempre
         Caminho local do recurso solicitado           escrita na forma
         Versão do HTTP usado                          “HTTP/x.x”
         EX.:
         GET /texto_teste/index.html HTTP/1.0



    GET representa o método         O caminho local do
    HTTP mais comum e               recurso pedido é a parte
    significa   “dê-me     o        da URL quem vem
    recurso”. Outros métodos        depois do nome do host.
    são: POST e HEAD
CEFET-MT, 2007/2, Ruy de Oliveira                                  13
Linha Inicial de Resposta

  A linha de resposta inicial (status line) também contém
  três partes separadas por um espaço
       A versão do HTTP
       Um código de resposta (status code)
       Uma descrição do código de resposta (em Inglês)
  Típicas “status line” são:
  HTTP/1.0 200 OK
  HTTP/1.0 404 Not Found
  O primeiro dígito do código de resposta identifica a
  categoria da resposta:
       1xx indica mensagem de informação
       2xx indica algum tipo de sucesso
       3xx redireciona o cliente para outra URL
       4xx indica um erro do cliente
       5xx indica um erro do servidor
CEFET-MT, 2007/2, Ruy de Oliveira                        14
Linha Inicial de Resposta (cont.)

Os códigos de mais comuns são:
  200 OK
     Essa solicitação foi bem-sucedida, e o recurso pedido (ex.:
     arquivo ou resultado de script) está no corpo da mensagem
  404 Not Found
     O recurso solicitado não existe
  301 Moved Permanently
  302 Moved Temporarily
  303 See Other (somente no HTTP 1.1)
     O recurso foi transferido para outra URL (dado pela variável
     Location: no cabeçalho resposta), e deveria ser recuperada
     automaticamente pelo cliente. Isso é normalmente usado em
     scripts CGI para redirecionar o browser a um arquivo existente.
  500 Server Error
     Um erro inesperado no servidor. A causa mais comum aqui são
     problemas em scripts.

CEFET-MT, 2007/2, Ruy de Oliveira                                15
Linhas de Cabeçalho (Header Lines)

   Trazem informações sobre solicitações e
   respostas, ou sobre o objeto enviado no corpo da
   mensagem
   O uso de cabeçalhos facilita a depuração de
   problemas no modelo cliente-servidor
   São formatadas como: Nome: valor
   O HTTP1.0 define 16 tipos de cabeçalhos, e o
   HTTP1.1 define 46.
   Enquanto o HTTP1.0 não exige o uso de
   cabeçalhos, o seu sucessor demanda ao menos
   um (host)

CEFET-MT, 2007/2, Ruy de Oliveira               16
Linhas de Cabeçalho (cont.)

Cabeçalhos importantes
  From: indentifica o endereço de e-email de quem
  está fazendo o pedido (é configurável)

   User-Agent: idenfica o programa que está
   realizando a solicitação, no formato “Nome do
   programa/x.xxquot;, onde x.xx é a versão do
   programa.

   Exemplo: o Netscape 3.0 envia o seguinte
   cabeçalho quot;User-agent: Mozilla/3.0Goldquot;

CEFET-MT, 2007/2, Ruy de Oliveira              17
Linhas de Cabeçalho (cont.)

Cabeçalhos importantes no servidor

  Server: análogo ao cabeçalho Agent: ou seja ele
  identifica o software no servidor no formato
  “nome do programa/x.xx”
  Ex.:      Uma      resposta    do     Apache:
  “Server:Apache/1.22”

  Last-Modified: informa a data de modificação do
  recurso que está sendo retornado. É usado em
  caches e outras atividades para economia de
  banda passante.
CEFET-MT, 2007/2, Ruy de Oliveira              18
Corpo da Mensagem

   Uma mensagem HTTP pode conter dados
   enviados após as linhas de cabeçalhos

   Numa resposta, esse é o local onde o recurso
   solicitado é retornado ao cliente, ou talvez um
   texto descritivo de um erro

   Numa solicitação, essa é a parte da mensagem
   em que os dados envidados pelo usuário ou
   arquivos para upload são envidados ao servidor


CEFET-MT, 2007/2, Ruy de Oliveira               19
Corpo da Mensagem (cont.)

   Há      normalmente    linhas   de  cabeçalho
   descrevendo o conteúdo do corpo da mensagem
   (quando esta existir)
      Content-Type: esse cabeçalho informa o
      MIME-type do dado no corpo da mensagem,
      tal como text/html ou image/gif.
      Content-Length: informa o número de bytes
      no corpo da mensagem




CEFET-MT, 2007/2, Ruy de Oliveira             20
Exemplo de troca de Mensagens
   Para obter por exemplo o arquivo na URL abaixo
   http://www.getec.cefetmt.br/texto_teste/arquivo1.html
   Abra um socket estabelecendo uma conexão com o host
   www.getec.cefetmt.br, porta 80.
   Envie uma linha de comando como abaixo pelo socket:
    GET /texto_teste/arquivo1.html HTTP/1.0
                                                           Depois de enviar a
    From: oliveira@iam.unibe.ch
                                                           resposta, o servidor
    User-Agent: HTTPTool/1.0                               fecha o socket !!!
    [linha em branco vai aqui]
   O servidor deveria responder com algo do tipo:
    HTTP/1.0 200 OK
    Date: Sat, 26 Nov 2005 15:59:59 GMT
    Content-Type: text/html
    Content-Length: 1354
    <html> <body> <h1>Página simples!</h1> (mais conteúdo de
    arquivo) . . . </body> </html>
CEFET-MT, 2007/2, Ruy de Oliveira                                         21
Experimentos manuais com o HTTP

  Com o telnet, pode-se abrir um socket interativamente, e
  assim verificar a resposta do servidor

  Ex.: Abra o socket:
     telnet www.getec.cefetmt.br 80

  Em seguida execute o comando
    GET /texto_teste/arq1.html HTTP/1.0
    [“headers” aqui se houver]
    [linha em branco]

  O servidor então responderá com uma mensagem
  contendo: “status line”, “headers” e “message body”
CEFET-MT, 2007/2, Ruy de Oliveira                      22
O Servidor de HTTP Apache

   Apache é o servidor de WEB mais usado
   mundialmente
   Tem versões para Unix e Windows
   É robusto em termos de segurança
   Suporta “Virtual hosting”
   ...




CEFET-MT, 2007/2, Ruy de Oliveira     23
Instalação/Inicialização do Apache

   Instalação:
      apt-get install apache2 ; instala do CD-ROM ou Internet

   Inicialização e parada do serviço (SUSE):
       /etc/init.d/apache2 start
       /etc/init.d/apache2 stop

   Para inicialização automática no “boot”
     /sbin/chkconfig apache2 on

   Obs.: essas tarefas demandam privilégios de root


CEFET-MT, 2007/2, Ruy de Oliveira                        24
Configuração do Apache

   O principal arquivo de configuração (com os sub arquivos)
      /etc/apache2/httpd.conf

   Fatores configuráveis via httpd.conf
      Diretório padrão a ser disponibilizado para a WEB
      Diretório padrão para cada usuário publicar na WEB
      Outros diretórios a serem disponibilizados p/ a WEB
      Opções de segurança
      Propriedade de cada “virtual hosting”
      Temporizações envolvidas na troca de mensagens
      Quantidade máxima de clientes
      E muito mais...

CEFET-MT, 2007/2, Ruy de Oliveira                           25
Configuração do Apache (cont.)
  Descrição para a distribuição: redhat
  ServerRoot
     Especifica o diretório em que o servidor está instalado
  Timeout
     Tempo, em segundos, que o servidor espera por transmissões e
     recepções de mensagens (padrão: 300 segs)
  KeepAlive
     Qdo ativada permite ao servidor aceitar mais de uma solicitação por
     conexão (padrão: off)
  KeepAliveTimeout
     Se KeepAlive está ativado, este parâmetro determina o tempo
     (segs) que o servidor espera para fechar a conexão após responder
     a uma solic.
  MaxKeepAliveRequests
     Define o número máx. de solicitações permitida a uma conexão
     persistente

CEFET-MT, 2007/2, Ruy de Oliveira                                  26
Configuração do Apache (cont.)

   MaxClients
        Limite do número de clientes simultâneos conectados ao
        servidor (padrão: 150)
   Listen
        Especifica a porta pela qual o servidor aceitará entrada de
        solicitações (padrão: 80). Portas abaixo de 1023 indicam
        que somente o root pode iniciar o httpd
   User
        usuário associado ao processo apache2 (httpd)
   Group
        grupo associado ao processo apache2




CEFET-MT, 2007/2, Ruy de Oliveira                              27
Configuração do Apache (cont.)
  ServerAdmin
     E-mail do administrador do servidor
    (padrão: root@localhost)
  DocumentRoot
     O diretório em que a maioria dos arquivos html residem
     (padrão: /srv/www/htdocs)
  UserDir
     O subdiretório dentro do diretório de cada usuário
     (/home/nome_usuário/) onde os usuários podem publicar na WEB
     (padrão: public_html).
     Ex.: /home/aluno/public_html/arq1.html
     É acessado como:
     http://www.getec.cefetmt.br/~aluno/arq1.html
     As permissões dos diretórios dos usuários deveriam ser: 711 ou
     755


CEFET-MT, 2007/2, Ruy de Oliveira                              28
Configuração do Apache (cont.)

   Redirect
     Redireciona uma página antiga deste servidor a uma
     nova URL
     Ex.:
    Redirect /var/www/html/index.html
     http://informática.cefetmt.br/teste/index2.html




CEFET-MT, 2007/2, Ruy de Oliveira                  29
Configuração do Apache (cont.)

  CONTAINERS: Usados para delimitar configurações a
  partes específicas do sistema, tais como diretórios e
  arquivos

  Diretórios
  <Directory /caminho/nome_diretorio>
     configurações
  </Directory>

  Arquivos
  <Files /caminho/nome_arq>
     configurações
  </Files>
CEFET-MT, 2007/2, Ruy de Oliveira                  30
Configuração do Apache (cont.)

Exemplos de Containers                      Admite execução de
                                           scripts (.cgi) nesse dir.
  Diretório
  <Directory /var/www/meu_diretorio_cgi>
       Options +ExecCGI
  </Directory>

  Arquivo
  <Files /var/www/meu_dir/arq1>
         order Deny,Allow
         Deny from all                      Permite acesso a arq1
         Allow from apache.org              apenas para usuários
  </Files>                                     de apache.org


CEFET-MT, 2007/2, Ruy de Oliveira                                31
Configuração do Apache (cont.)

   AllowOverride
      Se ativada (ex.: AuthConfig) permite que
      usuários do sistema definam diretórios
      protegidos por senha
      (padrão: None)

   AccessFileName
     Nome do arquivo em que os usuários devem
     definir suas configurações tais como as
     associadas a nome/senha para acesso a um
     determinado diretório
     (padrão: .htaccess)
CEFET-MT, 2007/2, Ruy de Oliveira          32
Configuração do Apache (cont.)

  O diretório /home/nome_usuario/public_html/
    Quando configurado, o Apache procura por solicitações
    (index.html) para cada usuário nesse diretório
    Se não há o arquivo index.html, então o conteúdo do
    diretório é listado (isso pode ser desabilitado)
    Portanto, as páginas de cada usário devem estar aqui

  O arquivo .htaccess
    É aqui que o usuário deve configurar suas opções, tais
    como proteção por senha de certos diretórios
    Todos os diretórios contendo tal arquivo serão
    avaliados, e se protegidos, os seus subdiretórios
    também estarão

CEFET-MT, 2007/2, Ruy de Oliveira                     33
Aula Prática !!!

   Na próxima aula será pedido o seguinte:
       Cada aluno deverá escrever uma página html que pode ser
       extemamente simples tal como:
      <html><body><h1 align=“center”>
      <hr> Olá, <br> Bem-vindo à minha página <hr>
      </h1></body></html>
       Grave-a como index.html em seu diretório public_html
       Procure na Internet como se deve configurar o arquivo
       .htaccess para proteger os seus diretórios com senha
       Defina com o professor os usuários e grupos que devem ter
       acesso ao seu diretório




CEFET-MT, 2007/2, Ruy de Oliveira                           34
Leitura Complementar

    http://httpd.apache.org/docs/2.0/
    http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/
    http://www.conectiva.com.br/listas/linux-br/
    http://www.getec.cefetmt.br/~ruy/




CEFET-MT, 2007/2, Ruy de Oliveira                     35

Más contenido relacionado

Was ist angesagt?

Instalação de Servidor FTP - Microsoft Windows Server 2008
Instalação de Servidor FTP - Microsoft Windows Server 2008Instalação de Servidor FTP - Microsoft Windows Server 2008
Instalação de Servidor FTP - Microsoft Windows Server 2008Joeldson Costa Damasceno
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introduçãoAgrupamento de Escolas da Batalha
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - IntroduçãoMarco Pinheiro
 
Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1SoftD Abreu
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicaçãoHelen Picoli
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web ServicesFabio Leal
 
Explorando mule esb sftp adapter
Explorando mule esb sftp adapterExplorando mule esb sftp adapter
Explorando mule esb sftp adapterJeison Barros
 
NGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webNGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webernaniaz
 
Descobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceDescobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceGustavo Ciello
 

Was ist angesagt? (20)

06 - Servidor Apache
06 - Servidor Apache06 - Servidor Apache
06 - Servidor Apache
 
Arquitetura web
Arquitetura web  Arquitetura web
Arquitetura web
 
Instalação de Servidor FTP - Microsoft Windows Server 2008
Instalação de Servidor FTP - Microsoft Windows Server 2008Instalação de Servidor FTP - Microsoft Windows Server 2008
Instalação de Servidor FTP - Microsoft Windows Server 2008
 
Linux - Servidor Web Apache
Linux - Servidor Web ApacheLinux - Servidor Web Apache
Linux - Servidor Web Apache
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
 
Servidor proxy
Servidor proxy Servidor proxy
Servidor proxy
 
Slides nginx
Slides nginxSlides nginx
Slides nginx
 
Web service
Web serviceWeb service
Web service
 
Aplicações web parte 1
Aplicações web parte 1Aplicações web parte 1
Aplicações web parte 1
 
Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicação
 
Trabalho sobre Proxy
Trabalho sobre ProxyTrabalho sobre Proxy
Trabalho sobre Proxy
 
Introdução a Web Services
Introdução a Web ServicesIntrodução a Web Services
Introdução a Web Services
 
Servidores de Aplicações
Servidores de AplicaçõesServidores de Aplicações
Servidores de Aplicações
 
Explorando mule esb sftp adapter
Explorando mule esb sftp adapterExplorando mule esb sftp adapter
Explorando mule esb sftp adapter
 
Funções do
Funções doFunções do
Funções do
 
NGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação webNGiNX, o motor da sua aplicação web
NGiNX, o motor da sua aplicação web
 
Descobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performanceDescobrindo o Nginx - Um servidor web de alta performance
Descobrindo o Nginx - Um servidor web de alta performance
 
(14) ftp
(14) ftp(14) ftp
(14) ftp
 

Andere mochten auch

PotiLivre, uma comunidade de software livre voltada para você!
PotiLivre, uma comunidade de software livre voltada para você!PotiLivre, uma comunidade de software livre voltada para você!
PotiLivre, uma comunidade de software livre voltada para você!Mayron Cachina
 
Instalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu serverInstalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu serverAparicio Junior
 
Servidores
ServidoresServidores
Servidoresinfrit30
 
Servidor WEB en Windows Server 2008
Servidor WEB en Windows Server 2008Servidor WEB en Windows Server 2008
Servidor WEB en Windows Server 2008camilaml
 

Andere mochten auch (9)

Servidor web
Servidor webServidor web
Servidor web
 
Servidor web
Servidor webServidor web
Servidor web
 
PotiLivre, uma comunidade de software livre voltada para você!
PotiLivre, uma comunidade de software livre voltada para você!PotiLivre, uma comunidade de software livre voltada para você!
PotiLivre, uma comunidade de software livre voltada para você!
 
Instalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu serverInstalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu server
 
Servidores
ServidoresServidores
Servidores
 
Servidor WEB en Windows Server 2008
Servidor WEB en Windows Server 2008Servidor WEB en Windows Server 2008
Servidor WEB en Windows Server 2008
 
Apresentacao intranet
Apresentacao intranetApresentacao intranet
Apresentacao intranet
 
Ambiente web
Ambiente webAmbiente web
Ambiente web
 
Aula - Intranet
Aula - IntranetAula - Intranet
Aula - Intranet
 

Ähnlich wie Tecnologia em Redes - Servidor WEB

Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Http (hyper text transfer protocol)
Http (hyper text transfer protocol)Http (hyper text transfer protocol)
Http (hyper text transfer protocol)Liliana Costa
 
Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)elliando dias
 
Protocolos de aplicação
Protocolos de aplicaçãoProtocolos de aplicação
Protocolos de aplicaçãoJoel Saramago
 
1 ficheiro
1 ficheiro1 ficheiro
1 ficheirosharik27
 
Redes de Computadores 2 - Conceitos Gerais
Redes de Computadores 2 - Conceitos GeraisRedes de Computadores 2 - Conceitos Gerais
Redes de Computadores 2 - Conceitos GeraisJosé Ronaldo Trajano
 
Redes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosRedes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosJosé Ronaldo Trajano
 
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishEscalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishLucas Brasilino
 
pesquisas na internet
pesquisas na internetpesquisas na internet
pesquisas na interneta20061577
 
Aula03 - protocolo http
Aula03 -  protocolo httpAula03 -  protocolo http
Aula03 - protocolo httpCarlos Veiga
 
2016-redes-E.pptx
2016-redes-E.pptx2016-redes-E.pptx
2016-redes-E.pptxssssssss23
 
Aula05 camada de aplicação
Aula05 camada de aplicaçãoAula05 camada de aplicação
Aula05 camada de aplicaçãoTiago Tda
 

Ähnlich wie Tecnologia em Redes - Servidor WEB (20)

Dawi o protocolo-http
Dawi o protocolo-httpDawi o protocolo-http
Dawi o protocolo-http
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Http (hyper text transfer protocol)
Http (hyper text transfer protocol)Http (hyper text transfer protocol)
Http (hyper text transfer protocol)
 
HTTP - Visão geral
HTTP - Visão geralHTTP - Visão geral
HTTP - Visão geral
 
Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)
 
Apresentação de sd2
Apresentação de sd2Apresentação de sd2
Apresentação de sd2
 
http
httphttp
http
 
Protocolos de aplicação
Protocolos de aplicaçãoProtocolos de aplicação
Protocolos de aplicação
 
1 ficheiro
1 ficheiro1 ficheiro
1 ficheiro
 
Protocolo Http
Protocolo HttpProtocolo Http
Protocolo Http
 
Redes de Computadores 2 - Conceitos Gerais
Redes de Computadores 2 - Conceitos GeraisRedes de Computadores 2 - Conceitos Gerais
Redes de Computadores 2 - Conceitos Gerais
 
Redes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosRedes de computadores 2 - Protocolos
Redes de computadores 2 - Protocolos
 
Camada de aplicação parte1
Camada de aplicação parte1Camada de aplicação parte1
Camada de aplicação parte1
 
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishEscalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
 
Ferramentas Web 2.0
Ferramentas Web 2.0Ferramentas Web 2.0
Ferramentas Web 2.0
 
pesquisas na internet
pesquisas na internetpesquisas na internet
pesquisas na internet
 
Aula03 - protocolo http
Aula03 -  protocolo httpAula03 -  protocolo http
Aula03 - protocolo http
 
2016-redes-E.pptx
2016-redes-E.pptx2016-redes-E.pptx
2016-redes-E.pptx
 
Aula05 camada de aplicação
Aula05 camada de aplicaçãoAula05 camada de aplicação
Aula05 camada de aplicação
 

Mehr von elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Mehr von elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Tecnologia em Redes - Servidor WEB

  • 1. Tecnologia em Redes, agosto de 2007 Servidor WEB Prof. Dr. Ruy de Oliveira CEFET-MT
  • 2. Conteúdo TCP/IP e sockets O protocolo HTTP Troca de mensagens com o HTTP O servidor de páginas APACHE CEFET-MT, 2007/2, Ruy de Oliveira 2
  • 3. TCP/IP: Conceito de Portas Possibilita vários canais de comunicão entre duas máquinas (hosts) que têm end. IP únicos Pr1 Pr2 ... Prn Pr1 Pr2 ... Prn P1 P2 ... Pn P1 P2 ... Pn Mux/Demux Px: porta x Mux/Demux Prx: processo x Rede (IP) Rede (IP) Enlace (MAC) Enlace (MAC) Físico Físico Host A Host B CEFET-MT, 2007/2, Ruy de Oliveira 3
  • 4. TCP/IP: Conceito de Portas (cont.) Portas são usadas não apenas pelo TCP, mas também pelo UDP As portas são identificadas por número Portas na faixa 0-1023 são reservadas a serviços específicos. Tais portas são ditas “well-known ports” Portas acima de 1023 podem ser usadas para qualquer propósito CEFET-MT, 2007/2, Ruy de Oliveira 4
  • 5. TCP/IP: Conceito de Portas (cont.) Algumas das “well-known” portas são: Porta Serviço 21 FTP 22 SSH 23 Telnet 25 SMTP 53 DNS 80 HTTP 110 POP3 143 IMAP 161 SNMP CEFET-MT, 2007/2, Ruy de Oliveira 5 .
  • 6. Portas e Sockets O termo “socket” é usado para designar um gerenciador de arquivo que é usado por processos a fim de solicitar serviços de rede do sistema operacional Quando um processo necessita estabelecer comunicação com outro processo, ele o faz por meio do socket Um endereço de socket completo: <prot,end-local,proc-local,end-remoto,proc-remoto> Ex.: <tcp,192.168.101.46,654,200.15.221.14,354> O algoritmo do socket é responsável por associar uma porta à conexão e estabecer a comunicação entre os dois processos CEFET-MT, 2007/2, Ruy de Oliveira 6
  • 7. O PROTOCOLO HTTP O HTTP (Hypertext Transfer Protocol) é o protocolo usado para transferência de dados (recursos) na World Wide Web Os dados transportados pelo HTTP podem ser arquivos HTML, arquivos de imagem, resultado de solicitações, etc. TCP/IP sockets são usados pelo HTTP Como a maioria dos protocolos de rede, o HTTP usa o modelo Cliente-Servidor CEFET-MT, 2007/2, Ruy de Oliveira 7
  • 8. O PROTOCOLO HTTP O “Browser” é o cliente que envia solicitações ao “servidor HTTP” A porta padrão usada pelo servidor HTTP é a 80 O servidor fica constantemente ouvindo (listening) esta porta a fim de atender as chamadas provenientes dos browsers CEFET-MT, 2007/2, Ruy de Oliveira 8
  • 9. HTTP transporta “Recursos” O HTTP não transporta apenas arquivos, mas sim “recursos” Um recurso representa uma porção de informações identificadas por uma URL (Uniform Resource Locator) Recursos mais comuns: Arquivos Resultado de um “script” (cgi, perl, ...) ... CEFET-MT, 2007/2, Ruy de Oliveira 9
  • 10. Vantagens de se conhecer o HTTP Desenvolvimento de: Servidores WEB Browser para a WEB Aplicativos para download automático de páginas Avaliadores de links ... CEFET-MT, 2007/2, Ruy de Oliveira 10
  • 11. Transações de mensagens no HTTP O cliente (browser) solicita um recurso do servidor que responde adequadamente e fecha o socket! Cliente Servidor Solicitação (request) Resposta (response) CEFET-MT, 2007/2, Ruy de Oliveira 11
  • 12. Formato das Mensagens do HTTP Mensagens de Solicitação e Resposta são similares e consistem de: Uma linha inicial Zero ou mais linhas cabeçalhos (headers) Uma linha em branco (Carrier-Return/Line-Feed) Uma mensagem de corpo opcional (ex.: um arquivo, ou dado solicitado ou resultado de solicitação) Ou seja, o formato de uma mensagem HTTP é: <linha inicial, distinta para solicitação e resposta> <HEADER1: value1> <HEADER2: value1> <o corpo de mensagem opcional vai aqui; pode ser composto de várias linhas e conter dados ou códigos de programa> CEFET-MT, 2007/2, Ruy de Oliveira 12
  • 13. Linha Inicial de Solicitação Uma linha de solicitação é composta de três partes separadas por um espaço: A versão do HTTP Nome do método usado usado é sempre Caminho local do recurso solicitado escrita na forma Versão do HTTP usado “HTTP/x.x” EX.: GET /texto_teste/index.html HTTP/1.0 GET representa o método O caminho local do HTTP mais comum e recurso pedido é a parte significa “dê-me o da URL quem vem recurso”. Outros métodos depois do nome do host. são: POST e HEAD CEFET-MT, 2007/2, Ruy de Oliveira 13
  • 14. Linha Inicial de Resposta A linha de resposta inicial (status line) também contém três partes separadas por um espaço A versão do HTTP Um código de resposta (status code) Uma descrição do código de resposta (em Inglês) Típicas “status line” são: HTTP/1.0 200 OK HTTP/1.0 404 Not Found O primeiro dígito do código de resposta identifica a categoria da resposta: 1xx indica mensagem de informação 2xx indica algum tipo de sucesso 3xx redireciona o cliente para outra URL 4xx indica um erro do cliente 5xx indica um erro do servidor CEFET-MT, 2007/2, Ruy de Oliveira 14
  • 15. Linha Inicial de Resposta (cont.) Os códigos de mais comuns são: 200 OK Essa solicitação foi bem-sucedida, e o recurso pedido (ex.: arquivo ou resultado de script) está no corpo da mensagem 404 Not Found O recurso solicitado não existe 301 Moved Permanently 302 Moved Temporarily 303 See Other (somente no HTTP 1.1) O recurso foi transferido para outra URL (dado pela variável Location: no cabeçalho resposta), e deveria ser recuperada automaticamente pelo cliente. Isso é normalmente usado em scripts CGI para redirecionar o browser a um arquivo existente. 500 Server Error Um erro inesperado no servidor. A causa mais comum aqui são problemas em scripts. CEFET-MT, 2007/2, Ruy de Oliveira 15
  • 16. Linhas de Cabeçalho (Header Lines) Trazem informações sobre solicitações e respostas, ou sobre o objeto enviado no corpo da mensagem O uso de cabeçalhos facilita a depuração de problemas no modelo cliente-servidor São formatadas como: Nome: valor O HTTP1.0 define 16 tipos de cabeçalhos, e o HTTP1.1 define 46. Enquanto o HTTP1.0 não exige o uso de cabeçalhos, o seu sucessor demanda ao menos um (host) CEFET-MT, 2007/2, Ruy de Oliveira 16
  • 17. Linhas de Cabeçalho (cont.) Cabeçalhos importantes From: indentifica o endereço de e-email de quem está fazendo o pedido (é configurável) User-Agent: idenfica o programa que está realizando a solicitação, no formato “Nome do programa/x.xxquot;, onde x.xx é a versão do programa. Exemplo: o Netscape 3.0 envia o seguinte cabeçalho quot;User-agent: Mozilla/3.0Goldquot; CEFET-MT, 2007/2, Ruy de Oliveira 17
  • 18. Linhas de Cabeçalho (cont.) Cabeçalhos importantes no servidor Server: análogo ao cabeçalho Agent: ou seja ele identifica o software no servidor no formato “nome do programa/x.xx” Ex.: Uma resposta do Apache: “Server:Apache/1.22” Last-Modified: informa a data de modificação do recurso que está sendo retornado. É usado em caches e outras atividades para economia de banda passante. CEFET-MT, 2007/2, Ruy de Oliveira 18
  • 19. Corpo da Mensagem Uma mensagem HTTP pode conter dados enviados após as linhas de cabeçalhos Numa resposta, esse é o local onde o recurso solicitado é retornado ao cliente, ou talvez um texto descritivo de um erro Numa solicitação, essa é a parte da mensagem em que os dados envidados pelo usuário ou arquivos para upload são envidados ao servidor CEFET-MT, 2007/2, Ruy de Oliveira 19
  • 20. Corpo da Mensagem (cont.) Há normalmente linhas de cabeçalho descrevendo o conteúdo do corpo da mensagem (quando esta existir) Content-Type: esse cabeçalho informa o MIME-type do dado no corpo da mensagem, tal como text/html ou image/gif. Content-Length: informa o número de bytes no corpo da mensagem CEFET-MT, 2007/2, Ruy de Oliveira 20
  • 21. Exemplo de troca de Mensagens Para obter por exemplo o arquivo na URL abaixo http://www.getec.cefetmt.br/texto_teste/arquivo1.html Abra um socket estabelecendo uma conexão com o host www.getec.cefetmt.br, porta 80. Envie uma linha de comando como abaixo pelo socket: GET /texto_teste/arquivo1.html HTTP/1.0 Depois de enviar a From: oliveira@iam.unibe.ch resposta, o servidor User-Agent: HTTPTool/1.0 fecha o socket !!! [linha em branco vai aqui] O servidor deveria responder com algo do tipo: HTTP/1.0 200 OK Date: Sat, 26 Nov 2005 15:59:59 GMT Content-Type: text/html Content-Length: 1354 <html> <body> <h1>Página simples!</h1> (mais conteúdo de arquivo) . . . </body> </html> CEFET-MT, 2007/2, Ruy de Oliveira 21
  • 22. Experimentos manuais com o HTTP Com o telnet, pode-se abrir um socket interativamente, e assim verificar a resposta do servidor Ex.: Abra o socket: telnet www.getec.cefetmt.br 80 Em seguida execute o comando GET /texto_teste/arq1.html HTTP/1.0 [“headers” aqui se houver] [linha em branco] O servidor então responderá com uma mensagem contendo: “status line”, “headers” e “message body” CEFET-MT, 2007/2, Ruy de Oliveira 22
  • 23. O Servidor de HTTP Apache Apache é o servidor de WEB mais usado mundialmente Tem versões para Unix e Windows É robusto em termos de segurança Suporta “Virtual hosting” ... CEFET-MT, 2007/2, Ruy de Oliveira 23
  • 24. Instalação/Inicialização do Apache Instalação: apt-get install apache2 ; instala do CD-ROM ou Internet Inicialização e parada do serviço (SUSE): /etc/init.d/apache2 start /etc/init.d/apache2 stop Para inicialização automática no “boot” /sbin/chkconfig apache2 on Obs.: essas tarefas demandam privilégios de root CEFET-MT, 2007/2, Ruy de Oliveira 24
  • 25. Configuração do Apache O principal arquivo de configuração (com os sub arquivos) /etc/apache2/httpd.conf Fatores configuráveis via httpd.conf Diretório padrão a ser disponibilizado para a WEB Diretório padrão para cada usuário publicar na WEB Outros diretórios a serem disponibilizados p/ a WEB Opções de segurança Propriedade de cada “virtual hosting” Temporizações envolvidas na troca de mensagens Quantidade máxima de clientes E muito mais... CEFET-MT, 2007/2, Ruy de Oliveira 25
  • 26. Configuração do Apache (cont.) Descrição para a distribuição: redhat ServerRoot Especifica o diretório em que o servidor está instalado Timeout Tempo, em segundos, que o servidor espera por transmissões e recepções de mensagens (padrão: 300 segs) KeepAlive Qdo ativada permite ao servidor aceitar mais de uma solicitação por conexão (padrão: off) KeepAliveTimeout Se KeepAlive está ativado, este parâmetro determina o tempo (segs) que o servidor espera para fechar a conexão após responder a uma solic. MaxKeepAliveRequests Define o número máx. de solicitações permitida a uma conexão persistente CEFET-MT, 2007/2, Ruy de Oliveira 26
  • 27. Configuração do Apache (cont.) MaxClients Limite do número de clientes simultâneos conectados ao servidor (padrão: 150) Listen Especifica a porta pela qual o servidor aceitará entrada de solicitações (padrão: 80). Portas abaixo de 1023 indicam que somente o root pode iniciar o httpd User usuário associado ao processo apache2 (httpd) Group grupo associado ao processo apache2 CEFET-MT, 2007/2, Ruy de Oliveira 27
  • 28. Configuração do Apache (cont.) ServerAdmin E-mail do administrador do servidor (padrão: root@localhost) DocumentRoot O diretório em que a maioria dos arquivos html residem (padrão: /srv/www/htdocs) UserDir O subdiretório dentro do diretório de cada usuário (/home/nome_usuário/) onde os usuários podem publicar na WEB (padrão: public_html). Ex.: /home/aluno/public_html/arq1.html É acessado como: http://www.getec.cefetmt.br/~aluno/arq1.html As permissões dos diretórios dos usuários deveriam ser: 711 ou 755 CEFET-MT, 2007/2, Ruy de Oliveira 28
  • 29. Configuração do Apache (cont.) Redirect Redireciona uma página antiga deste servidor a uma nova URL Ex.: Redirect /var/www/html/index.html http://informática.cefetmt.br/teste/index2.html CEFET-MT, 2007/2, Ruy de Oliveira 29
  • 30. Configuração do Apache (cont.) CONTAINERS: Usados para delimitar configurações a partes específicas do sistema, tais como diretórios e arquivos Diretórios <Directory /caminho/nome_diretorio> configurações </Directory> Arquivos <Files /caminho/nome_arq> configurações </Files> CEFET-MT, 2007/2, Ruy de Oliveira 30
  • 31. Configuração do Apache (cont.) Exemplos de Containers Admite execução de scripts (.cgi) nesse dir. Diretório <Directory /var/www/meu_diretorio_cgi> Options +ExecCGI </Directory> Arquivo <Files /var/www/meu_dir/arq1> order Deny,Allow Deny from all Permite acesso a arq1 Allow from apache.org apenas para usuários </Files> de apache.org CEFET-MT, 2007/2, Ruy de Oliveira 31
  • 32. Configuração do Apache (cont.) AllowOverride Se ativada (ex.: AuthConfig) permite que usuários do sistema definam diretórios protegidos por senha (padrão: None) AccessFileName Nome do arquivo em que os usuários devem definir suas configurações tais como as associadas a nome/senha para acesso a um determinado diretório (padrão: .htaccess) CEFET-MT, 2007/2, Ruy de Oliveira 32
  • 33. Configuração do Apache (cont.) O diretório /home/nome_usuario/public_html/ Quando configurado, o Apache procura por solicitações (index.html) para cada usuário nesse diretório Se não há o arquivo index.html, então o conteúdo do diretório é listado (isso pode ser desabilitado) Portanto, as páginas de cada usário devem estar aqui O arquivo .htaccess É aqui que o usuário deve configurar suas opções, tais como proteção por senha de certos diretórios Todos os diretórios contendo tal arquivo serão avaliados, e se protegidos, os seus subdiretórios também estarão CEFET-MT, 2007/2, Ruy de Oliveira 33
  • 34. Aula Prática !!! Na próxima aula será pedido o seguinte: Cada aluno deverá escrever uma página html que pode ser extemamente simples tal como: <html><body><h1 align=“center”> <hr> Olá, <br> Bem-vindo à minha página <hr> </h1></body></html> Grave-a como index.html em seu diretório public_html Procure na Internet como se deve configurar o arquivo .htaccess para proteger os seus diretórios com senha Defina com o professor os usuários e grupos que devem ter acesso ao seu diretório CEFET-MT, 2007/2, Ruy de Oliveira 34
  • 35. Leitura Complementar http://httpd.apache.org/docs/2.0/ http://web.mit.edu/rhel-doc/3/rhel-sag-pt_br-3/ http://www.conectiva.com.br/listas/linux-br/ http://www.getec.cefetmt.br/~ruy/ CEFET-MT, 2007/2, Ruy de Oliveira 35