Por que os URLs de sites não diferenciam maiúsculas de minúsculas? [fechadas]

0

Qual foi a escolha do design aqui? Por que URLs são projetados para não diferenciar maiúsculas e minúsculas?

Por exemplo:  Quando eu digito "gaming.stackexchange.com", ele me levará para o Arqade.SE.  Se eu digitar "GaminG.StackExchangE.CoM", isso me levará ao mesmo lugar.

Eu entendo que existem alguns contra-exemplos para isso, como alguns assinalei abaixo .

    
por yuritsuki 14.03.2013 / 10:14

3 respostas

8

A RFC 1035 seção 2.3.3 afirma que os nomes DNS não fazem distinção entre maiúsculas e minúsculas. Isso significa que a parte do host (e somente a parte do host) das URLs não faz distinção entre maiúsculas e minúsculas.

Eu não sei o raciocínio preciso por trás dessa decisão, mas o padrão foi escrito em 1987, quando sistemas com suporte limitado para conjuntos de caracteres de letras maiúsculas e minúsculas ainda eram relativamente comuns.

    
por 14.03.2013 / 10:18
4

Eu posso inventar duas razões sem que elas necessariamente tenham algo a ver com a decisão original.

  • facilidade de uso
  • eliminação da ambiguidade

Imagine ter que lembrar a diferença entre:

google Google Google Google Google Google (....)

É bastante impraticável se o Host.com significar algo totalmente diferente do host.com. Um nome DNS deve ser um rótulo, e ter caracteres especiais ou fazer diferença entre letras maiúsculas e minúsculas só complica isso sem servir a nenhum propósito prático.

    
por 14.03.2013 / 16:31
0

Possíveis motivos:

  • Segurança: Existem apenas 37 caracteres válidos em nomes DNS *. Caracteres alfabéticos minúsculos têm bit 6 conjunto, portanto, uma biblioteca de resolvedor ou servidor DNS pode imediatamente e relativamente simplesmente limpar sua entrada por ANDing com 0100 0000 binário e descartando qualquer coisa que não seja ASCII 45, 48 a 57 (números) ou 65 através de 90 (letras). Depois de se deparar com um ponto que você está feito. Não há necessidade de descobrir o que é e ignorar o espaço em branco, tokenizar ou fazer qualquer outra coisa adorável e com excesso de buffer no campo minado envolvida na análise de texto. Ter um limite explícito de 63 (?) Caracteres nos nomes de hosts também ajuda nisso.

  • O DNS como um todo é enorme e precisa funcionar rapidamente. Tenho certeza de que isso ajuda a acelerar a indexação e as pesquisas por meio de bancos de dados DNS para que um nome DNS contenha um número limitado de caracteres. Provavelmente, uma coisa semelhante poderia ser dita quanto ao tamanho. Dada a capacidade dos computadores no momento em que o DNS foi inventado, tenho certeza de que reduzir as coisas ao mínimo possível era considerado necessário.

  • Acredito que, na época em que o DNS foi inventado, havia computadores e terminais em uso que não exibiam caracteres minúsculos (estou pensando no Apple II aqui, mas tenho certeza de que alguns mainframes antigos da época tinham terminais antigos ligados).

* Você já viu nomes de domínio unicode antes? Esses são nomes de domínio internacionalizados - uma extensão construída sobre isso. Eles realmente consistem internamente em "xn--" e, em seguida, em uma string codificada por Punycode usando o conjunto padrão de caracteres DNS e são renderizados como Unicode por um navegador compatível.

    
por 15.03.2013 / 19:21

Tags