¿Se agrega automáticamente la barra diagonal final al hacer clic en la URL de la página de inicio en el navegador?

17

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?

Desbordamiento de preguntas
fuente
Si. Por ejemplo, creo que Opera oculta la barra diagonal (¡y a veces también oculta el protocolo que me vuelve loco en el desarrollo!) ...
Matt
¿Cuál es exactamente la pregunta aquí? (O el punto de la pregunta). ¿Y cuál es "el" sitio al que te refieres? Si marca aquí con los webmasters, por ejemplo, se le nota que en Firefox y Chrome (no estoy haciendo una ronda completa de la prueba), lo que usted describe en lo que se añade una barra no sucederá. En realidad, parece forzar la eliminación de la barra oblicua si intenta agregar una, de hecho.
Su '
@Su ', me refiero a cualquier sitio y la barra de estado se refiere a la que se muestra en la parte inferior de cualquier navegador y la barra de URL se refiere a la barra de direcciones en la parte superior. Lo siento si te he causado confusión.
Pregunta Desbordamiento
2
@Matt Opera también oculta la cadena de consulta (poco después ?en la URL), lo cual es bastante tonto.
DisgruntledGoat

Respuestas:

28

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:

GET / HTTP/1.1
Host: example.com

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 :

Tenga en cuenta que la ruta absoluta no puede estar vacía; Si no hay ninguno presente en el URI original, DEBE aparecer como "/" (la raíz del servidor).

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 a http://example.com/directory/(barra oblicua), pero esto depende del servidor; ¡podría simplemente romperse! En Apache, por ejemplo, esto depende de la DirectorySlashdirectiva establecida on.

Señor White
fuente
Para agregar a la respuesta, cada vez que se vincula a su página de inicio, agregue la barra diagonal final para ahorrar recursos del servidor.
Anagio
55
@ Anagio No creo que entiendas la respuesta. No ahorraría recursos del servidor en absoluto porque no hay redireccionamiento. Un dominio con y sin barra oblicua es 100% idéntico. En otras palabras, no hay absolutamente ninguna manera de devolver contenido diferente para cada uno (lo que puede hacer con las URL de directorio).
DisgruntledGoat
1
@DisgruntledGoat si deja de lado la barra diagonal final y el servidor redirige y luego agregar una barra diagonal final en los enlaces evitaría que el servidor tenga que volver a cargar en la página. Eso es todo a lo que me estaba refiriendo, para dejar esta charla de cortesía
Anagio
55
@Anagio Ese artículo trata sobre barras diagonales finales para directorios , mientras que esta pregunta trata solo sobre una barra diagonal final en el dominio . Como dice la respuesta anterior, no hace ninguna diferencia, porque un enlace example.como example.com/ambos requieren exactamente la misma solicitud al servidor.
DisgruntledGoat
3
... porque el navegador "corregirá" esto.
hasta el