Pregunto esto porque cada vez que paso el mouse sobre un enlace a una página de inicio (por ejemplo http://www.example.com)
, noto que siempre se agrega una barra diagonal (como se observa en la barra de estado del navegador) si el enlace de la página de inicio contiene un atributo href que termina con una barra oblicua o no. Pero cada vez que estoy en la página de inicio, la URL en la pantalla no tendrá una barra inclinada final.
Intenté ingresar una barra diagonal a la URL en la barra de URL. Y con Firebug habilitado, noto que el sitio siempre devuelve un estado 200 OK. Un artículo aquí que discute esto indica que tener una barra oblicua al final evitará una redirección 301. Pero no veo ninguna redirección, incluso en esta página.
¿Podría ser esta una función del navegador que agrega la barra oblicua?
?
en la URL), lo cual es bastante tonto.Respuestas:
Sí, todos los navegadores principales "agregan una barra diagonal" a la solicitud HTTP cuando solicitan una URL de dominio simple (es decir, la página de inicio). Esto es realmente necesario para que la solicitud HTTP sea válida, que
http://example.com/
es:Tenga en cuenta la
/
(barra diagonal) en la primera línea: esta es la URL que se solicita. No es válido no tener nada aquí. De RFC 2616 :Debe mirar la solicitud HTTP que el navegador hace al servidor. La URL que se muestra en la "barra de estado del navegador", o incluso la URL en la barra de direcciones, podría ser diferente, más fácil de usar. Google Chrome no agrega la barra diagonal final en la barra de estado, aunque la barra está presente en la solicitud.
No se produce la redirección 301 si especifica
http://example.com
(sin barra oblicua) porque el navegador corrige la solicitud HTTP antes de que se realice.Tenga en cuenta que esto es diferente a las barras que se agregan al final de las URL cuando hay una ruta / directorio. p.ej.
http://example.com/directory/
. El artículo al que enlaza parece tratar a ambos de la misma manera y no parece ser del todo correcto. Si solicitóhttp://example.com/directory
(sin barra oblicua), entonces el navegador no agrega una barra oblicua y sí, la mayoría de los servidores serán redirigidos ahttp://example.com/directory/
(barra oblicua), pero esto depende del servidor; ¡podría simplemente romperse! En Apache, por ejemplo, esto depende de laDirectorySlash
directiva establecidaon
.fuente
example.com
oexample.com/
ambos requieren exactamente la misma solicitud al servidor.