2011-08-16 12 views
6

Hay un número de campos que un usuario puede completar donde ingresarían una URL (su sitio web personal, sitio comercial, sitios favoritos, etc.).¿Se debe almacenar "http: //" con un registro de base de datos de una URL?

Es lo único que entrarían en ese campo en particular.

¿Debo eliminar siempre "http: //" para mantener la coherencia y reducir también la posibilidad de enlaces rotos (es decir, "http //")?

Simplemente no estoy seguro de cuál es la mejor manera de almacenar URLs.

+3

¿Hay alguna razón para eliminarlo? ¿Qué hay de distinguir entre eso y HTTPS? Diría que una URL con un protocolo es más útil que una sin él. –

+0

Por consistencia. Entonces Joe Schmoe puede ingresar "http: //" mientras que Bob Smith no puede ingresar. Necesito que sea consistente cuando publico el enlace. – Shpigford

+0

en casos de https, si utiliza tipos http, el servidor redirige automáticamente a https. así que incluso si se agrega el http, no se hace daño. – nonouco

Respuesta

6

Si hay una razón para desinfectar la entrada de sus usuarios (seguridad, tamaño, velocidad, precisión ...), hágalo.

De lo contrario, no lo haga.

En realidad, hay un beneficio en tomar sus datos de entrada de clientes como están. Poseen sus propios errores tipográficos o de ortografía, enlaces rotos, etc. de esa manera. Siempre que no le cause ningún problema (es decir, no tenga una razón para desinfectarlo).

BTW - la coherencia es un punto discutible, ya que no cambiará el tipo de datos, y puede verificar fácilmente el "http: //" y agregarlo o eliminarlo según sea necesario en las capas de presentación con un función utilizable

5

Por lo que yo sé que en realidad no se puede llamar una "URL", sin tener la parte del protocolo:

http://www.w3.org/Addressing/URL/url-spec.txt

no sería eliminarlo.

Sin embargo, si realmente necesita mantener la coherencia de los datos, realmente depende de cómo se escribió la URL realmente en su aplicación. Si es una aplicación similar a un navegador, apostaría a que se supone que es http: // en el frente si no hay ninguno, para enlaces válidos.

Cuestiones relacionadas