Professional Documents
Culture Documents
SISTEMAS DISTRIBUIDOS Livro
SISTEMAS DISTRIBUIDOS Livro
Welcome to Earth! Visitors may also be interested in taking « look at the Moon.
Esse texto em HTML é armazenado em um arquivo localizado em um lugar onde um servidor web pode Ié-lo ~ digamos que seja 0 arquivo nomeado como earth.himl gravado no disco loctl do proprio servidor web. Um navegador recupera o contetido desse arquivo a partir de um servidor web ~ neste caso especifico, um servidor em um computador chamado www.cdk4.net. O navegador 1é © contetido retornado pelo servidor e 0 apresenta como um texto formiatado com as imagens que o com- 6e, dispostos em uma pagina web na forma em que estamos familiarizados a ver. Apenas 0 navegador =e no o servidor — interpreta o texto em HTML. Mas o servidor informa ao navegador sobre o tipo de contetido que estd retornando, para distingui-lo de, digamos, um documento em PostScript. O servidor ode deduziro tipo de contetda a partir da extensdo de nome de arquivo -html, | Note que as diretivas HTML, conhecidas como tags, sio incluidas entre sinais de menor ¢ maior, como em
. A linha 1 do exemplo identifica um arquivo contendo uma imagem de apresentagiio. Seu URL € huip://vwm.edkd.netivebExamnple/Images/earth,pg. As linhas 2 e 5 possuem as diretivas para iniciar ¢ terminar um pardgeafo, respectivamente. As linhas 3 ¢ 4 contém o texto a ser exibido na pagina web, no formato padrio de pardgrafo. . A linha 4 especifica um fink na pagina web. Ble contém a palavra Moon, circundada por duas diretivas HTML relacionadas e . O texto entre essas diretivas € 0 que aparece no WAuNS24 Sistemas Distemuiogs, CoNceTOs € Prosero dink, quando ele é apresentado na pagina web. Por padrio, a maioria dos navegadores & configurada de modo a mostrar o texto de finks sublinhado; portanto, o que o usuério vers nesse pardgrafo ser: ‘Welcome to Barth! Visitors may also be interested in taking a look at the Moon, © navegador grava a associagfio entre o texto exibido do fink € 0 URL contido na diretiva —neste-caso: hup:thvwnedid.nethvebExainplefnoon.kamt Quando 0 usuirio clica no texto, © navegador recupera o recurso identificado pelo URL corres- pondente e o apresenta para o usuério, No exemplo, o recurso est em um arquivo HTML que especi- fica uma pagina web sobre a lua. URLs 0 objetivo de um URL (Uniform Resource Locator) (www.w3.org TIT] ¢ identifiear um re- curso, Na verdade, o termo usado em documentos de arquitetura da web € URL (Uniform Resource Mentifier), mas neste livro o terme mais conhecido, URL, sera usado quando nao houver diivida possivel. Os navegadores examinam os URLs para acessat os recursos correspondentes. Os URLs si0 fornecidos por um usudrio no momento em que ele 0 digita no navegador web, porém, as situacGes ‘mais comuns so aquelas em que o navegador pesquisa o URL correspondente quando o usuario clica em um ink, quando seleciona um URL de sua lista de bookmarks, ou quando 0 navegador busca um recurso incorporado em uma piigina web, como uma imagem, ‘Todo URL, em sua forma completa e absoluta, tem dois componentes de nivel superior: esquena : identificador-especifico-do-esquema _ O primeiro componente, o “esquema”, declara qual € 0 tipo dese URL. Os URLs siio obrigados a identificar uma variedade de recursos. Por exemplo, mailta:ine@anlSP.nel identifica 0 endereco de e-mail de um usustio; fip:/fip.downloadht.com/sofiware/aProg.exe identifica um arquivo que deve ser recuperado com 0 protocolo FTP (File Transfer Protocol), em vez do protocolo mais comumente usado, HTTTP. Outros exemplos ce esquemas so “nntp” (usado para especificar um grupo de notcias da Usenet) e “mid” (usado para identificar uma mensagem de e-mail). A web niio tem restrigdes com relagio aos tipos de recursos que pode usar para acesso, gragas aos designadores de esquema presentes nos URLS. Se alguém inventar um novo tipo de recurso, por exemplo, widger — talvez. com seu préprio esquema de enderegamento para localizar clementos em tuma jancia gréfica e seu proprio protocolo para acessé-tos -, entéio o mundo poder comegar a usar ‘URLs da forma widget:... . E claro que os navegadores devem ter a capacidade de usar 0 novo proto- colo widget, mas isso pode ser feito pela adigio de um plug-in. Os URLs com um designador de esquema do tipo HTTP sfio mais comuns para acessar recursos. web, Um URL HTTP tem duas tarefas + identificar qual servidor web mantém 0 Fecurso equal dos recursos esté sendo solicitado a esse servidor. A Figura 1.4 mostra tés navegadores fazendo pedidos de recursos, gerenciados por trés servidores web. O navegador que est mais acima esté fazendo uma consulta em um mecanismo de busca. O navegador do meio solicita a pagina padrao de um outro site web. O navegador que esti mais abaixo solicita uma pigina web especificada por completo, incluindo um nome de caminho relativo para o servidor. Os arquivos de determinado servie dor web sfio mantidos em uma ou mais subérvores (diret6rios) do sistema de arquivos desse servidor cada recurso ¢ identificado por um nome e um caminho relative (pathname) nesse servidor. 15m geral, os URLs HTTP sto da seguinte forma: hup:// nomedaservidor [:porta} [momedeCaminho} [7eonsulta]f Afragmento} — onde os itens entre colchetes so opcionais, Um URL HTTP completo sempre comega com o string btipif, seguido de um nome de servidor, expresso como um nome DNS (Domain Name System) (veja a Segao 9.2). O nome DNS do servidor é, opcionalmente, seguido do niimero da porta em que o ser- vidor recebe os pedidos (veja 0 Capitulo 4) - que, por padrdo, é a porta 80. Em seguida, aparece um nome de caminho opeional do recurso no servidor. Se ele estiver ausente, entio a pagina web padre do servidor seré solicitada, Finalmente, 0 URL termina, também opcionalmente, com um componente de consulta ~ por exemplo, quando um usuério envia entradas de um formulério, como a pagina de Caolruio 1m Caractenzacho oF Sstewas Distasuloas 25 consulta de um mecanismo de basea —c/ow tin identificador de fragmento, que identifica um compo- nente de um determinado recurso. Considere os URLs a seguir Intp:thoww.cdhd.net tp:l/voww.w3.org/Protocols/Activity.htmd intra Iutp:/hvww google.comlsearch?q=kindberg Bles podem ser subdivididos, como segue: "Noiie DNSdoseividor. ” Nonie de ean Consilta.. ~~ -Fraginento www.edk4.net (padrdo) (nenhuma) — ¢(nenhurn) www. wS.org, Protocols/Activityhtml — (nenhuma) intro wwvw.google.com seareh grkindberg —_(nenhum) 0 primeiro URL designa a pigina padrio fornccida por winncddd.net. O seguinte identifica um fragmento de um arquivo HTML ciijo nome de caminho € Protocols/Activity. HTML, rckativo ao servi~ dor www.w3.org. O identificador do fragmento (especificado apds 0 caraetere ff no URL) é inzro eum navegador procurard esse identificador de fragmento dentro do texto HTML, apds tee feito o download do arquivo inteiro, O terceiro URL especifica uma consulta para um mecanismo de busca. O caminho identifica um programa chamado search € 0 string apds 0 caracterc ? codifica um string de consulta fornecido como argumento para esse programa. Publicando um recurso: Embora a web tenha um modelo claramente definido para acessar um re~ curso a partir de sew URL, os métodos exatos para publicagio de recursos dependem da implemen- taciio do servidor. O método mais simples de publicagdo de um recurso na web € colocar 0 arquivo correspondentc em um diret6rio que 0 servidor web possa acessar. Sabendo o nome do servidor, S, © tum nome de caminho para o arquivo, C, que o servidor possa reconhecer, 0 usudtio constréi o URL ‘como http:/S/C. O ususrio coloea esse URL em um fink de um documento jé existente ou informa esse URL para outros usutirios de diversas formas, como por exemplo, por e-mail. Existem certas convengdes de nome de caminho que os servidores reconhecem. Por exemplo, um nome de caminho comegando com ~joe esta, por convengdo, em um subdiretGrio public_hint do diretério home do ususirio joe. Anatogamente, umm nome de caminho que termina em am nome de diretério, em vez.de terminar em um arquivo simples, convencionalmente se refere a um arquivo nese diretdrio, chamado index.html. Huang ef af. (2000] forece um modelo para inserir conteiido na web com mnfnima intervenedo humana, Isso € particularmente relevante quando os usuérios precisam extrair conteido de uma varic~ dade de equipamentos, como cameras, para publicagao em paginas web. HTTP 0 0 protocolo HyperText Transfer Protocol (swww.w3.org LV] define as maneiras pefas quais ‘0s navegadores e outros tipos de cliente interagem com os servidores web. O Capitulo 4 examinaré o protocolo HTTP com mais detathes, mas destacaremos aqui suas princi pais caracteristicas (restringin- do nossa discussio & recuperagio de referencias em arquivos): Interagdes requisicéo-resposta: 0 protocolo HTTP € do tipo requisigéio-resposta. O cliente envi ‘uma mensagem de requisigao para o servidor, contendo o URL do recurso solicitado. © servidor pesquisa 0 nome de caminho ¢, se ele existir, envia de volta para o cliente o contetido do arquivo ‘em uma mensagem de resposta. Caso contritio, ele envia de volta uma resposta de erro, como & conhecida 404 Not Found. Tipos de contetido: os navegadores nio sfio necessariamente capazes de manipular todo tipo de contetido. Quando um navegador faz uma requisigio, efe inclui uma lista dos tipos de conteddo ‘que prefere — por exemplo, em princfpio, ele poderia exibir imagens no formato GIF, mas no no formato JPEG. servidor poderd levar isso em conta ao retornar contetido para o navegador. O servidor inclui 0 tipo de contetico na mensagem de resposia para que 0 navegador saiba como