Por outro lado, qual é o objetivo não. Para fins de cookie e subdomínio em uma presença bem-sucedida na web, é útil separar vários processos.
Fiasco Labs
Essa resposta , embora não diretamente relacionada, parece relevante.
Skippy le Grand Gourou
Respostas:
202
Um dos motivos pelos quais você precisa wwwou algum outro subdomínio está relacionado a uma peculiaridade do DNS e do registro CNAME.
Suponha, para os fins deste exemplo, que você esteja executando um site grande e contrate a hospedagem de uma CDN (rede de distribuição de conteúdo) como a Akamai. O que você normalmente faz é configurar o registro DNS do seu site como CNAME em algum akamai.comendereço. Isso dá à CDN a oportunidade de fornecer um endereço IP próximo ao navegador (em termos geográficos ou de rede). Se você usasse um registro A no seu site, não conseguiria oferecer essa flexibilidade.
A peculiaridade do DNS é que, se você tiver um registro CNAME para um nome de host, não poderá ter outros registros para esse mesmo host. No entanto, seu domínio de nível superior example.comgeralmente deve ter um registro NS e SOA. Portanto, você também não pode adicionar um registro CNAME para example.com.
O uso de www.example.comoferece a oportunidade de usar um CNAME para wwwesses pontos na CDN, deixando os registros NS e SOA necessários example.com. O example.comregistro geralmente também terá um registro A para apontar para um host que será redirecionado para o www.example.comuso de um redirecionamento HTTP.
Você pode fornecer um registro CNAME "padrão" apontando para o CDN; não é necessário usar "www". Isso permite que o servidor DNS tenha RRs de SOA, NS, CNAME etc. etc, todos com o mesmo nome de domínio.
Chris S
1
Como é que ninguém menciona os ALIAS(ou ANAMEregistros) nesse tipo de tópico? Ele não obtém os mesmos resultados que o CNAME no domínio nu (exceto o problema do cookie ...)?
Augustin Riedinger 27/02
3
@AugustinRiedinger: os registros ANAME não são do tipo RR padrão do DNS. Eles são proprietários de provedores de serviços específicos.
Greg Hewgill 27/02
Mas isso gera algum problema de compatibilidade ou algo assim? Existe alguma razão pela qual não devemos usá-los (além de não sermos padrão, mas proprietários)?
Augustin Riedinger 27/02
2
@AugustinRiedinger não é suportado na maioria dos servidores DNS . Mas se o seu provedor tiver um servidor DNS que ofereça suporte a esses recursos, isso não deverá causar problemas aos clientes.
Koen.
104
Nota: Desde a ratificação e implementação (por todos os navegadores atuais, exceto possivelmente pelo MSIE 11 , ver comentários) da RFC 6265 em 2011, o seguinte não é mais preciso, pois os cookies, por padrão, nunca são definidos entre subdomínios.
Historicamente , uma boa razão técnica para tornar www.example.comcanônico era que os cookies de um domínio principal (ou seja example.com) eram enviados a todos os subdomínios.
Portanto, se seu site usasse cookies, eles seriam enviados para todos os seus subdomínios.
Agora, isso geralmente faz sentido, mas é positivamente prejudicial se você deseja fazer o download de recursos estáticos, pois apenas desperdiça largura de banda. Considere todas as folhas de estilo e imagens em seu site: normalmente, não há motivo para enviar cookies ao servidor ao solicitar um recurso de imagem.
Uma boa solução é, portanto, usar um subdomínio para recursos estáticos, como static.example.comeconomizar largura de banda, não enviando cookies. Todas as imagens e outros downloads estáticos podem ser baixados a partir daí. Se você agora usa www.example.como conteúdo dinâmico, isso significa que os cookies precisam ser enviados apenas para www.example.com, e não para static.example.com.
Se, no entanto, example.comfor o seu site principal, os cookies serão enviados para todos os subdomínios, inclusive static.example.com.
Agora, isso não é relevante para a maioria dos sites, mas mudar sua URL canônica, mais tarde, não é uma boa idéia para que uma vez que você se estabeleceu em example.comvez de www.*, basicamente você está preso com ele.
Uma alternativa é usar uma URL totalmente diferente para recursos estáticos. Estouro de pilha, por exemplo sstatic.net, usos , YouTube usa ytimg.cometc.
A propósito, eu realmente não gosto www.xcomo o URL canônico tão pessoalmente que provavelmente usaria um URL diferente para recursos estáticos se projetasse um site grande.
Konrad Rudolph
1
@RobinWinslow Mas definir cookes em domain=example.comdefinirá o cookie no domínio apex e subdomínios , e uma maneira de evitar isso é não usar o domínio apex para HTTP. Embora, concordado, outra maneira seria simplesmente não especificar domainao definir o cookie. Gostaria de saber se isso mudou desde que escrevi minha resposta (que antecede a RFC 6265 relevante !), Mas não posso me incomodar em procurar agora.
21978 Konrad Rudolph
2
Parece que o comportamento que descrevo tem sido o caso desde pelo menos 2011, quando a RFC 6265 foi escrita (mais como um resumo do comportamento atual do navegador do que como uma declaração de como eles deveriam funcionar). Até agora, podemos assumir que todos os navegadores o seguirão. Consulte stackoverflow.com/questions/1062963/… e bayou.io/draft/cookie.domain.html . Diante disso, acho que sua resposta tem sido enganosa há pelo menos sete anos, embora possa ter sido precisa em alguns casos no momento em que escrevo. Você poderia atualizá-lo para esclarecer esse fato?
wwwé um subdomínio normalmente usado para o servidor da web em um domínio junto com outros para outros fins, como mailetc. Atualmente, o paradigma do subdomínio é desnecessário; se você se conectar a um site em um navegador, o receberá ou o envio de e-mail para o servidor usará seu serviço de e-mail.
Usar wwwou não é uma questão de preferência pessoal. Pontos de vista opostos podem ser encontrados em http://no-www.org/ e http://www.yes-www.org/ - no entanto, acredito que isso wwwé desnecessário e apenas acrescenta mais fragmentos ao URI.
A maioria dos servidores envia o mesmo site de qualquer maneira, mas não o redireciona. Para fins de SEO, escolha um e depois redirecione o outro para ele. Por exemplo, algum código PHP para fazer isso:
if (preg_match('/www/', $_SERVER['SERVER_NAME'])) {
header("Location: http://azabani.com{$_SERVER['REQUEST_URI']}");
exit;
}
No entanto, algumas razões para promover o uso de um wwwsubdomínio feito por outros respondentes também são ótimas, como não enviar cookies para servidores estáticos (crédito Konrad Rudolph ).
Parece que no-www.org voltou a uma página estacionada para venda onde sim-www.org ainda está forte. Eu acho que isso resolve. Todo mundo usa "www" a partir de agora.
Nunya
9
É bem histórico. Era uma vez tínhamos www.example.com, ftp.example.com, images.example.com, uk.example.com etc., que parecia uma coisa lógica a se fazer e fornecia um método simples para distribuir a carga entre servidores.
Hoje em dia, eu iria apenas a example.com para o site principal e redirecionaria a versão www para isso.
Se você tiver subdomínios para outros fins (blog, por exemplo), poderá diferenciar os sites e ter um wwwprefixo para o site comum. Além disso, a única coisa importante é escolher um dos dois e cumpri-lo (por razões de SEO).
nos primeiros dias, você raramente vê um registro A para um domínio - talvez ele tenha um registro MX, mas você raramente tem um host lá.
Joe H.
2
Aqui está outra perspectiva menor.
Por não ter www, há uma desvantagem menor quando se trata de mídia baseada em texto, impressa ou online, e isso é reconhecido como um endereço da Web. Na impressão, geralmente é bastante óbvio que example.com é um endereço da Web, e você pode adicionar toques de estilo para realçar isso. Mas texto simples online? Não tão fácil. As chances são de que, se você enviar uma mensagem de texto sem formatação - seja por email, tweet, postagem no Facebook, SMS ou qualquer outra coisa - ela reconhecerá um URL que começa com http: // ou www. mas não reconhecerá um sem nenhum deles. Portanto, para transformar o URL em um link clicável, você deve colocar www. ou http: // na frente e, dos dois, www. é mais curto, menos desajeitado de olhar e mais fácil de ler.
http://example.com/é totalmente qualificado, enquanto www.example.comnão é. Eu prefiro a abordagem totalmente qualificado porque é sempre reconhecível como um URL, independentemente de saber se é https://example.uk/ou https://blog.example.eu/ou qualquer outra coisa. É consistente com a especificação do protocolo de um site seguro como HTTPS; www.example.comé apenas um domínio e não diz nada sobre qual protocolo se deve usar para acessá-lo.
Respostas:
Um dos motivos pelos quais você precisa
www
ou algum outro subdomínio está relacionado a uma peculiaridade do DNS e do registro CNAME.Suponha, para os fins deste exemplo, que você esteja executando um site grande e contrate a hospedagem de uma CDN (rede de distribuição de conteúdo) como a Akamai. O que você normalmente faz é configurar o registro DNS do seu site como CNAME em algum
akamai.com
endereço. Isso dá à CDN a oportunidade de fornecer um endereço IP próximo ao navegador (em termos geográficos ou de rede). Se você usasse um registro A no seu site, não conseguiria oferecer essa flexibilidade.A peculiaridade do DNS é que, se você tiver um registro CNAME para um nome de host, não poderá ter outros registros para esse mesmo host. No entanto, seu domínio de nível superior
example.com
geralmente deve ter um registro NS e SOA. Portanto, você também não pode adicionar um registro CNAME paraexample.com
.O uso de
www.example.com
oferece a oportunidade de usar um CNAME parawww
esses pontos na CDN, deixando os registros NS e SOA necessáriosexample.com
. Oexample.com
registro geralmente também terá um registro A para apontar para um host que será redirecionado para owww.example.com
uso de um redirecionamento HTTP.fonte
ALIAS
(ouANAME
registros) nesse tipo de tópico? Ele não obtém os mesmos resultados que o CNAME no domínio nu (exceto o problema do cookie ...)?Nota: Desde a ratificação e implementação (por todos os navegadores atuais, exceto possivelmente pelo MSIE 11 , ver comentários) da RFC 6265 em 2011, o seguinte não é mais preciso, pois os cookies, por padrão, nunca são definidos entre subdomínios.
Historicamente , uma boa razão técnica para tornar
www.example.com
canônico era que os cookies de um domínio principal (ou sejaexample.com
) eram enviados a todos os subdomínios.Portanto, se seu site usasse cookies, eles seriam enviados para todos os seus subdomínios.
Agora, isso geralmente faz sentido, mas é positivamente prejudicial se você deseja fazer o download de recursos estáticos, pois apenas desperdiça largura de banda. Considere todas as folhas de estilo e imagens em seu site: normalmente, não há motivo para enviar cookies ao servidor ao solicitar um recurso de imagem.
Uma boa solução é, portanto, usar um subdomínio para recursos estáticos, como
static.example.com
economizar largura de banda, não enviando cookies. Todas as imagens e outros downloads estáticos podem ser baixados a partir daí. Se você agora usawww.example.com
o conteúdo dinâmico, isso significa que os cookies precisam ser enviados apenas parawww.example.com
, e não parastatic.example.com
.Se, no entanto,
example.com
for o seu site principal, os cookies serão enviados para todos os subdomínios, inclusivestatic.example.com
.Agora, isso não é relevante para a maioria dos sites, mas mudar sua URL canônica, mais tarde, não é uma boa idéia para que uma vez que você se estabeleceu em
example.com
vez dewww.*
, basicamente você está preso com ele.Uma alternativa é usar uma URL totalmente diferente para recursos estáticos. Estouro de pilha, por exemplo
sstatic.net
, usos , YouTube usaytimg.com
etc.fonte
www.x
como o URL canônico tão pessoalmente que provavelmente usaria um URL diferente para recursos estáticos se projetasse um site grande.domain=example.com
definirá o cookie no domínio apex e subdomínios , e uma maneira de evitar isso é não usar o domínio apex para HTTP. Embora, concordado, outra maneira seria simplesmente não especificardomain
ao definir o cookie. Gostaria de saber se isso mudou desde que escrevi minha resposta (que antecede a RFC 6265 relevante !), Mas não posso me incomodar em procurar agora.www
é um subdomínio normalmente usado para o servidor da web em um domínio junto com outros para outros fins, comomail
etc. Atualmente, o paradigma do subdomínio é desnecessário; se você se conectar a um site em um navegador, o receberá ou o envio de e-mail para o servidor usará seu serviço de e-mail.Usar
www
ou não é uma questão de preferência pessoal. Pontos de vista opostos podem ser encontrados em http://no-www.org/ e http://www.yes-www.org/ - no entanto, acredito que issowww
é desnecessário e apenas acrescenta mais fragmentos ao URI.A maioria dos servidores envia o mesmo site de qualquer maneira, mas não o redireciona. Para fins de SEO, escolha um e depois redirecione o outro para ele. Por exemplo, algum código PHP para fazer isso:
No entanto, algumas razões para promover o uso de um
www
subdomínio feito por outros respondentes também são ótimas, como não enviar cookies para servidores estáticos (crédito Konrad Rudolph ).fonte
É bem histórico. Era uma vez tínhamos www.example.com, ftp.example.com, images.example.com, uk.example.com etc., que parecia uma coisa lógica a se fazer e fornecia um método simples para distribuir a carga entre servidores.
Hoje em dia, eu iria apenas a example.com para o site principal e redirecionaria a versão www para isso.
As ferramentas do Google para webmasters permitem que você especifique seu domínio preferido , portanto, use-o também.
Consulte também:
https://stackoverflow.com/questions/1109356/www-or-not-www-what-to-choose-as-primary-site-name
https://stackoverflow.com/questions/1884157/to- www-ou-não-para-www
fonte
Se você tiver subdomínios para outros fins (blog, por exemplo), poderá diferenciar os sites e ter um
www
prefixo para o site comum. Além disso, a única coisa importante é escolher um dos dois e cumpri-lo (por razões de SEO).fonte
www.example.com
deexample.com
ou vice-versa sem algo como JSONP.Eu faria o primeiro. A
www
convenção vem dos primeiros dias do HTTP, onde www.cmu.edu e cmu.edu eram provavelmente máquinas diferentes.fonte
Aqui está outra perspectiva menor.
Por não ter www, há uma desvantagem menor quando se trata de mídia baseada em texto, impressa ou online, e isso é reconhecido como um endereço da Web. Na impressão, geralmente é bastante óbvio que example.com é um endereço da Web, e você pode adicionar toques de estilo para realçar isso. Mas texto simples online? Não tão fácil. As chances são de que, se você enviar uma mensagem de texto sem formatação - seja por email, tweet, postagem no Facebook, SMS ou qualquer outra coisa - ela reconhecerá um URL que começa com http: // ou www. mas não reconhecerá um sem nenhum deles. Portanto, para transformar o URL em um link clicável, você deve colocar www. ou http: // na frente e, dos dois, www. é mais curto, menos desajeitado de olhar e mais fácil de ler.
fonte
http://example.com/
é totalmente qualificado, enquantowww.example.com
não é. Eu prefiro a abordagem totalmente qualificado porque é sempre reconhecível como um URL, independentemente de saber se éhttps://example.uk/
ouhttps://blog.example.eu/
ou qualquer outra coisa. É consistente com a especificação do protocolo de um site seguro como HTTPS;www.example.com
é apenas um domínio e não diz nada sobre qual protocolo se deve usar para acessá-lo.