• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

VascoRodrigues

Headers

15 mensagens neste tópico

Boas. Eu gostaria de saber qual a função de um header nos sites. Quando os estamos a construir como sabemos que headers se põem, o que altera tê-lo ou não, qual o melhor e porquê.. como saber essas situações. Ou seja, como iniciante de programação web por onde me devo orientar.

Obrigado pela atenção.

PS: Sim já pesquisei google e wiki mas lá falam td na teoria.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então, isso depende do que tu precisas... Alguns como <title> são obrigatórios (se quiseres o site standard) mas se precisares pões scripts, estilos css, metadata, etc... Isso depende do que tu precisas/queres. Quase nada é obrigatório...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Refiro-me mais a nivel de cabeçalhos segundo as normas não sei das quantas, em que por xs têm ligações para sites... como por exemplo quando mandamos httprequest (noutras linguagens alem de php (non-web)) em que temos k enviar uns cabeçalhos todos esquisitos, não sei se me entendes.

OT: para não abrir um novo topic, podem indicar-me tutoriais de php direccionados para criação de sites (não de aqueles só de sintaxe mas sim direccionados para a criação de websites) e html (iniciação).

Obrigado novamente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu acho que o que ele quer é saber quando se manda headers tipo:

header('Content-type: application/pdf');

header("HTTP/1.0 404 Not Found");

header("Cache-Control: no-cache, must-revalidate");

Coisas assim, é isto? Se for, não dá bem para te responder porque tu vais precisar do que precisares. Lol, não vejo outra maneira de explicar. Por norma, a maior parte do código PHP não faz uso dos header() assim tão casualmente (a não ser para fazer redirects, deve ser o mais casual). Apenas é usado quando realmente necessário para efectuar o que for preciso.

Essas "situações" que procuras são impossíveis de descrever e debater, cada caso é um caso. Depende sempre do teu código e do teu objectivo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O Battousai já apresentou dois links importantes. Ora aqui vão os headers que uso mais, e o porquê. Se alguém tiver alguma coisa a acrescentar ou corrigir, força.

<title>Marfig website</title>
<meta name="author" content="Marfig">
<meta http-equiv="expires" content="NEVER">
<meta name="publisher" content="Marfig">
<meta name="copyright" content="2008 Marfig. All Rights Reserved.">
<meta name="page-topic" content="A minha página web pessoal, Home">
<meta name="keywords" content="Marfig, website, pessoall">
<meta name="description" content="MZ Property, Specialists in the Portuguese Property and Real Estate Market. Our Home Page">
<meta name="page-type" content="Private">
<meta name="audience" content="All">
<meta name="robots" content="INDEX,FOLLOW">
<meta http-equiv="content-language" content="PT">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">

Primeiro três notas.

- Alguns meta tags têm valor semântico. Outros não. Ter um valor semântico significa que dão significado ao website ou página. Ou sejam ajudam a identificar o seu website ou o seu contéudo.

- Alguns meta tags são usados pelos serach bots. Outros não. Ninguém sabe ao certo quais. Alguns são do conhecimento geral, outros são apenas especulação.

- Alguns meta tags são gerais no sentido em que proporcional informação sobre o website. Outros podem (e devem ser) alterados página a página.

- O website que use meta tags numa página, devem usar também em todas as páginas.

author.

Valor Semântico: Não ; Search Bots: Não ; Geral: Não

O nome ou identificação do autor da página web. Este tag serve como parte integrante do código e ajuda outros programadores a identificar o autor. É usado em alguns meios de desenvolvimento distribuído para que rapidamente se possa entrar em contacto com o programador.

http-equiv="expires"

Valor Semântico: Não ; Search Bots: SIM! ; Geral: Não

Indica quando os conteúdos desta página web expiram. Ou seja, quando a informação contida deixa de ter validade. Pode ser uma tag muito importante para certos tipos de websites que necessitam de fazer updates periódicos à informação neles contida. Esta tag é usada por alguns dos motores de pesquisa para determinar quando a página deve ser retirada das listagens, ou quando o crawler deve fazer nova leitura. Não é bem claro o quê. Mas é ponto assente que os crawlers actuais usam para marcar novas visitas à página e não para a retirar da listagem. A palavra "NEVER", usada quando se pretende informar que a informação está sempre actualizada, não pode ser traduzida para outra lingua.

Publisher.

Valor Semântico: Não ; Search Bots: Não ; Geral: Não

Basicamente o nome da entidade que publica o website, quando esta existe. O Marfig pode ser o autor e até detentor do copyright, mas quem publica o website é a O'Reilly, por exemplo.

copyright

Valor Semântico: Não ; Search Bots: ? ; Geral: Não

Quem detém os direitos de autor e que tipo de direitos. Não conheço search bots que utilizem esta informação, mas poderá vir a ser usada se os motores de pesquisa evoluirem para apresentações de resultados em formato de imagem.

page-topic

Valor Semântico: Sim ; Search Bots: Sim ; Geral: NÃO!

Descrição do conteúdo da página web. Uma tag importante e uma parte importante do processo de SEO. A informação deve ser curta e incisiva. A informação deve também ser diferente em todas as páginas web, mesmo as que são criadas dinamicamente, tais como as páginas individuais de um resultado de uma pesquisa, por exemplo. Esta tag é considerada uma das mais importantes para o Google. A sua presença irá garantir que a idenxação da páginas seja feita da forma mais correcta. É muito eficaz se a tag conter palavras que façam parte do conteúdo da página. Mas também é importante que a tag seja uma ou mais frases e não uma lista de keywords.

keywords

Valor semântico: Sim ; Search Bots: Sim ; Geral: Não

Uma listagem de palavras importantes que definam o website. Keywords devem estar separadas por uma virgula, e cada keyword pode ser consituida por uma ou duas palavras. Para uma correcta utilização, esta tag deverá conter apenas keywords essenciais, poucas (10 no máximo talvez) e todas sem excepção devem estar presentes no texto em causa ou em propriedades de certos elementos, como no "alt", no documento do "longdesc" ou no "title" de um elemento IMG. Esta tag perdeu muito do seu valor para search bots uma vez que os programadores abusaram dela para colocarem os seus websites em melhore posição nos resultados de pesquisa. Vale muito pouco hoje, ou assim dizem a Google e a Yahoo.

description

Valor Semântico: Sim ; Search Bots: ? ; Geral: Sim (Não)

Semelhante a page-topic, acima. Mas aqui pode-se escrever uma descrição mais detalhada dos conteúdos do website ou da página web. Os Search Bots poderiam usar esta tag. Eu sei que vi o google a usá-la umas duas vezes pelo menos nos dois últimos anos. Mas não é claro se o virão a fazer consistentemente uma vez que infelizmente muito boa gente está disposta a quebrar mais um web standard (que muitos defendem em acessos de demagogia) se o Google usasse esta tag para descrição dos conteúdos.

page-type

Valor Semântico: Sim ; Search Bots: Não (no entanto ler em baixo) ; Geral: Não

page-type define o tipo de conteúdo da pagina web através da escolha de uma palavra dentro de uma lista de items aceitáveis. Esta tag deveria ser utilizada pelos search bots, mas infelizmente não o é por qualquer razão que desconheço. É no entanto utilizada pelos Directory Services que se podem tornar um elemento importante na estratégia SEO. O valor desta tag é determinado por uma lista de palavras aceitáveis pelo search bot. Por exemplo, o dmoz aceita palavras como Commercial, Private, Adult, Government, Institutional, etc...

audience

Valor Semântico: Sim ; Search Bots: Não (no entanto ler em baixo) ; Geral: Sim

Define o tipo de audiência para o website. ALL significa todos podem ver o website e ADULT, só adultos. Este sistema ainda é extremamente rudimentar mercê de vários factores que não vale a pena discutir agora. Os search Bots não o usam, a internet ainda não está preparada. Mas é um elemento obrigatório para inscrição em muitos Directory Services.

robots

Valor Semântico: Não ; Search Bots: Sim ; Geral: Não

Por falar em tags importantes. O robots indica aos search bots como proceder com esta página. Duas informações são passadas separadas por uma virgula; Se deve ou não indexar esta página, e se deve ou não seguir os links nesta página. Os valores possíveis para este meta tag são: INDEX, NOINDEX, FOLLOW, NOFOLLOW, e ALL. O comportamento de um search bot é por defeito "INDEX, FOLLOW". ALL é um sinónimo dessa opção. Já agora, "seguir links" significa analisar também as páginas apontadas por links nesta página.

Vou deixar content-type e content-language para depois. Estou cansado de escrever. :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

I aprove of this post!

Metam isso no wiki ou num sítio visível quando/se o Marfig terminar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

De todas as tags que postaste Marfig, apenas 3 são equivalentes a headers HTTP.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fico satisfeito que achem a informação útil. Bom, aqui vai então o que falta.

Estas duas tags finais obrigavam a uma informação mais cuidada e ontem já estava cansado de escrever...

...

http-equiv="content-language"

Valor Semântico: Sim ; Search Bots: Sim ; Geral: Não

Esta meta tag determina a ou as linguagens presentes no conteúdo tal como definido no RFC 1766. Em termos simples, o código de uma linguagem é composto por um ou dois códigos separados por um - (hifen), sendo que o primeiro código de duas ou três letras diz respeito à macrolingua e o segundo, quando usado, diz respeito ao dialecto. Para todos os efeitos, para uma página web em Português, PT é o código a utilizar. Quando a páginas contém texto também noutras línguas, será correct acrescentar essas linguas separando-as com uma virgula. Assim, uma página com texto em Português e Inglês será definida por "PT,EN". A ordem dos códigos é irrelevante. Os search bots podem usar esta informação para categorizar os websites por língua. O Google faz isto quando se pede para ver páginas numa certa língua. Se bem que também utiliza outros métodos de identificação da língua da página, uma vez que nem toda a gente usa esta tag.

meta http-equiv="content-type"

Valor Semântico: Sim ; Search Bots: Sim ; Geral: Não

A mais importante das meta tags. É uma meta tag complexa que proporciona informação vital principalmente para o web browser que está a visualizar a página e ajuda o browser a fazer a interpretação e render correcto do seu conteúdo. Para todos o efeitos, esta tag determina parte da informação do HTTP header que é enviado para o browser e neste caso especifica o tipo de documento e o charset (código de caracteres) a ser usado. É hoje uma meta tag dita obrigatória, apesar de os browsers usarem valores por defeito (que na realidade é o que está acima) para os casos em que a meta tag não estiver presente. A W3C faz um melhor trabalho a descrever esta tag do que eu poderei fazer. Ler com especial atenção as considerações relativas a documentos xhtml. A reter também é o facto de que para praticamente qualquer website escrito nas línguas Latinas a tag a usar é exactamente como a que está descrita acima. Isto incluí o Português, mas também muitas outras línguas.

Uma nota final

É preciso dizer aqui que não existe na realidade a noção de uma meta tag geral que afecte todo o website e a de uma meta tag que afecte apenas uma página. Isto ficou-me do post anterior e achei que não estava a dizer tudo. Portanto aqui vai...

Tecnicamente, toda a meta tag afecta apenas a página em que se encontra ou dá informação sobre a página em que se encontra. Não existem meta tags ditas "gerais". Um bot tradicional ou um browser não sabem o que é um website. Eles apenas vêem documentos. Mas então porque é que eu faço a distinção? Bom, em primeiro lugar porque nem todos os bots são tradicionais, mas mais importante é que a noção de uma tag geral pode realmente existir em ambientes Intranet e em certas plataformas tecnológicas onde esta pode tomar várias formas. Por exemplo, na presença da tag <meta name="audience" content="ADULT"> numa qualquer página de um website, é possível (desejável) que certas plataformas web invalidem todo o website, ou na presença de uma meta tag <meta http-equiv="acesso" nivel=2"> (sim, é possível criar as nossas próprias meta tags) um browser alterado para/por uma qualquer empresa - ou a plataforma web dessa empresa - não permita a visualização de todos os documentos no mesmo endereço onde encontrar um documento com esta tag.

Para efeitos de web dita tradicional, isso não acontece. As meta tag associam informação ao documento onde se encontram e apenas a esse documento. Daí a necessidade de criar metatags em todos os ficheiros HTML, mesmo que essa informação seja igual.

De notar que este último parágrafo revela também um pequeno segredo que muitos de nós tendemos a esquecer. A tag keywords que descrevi acima, não é diferente em nada de todas as restantes, no sentido em que também descreve apenas o documento onde se encontra. Muitos autores teimam em utilizar as mesmas keywords em todas as páginas do website. O Google pura e simplesmente ignora keywords que não encontra no texto da página web ou em certas propriedades como alt, longdesc ou title de uma tag IMG, pelo que em muitos casos isto significa que para muitas das restantes páginas do website praticamente toda a tag (se não mesmo toda) é ignorada pelo google se o programador não tiver esse cuidado.

E pronto. Já chega.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

De todas as tags que postaste Marfig, apenas 3 são equivalentes a headers HTTP.

Bom... eu não assumi que era isso que o OP queria. Ele apenas referiu "headers", um termo comunmente usado pelos novatos quando se referem ao conjunto das meta tags que inclui HTML e HTTP headers. Neste contexto a ideia de ele se estar a referir apenas a HTTP headers (HTTP-EQUIV) parece-me redutora.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito obrigado por todos os esclarecimentos.

Os headers a que eu me refiro são deste género (retirado de um post acerca de ligar à vodafone):

$nome_utilizador = "91xxxxxxx;

$password = "xxxxxxxx";

$LOGINURL = "https://my.vodafone.pt/guest/";

$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";

$POSTFIELDS = 'Login1:userid='.$nome_utilizador.'&Login1:password='.$password;

$referer = "https://my.vodafone.pt/sc/SCIFrameIndex.aspx";

Todos estes headers, como sabemos que temos que os usar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

podes utilizar um programa do tipo do Wireshark para apanhar os pacotes HTTP enviados ao submeteres um formulário numa página por exemplo. Nesse caso procuravas um pacote HTTP POST e vias os dados enviados :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora