Pregunta ¿Qué significa la "//" en "http://serverfault.com/questions/ask"?


Uso las URL todo el tiempo escribiéndolas con y sin "//" después de la "http:"pero que hace el"//"realmente defienden?


4
2017-10-16 18:26


origen




Respuestas:


Slashdot tenía un artículo sobre esto hace un par de días. Tim Berners-Lee indica que no hubo ninguna razón particular por la que los dos cortes estén allí (ver también http://bits.blogs.nytimes.com/2009/10/12/the-webs-inventor-regrets-one-small-thing/).

Personalmente, me gusta la idea de este estilo de URL:

http:/com/example/www/blah1/blah.html

No hay un "nombre de host" explícito en dicha URL. Si su granja de servidores "www.example.com" se sobrecarga con las solicitudes al recurso "/ blah1", simplemente cree un registro DNS "blah1.www.example.com" y apúntelo a otra granja de servidores web que aloja " / com / example / blah1 "jerarquía de recursos.

Sin duda, tal idea tiene implicaciones de DNS, y seguramente no sucederá ahora (más que de repente tener relojes que funcionan en sentido contrario a las agujas del reloj), pero creo que habría funcionado bastante bien.

Edición: SRV RR para sitios web también habría sido muy bueno. Hell-- SRV RR's para cualquier cosa sería bueno.


9
2017-10-16 18:31



¿Puede realmente tener un reloj en el sentido contrario a las agujas del reloj, ya que en el sentido de las agujas del reloj es, por definición, la dirección en que corre el reloj? - CesarB
¿Qué es un SRV RR? - non sequitor
SRV es un tipo de registro de recursos en el sistema de nombres de dominio. Leer en.wikipedia.org/wiki/SRV_record para detalles. - joschi


Hay una respuesta para eso en Preguntas frecuentes de Tim Berners-Lee (enlace encontrado en la discusión sobre slashdot mencionada en la respuesta de @Evan Anderson). Básicamente, copió la sintaxis del nombre de archivo de Apolo  Dominio, donde el inicio de una ruta con una barra doble seguida del nombre de una computadora se usó para acceder de manera transparente a los archivos en otras computadoras (una sola barra sigue siendo el directorio raíz). Simplemente lo adelantó con el protocolo, en este caso. http.

Ese caso especial todavía existe en los estándares de Unix, donde dos barras inclinadas al principio de un nombre de archivo Puede ser interpretado de una manera definida por la implementación. (tres o más barras son equivalentes a una sola). Y la misma convención se usa ampliamente en Windows, solo con barras invertidas en lugar de barras diagonales (se le llama Ruta UNC ahí).


3
2017-10-16 20:00



Otro comentario slashdot relevante: tech.slashdot.org/comments.pl?sid=1404183&cid=29744723 - CesarB
"dos barras al principio de un nombre de archivo pueden interpretarse de una manera definida por la implementación" Nunca escuchado eso antes +1 - wfaulk


xx: // se utiliza para especificar el protocolo utilizado, es un doble / por lo que no se puede confundir con solo ser una subcarpeta.


2
2017-10-16 18:30



Sí, pero "//" es perfectamente legal en una URL. Muchos servidores web simplemente lo tratan como "/" y siguen adelante. - Evan Anderson
Los servidores web (o cualquier software que use URI) tienen que tratar "//" como "/" en el segmento de ruta de los URI. Es posible que desee leer la sección 6 ("Normalización y comparación") de RFC 3986 (ietf.org/rfc/rfc3986.txt). - joschi


Tim Berners-Lee admite que esto tenía la intención de separar el protocolo de la dirección, pero resultó ser innecesario.

http://www.theinquirer.net/inquirer/news/1558680/berners-lee-regrets-double-slash


1
2017-10-16 18:31



Esto es útil cuando quiere encadenar dos o más protocolos o pseudo-protocolos, incluso si, creo, no es estándar. Firefox y Chrome IIRC lo usan para mostrar la fuente, algo así como: source:blah.com - niXar


Ver RFC 1738Sección 3.1:

Si bien la sintaxis para el resto de la URL puede variar según el esquema particular seleccionado, los esquemas de URL que implican el uso directo de un protocolo basado en IP para un host específico en Internet usan una sintaxis común para los datos específicos del esquema:

//<user>:<password>@<host>:<port>/<url-path>

Algunas o todas las partes "<user>:<password>@", ":<password>",       ":<port>"y "/<url-path>" puede ser excluido El esquema especifico      los datos comienzan con una barra diagonal doble "//" para indicar que cumple con      La sintaxis del esquema de Internet común.


1
2017-10-16 19:08





Piensa que literalmente significa "¡Whack! ¡Whack!", Desde los tiempos realmente tempranos en los que realmente obtener una conexión a un sitio exigía algo de vudú y tenías que sacrificar (whack) no uno, sino DOS pollos para complacer a los WorldWideWeamons ... :)


1
2017-10-16 20:40





Significa la raíz de la dirección.


0
2017-10-16 18:29



Vi a Tim Berners-Lee decir esto en una entrevista, aunque no recuerdo dónde. - notandy