Programação para Web Introdução Professor: Harlley Lima E-mail:harlley@decom.cefetmg.br Departamento de Computação Centro Federal de Educação Tecnológica de Minas Gerais Belo Horizonte, 17 de Fevereiro 2016
Programação para Web Introdução 2/28 Aula www.dcc.ufmg.br/ harlley/web/aula02
Programação para Web Introdução 3/28 Tópicos Histórico
Tópicos Histórico
Programação para Web Introdução 5/28 Histórico Internet: conglomerado de redes em escala mundial de computadores interligados. Arpanet (Advanced Research Projects Agency Network) primeira rede operacional de computadores à base de comutação de pacotes, e o precursor da Internet. interligar bases militares e centros de pesquisas americanos protocolo inicial de comunicação: Network Control Protocol.
Programação para Web Introdução 6/28 Histórico Principal protocolo: TCP/IP: O protocolo é capaz de identificar e encontrar a melhor rota possível entre dois sites (locais), além de ser capaz de procurar rotas alternativas para chegar ao destino, caso qualquer uma das rotas tivesse sido destruída. ARPANet divide-se em: MILNET (viés militar) e Internet (rede pública)
Programação para Web Introdução 7/28 Internet Serviços oferecidos aos usuários na Internet: acesso remoto a outras maquinas (Telnet e SSH) transferência de arquivos (FTP) Correio eletrônico (e-mail) boletins eletrônicos (news) World Wide Web...
Programação para Web Introdução 8/28 World Wide Web Conhecida também: Web e WWW. É um sistema de documentos em hipermídia que são interligados e executados na Internet. É um espaço de informação em que os documentos e outros recursos da web são identificados por URLs, interligados por links e podem ser acessados pela Internet. Para consultar a informação, utiliza-se um programa de computador chamado navegador para descarregar informações de servidores Web.
Tópicos Histórico
Programação para Web Introdução 10/28 cliente servidor O cliente é responsável pela renderização, que em alguns casos implica um considerável custo computacional. As tarefas do servidor normalmente requerem pouco poder computacional. Com esta divisão de tarefas, um mesmo servidor pode responder a muitos clientes.
Programação para Web Introdução 11/28 Navegadores (Cliente) Cliente web que: inicia a comunicação com o servidor Web; aguarda o documento enviado pelo servidor; formata documento para apresentação. Responsável por outras tarefas como: realizar cálculos, aguardar digitação, etc.
Programação para Web Introdução 12/28 Navegadores (Cliente) Figure: Fonte: http://gs.statcounter.com/
Programação para Web Introdução 13/28 Servidores Programas passivos que retornam os documentos solicitados pelos clientes. Em nossas aulas utilizaremos o. Existem outras opções: ISS (Microsoft), nginx e GWS.
Programação para Web Introdução 14/28 Funcionamento de servidores Ao ser iniciado, o processo do servidor informa ao SO que está apto a receber mensagens de um porta específica (por exemplo, é a porta 80) Ao chegarem mensagens para aquela porta, o SO as encaminha ao servidor. Para cada mensagem recebida, o servidor: analisa o comando enviado e executa os comandos, ou seja: acessa arquivos; dispara processos (como em PHP, Java Web, etc.); envia a resposta ao cliente.
Tópicos Histórico
Programação para Web Introdução 16/28 Hypertext Transfer Protocol: protocolo de comunicação. É a base para a comunicação de dados da World Wide Web. O é o protocolo para a troca ou transferência de hipertexto.
Programação para Web Introdução 17/28 Funcionamento Cada mensagem entre o cliente e o servidor consiste de pelo menos duas partes: header (informações sobre a mensagem) e o body (infos sobre os dados)
Programação para Web Introdução 18/28 Conexão Antes da versão 1.1, o servidor fechava a conexão ao enviar a resposta; Default da versão 1.1, é que o servidor fique aberto por um curto espaço de tempo, o que melhora o desempenho de múltiplas requisições do cliente.
Tópicos Histórico
Programação para Web Introdução 20/28 web Visão geral da arquitetura web:
Programação para Web Introdução 21/28 web Duas partes: Client side (front-end): web designer deve ter bons conhecimentos do client side. Server side (back-end): um programador web deve ter bons conhecimentos do server side. Os web designers não precisam ter conhecimento do server side mas tê-lo pode ser útil. Por outro lado, os programadores web precisam conhecer razoavelmente bem o client side.
Tópicos Histórico
Programação para Web Introdução 23/28 1. Desenvolver o conteúdo que deseja publicar. Foco do curso. Tecnologias: HTML, CSS, JavaScript, PHP, etc. 2. Hospedar-se em servidores conectados à internet 24 horas por dia. O desenvolvedor deve enviar o conteúdo desenvolvido no item 1. No nosso curso utilizaremos localmente o servidor. 3. Registrar o domínio É um nome amigável para que um serviço de internet possa ser acessado na internet.
Tópicos Histórico
Programação para Web Introdução 25/28 É o mais bem sucedido servidor web livre. É a principal tecnologia da Software Foundation.
Programação para Web Introdução 26/28 Instalação A forma mais fácil de instalar é utilizar pacotes que instalam e configuram todos os programas necessários para o desenvolvimento de páginas web de uma única vez. Um conjunto muito utilizado consiste do (servidor web), MySQL (banco de dados) e PHP (linguagem para as páginas web dinâmicas), conhecido como AMP (inicial de cada produto). Quando esses produtos são instalados no Linux, chamamos de LAMP. Quando são instalados no Windows, chamamos de WAMP.
Programação para Web Introdução 27/28 - Hello World...
Programação para Web Introdução 28/28 Dúvidas?