Digamos que eu queira vincular a um diretório pai ( http://example.com/library/
) a partir de um subdiretório ( http://example.com/library/html/basics/
).
O link para o diretório pai pode ser:
href="../../"
href="https://webmasters.stackexchange.com/library/"
href="http://example.com/library/"
Existe uma diferença de velocidade com base na maneira como escrevo o link? Não estou perguntando sobre a velocidade de carregamento do site, mas se há uma diferença notável ao percorrer o diretório.
html
links
performance
hyperlink
relative-urls
Jakub Kliský
fonte
fonte
example.com
primeiro e depoisexample.com/library/books/fiction/1984.html
com ou sem "atravessar" todo o caminho deve ser irrelevante. E lembre-se de que você terá vários usuários - um pode estar solicitando o diretório base, enquanto outro está profundamente aninhado e o servidor apenas está fazendo o mesmo trabalho.http://example.com/library/
nos três casos, caso contrário, simplesmente não é válido./library/
tem as seguintes vantagens sobre as outras opções: você não precisa atualizar todos os seus links se alterar seu nome de domínio ou mudar para SSL em qualquer lugar; se você alterar o nome da pasta ou mover a criança pasta pode encontrar & substituir o caminho facilmente, trabalhando fora o que precisa mudar a partir de ../ .. etc.Respostas:
Efeito para o navegador:
Embora isso pareça um pouco de trabalho para o navegador da web, mas tecnicamente não faz muita diferença. Os navegadores são rápidos demais para lidar com essa estrutura de URL relativa e fazer uma chamada para o servidor de aplicativos
Efeito para o servidor de aplicativos:
Nenhum, pois ele precisa retornar o arquivo solicitado (o link relativo / absoluto é mapeado para um caminho da web)
Efeito no tamanho da página:
Sim, haveria alguma redução no tamanho (novamente, algo que não faria muita diferença no desempenho da sua página, que poderia ser alcançado por algo como o codificador de conteúdo gzip ou o recurso de redução)
Então, eu acho que tecnicamente os URLs absolutos / relativos não fazem muita diferença na velocidade da página / em qualquer matriz ponderada .
Sim, faz uma enorme diferença no gerenciamento de vários ambientes, como dev, pp, prodpp etc.
Exemplo: no desenvolvimento local, você pode ter dev.example.com na pré-produção, pode ter: pp.example.com. .
Portanto, nesses cenários, seria relativamente fácil gerenciar código com URLs relativos (embora também possa ser gerenciado pelas configurações do ambiente)
fonte
Os caminhos baseados em HTML / CSS sempre serão mais rápidos para a velocidade do servidor, porque o servidor tem menos código para enviar. Os caminhos relativos no formato HTML ou CSS são traduzidos pelo navegador do usuário final e não pelo servidor.
Portanto, tecnicamente, é mais rápido para o servidor e mais lento para o usuário final, mas o usuário final nunca notaria a diferença, já que o processamento necessário é menor que nano segundos, portanto, é mais provável que os usuários finais vejam a diferença entre relativo porque o servidor poderá atendê-los melhor.
fonte
http://example.com/category/cats.html
seja mais longo que isso/category/cats.html
, não vejo como isso tenha um impacto significativo no desempenho para ser considerado. Gzipar os dados enviados, que leva frações de segundo, já cobriria a "ineficiência de tamanho" e qualquer "penalidade de velocidade" que impor.