O que acontece se <base href…> for definido com uma barra dupla?
Eu gosto de entender como usar um<base href="" />
valor para o meu rastreador da Web, por isso testei várias combinações com os principais navegadores e finalmente encontrei algo com barras duplas que não entendo.
Se você não gosta de ler tudo, pule para os resultados dos testes deD eE. Demonstração de todos os testes:
http://gutt.it/basehref.php
Passo a passo meus resultados de teste ao ligarhttp://example.com/images.html
:
A - Base múltipla href
<html>
<head>
<base target="_blank" />
<base href="http://example.com/images/" />
<base href="http://example.com/" />
</head>
<body>
<img src="/images/image.jpg">
<img src="image.jpg">
<img src="./image.jpg">
<img src="images/image.jpg"> not found
<img src="/image.jpg"> not found
<img src="../image.jpg"> not found
</body>
</html>
Conclusão
<base>
comhref
contauma fonte começando com/
tem como alvo a raiz../
sobe uma pastaB - Sem barra à direita
<html>
<head>
<base href="http://example.com/images" />
</head>
<body>
<img src="/images/image.jpg">
<img src="image.jpg"> not found
<img src="./image.jpg"> not found
<img src="images/image.jpg">
<img src="/image.jpg"> not found
<img src="../image.jpg"> not found
</body>
</html>
Conclusão
<base href>
ignora tudo após a última barra parahttp://example.com/images
torna-sehttp://example.com/
C - Como deve ser
<html>
<head>
<base href="http://example.com/" />
</head>
<body>
<img src="/images/image.jpg">
<img src="image.jpg"> not found
<img src="./image.jpg"> not found
<img src="images/image.jpg">
<img src="/image.jpg"> not found
<img src="../image.jpg"> not found
</body>
</html>
Conclusão
D - Barra dupla
<html>
<head>
<base href="http://example.com/images//" />
</head>
<body>
<img src="/images/image.jpg">
<img src="image.jpg">
<img src="./image.jpg">
<img src="images/image.jpg"> not found
<img src="/image.jpg"> not found
<img src="../image.jpg">
</body>
</html>
E - Barra dupla com espaço em branco
<html>
<head>
<base href="http://example.com/images/ /" />
</head>
<body>
<img src="/images/image.jpg">
<img src="image.jpg"> not found
<img src="./image.jpg"> not found
<img src="images/image.jpg"> not found
<img src="/image.jpg"> not found
<img src="../image.jpg">
</body>
</html>
Ambos não são URLs "válidos", mas resultados reais do meu rastreador da web. Por favor, explique o que aconteceuD eE este../image.jpg
pode ser encontrado e por que causa uma diferença no espaço em branco?
Apenas para o seu interesse:
<base href="http://example.com//" />
é o mesmo queTeste C<base href="http://example.com/ /" />
é completamente diferente. Somente../image.jpg
seja encontrado<base href="a/" />
encontra apenas/images/image.jpg