2009-10-15 25 views
19

¿Existe un límite de longitud para la parte del fragmento de una URL (también conocida como hash)?Longitud máxima de fragmentos de URL (hash)

+0

No hay un estándar para el hash ya que solo está en el lado del cliente, pero el límite es generalmente [muy alto] (http://stackoverflow.com/a/25759637/405550). – Zaz

Respuesta

13

El hash es solamente el lado del cliente, por lo que las reglas para HTTP no puede aplicarse a la misma.

+0

El "hash" es en realidad el Fragmento URL y no se envía al servidor, por lo que no se aplica la limitación de longitud desde la perspectiva del servidor . –

7

Depende del navegador. Encontré que en Safari, Chrome y Firefox, una URL con un hash largo es legal, pero si se trata de un parámetro enviado al servidor, el navegador mostrará un error 414 o 413.

por ejemplo: una URL como http://www.stackoverflow.com/?abc#{hash value with 100 thousand characters} estará bien. y puede usar location.hash para obtener el valor de hash en javascript, pero una URL como http://www.stackoverflow.com/?abc&{query with 100 thousand characters} será ilegal, si pega este enlace en la barra de direcciones, se dará un código de error 413 y el mensaje es the client issued a request that was too long. Si ese es un enlace en una página web, en mi computadora, Nginx responde el mensaje de error 414.

No sé la situación en IE.

Así que creo que la limitación de la longitud de la URL es solo para la transmisión o el servidor HTTP, el navegador lo verificará a veces, pero no siempre, y siempre se podrá usar como hash.

Cuestiones relacionadas