xela una tipos sirve significado qué que partes para logo funciona definicion como url

una - ¿Debería la URL ser sensible a las mayúsculas?



url xela (14)

la pregunta es si la url es sensible a mayúsculas y minúsculas?

No veo uso o buena práctica detrás de las URL sensibles a las mayúsculas y minúsculas. Es estúpido, apesta y debe evitarse en todo momento.

Solo para respaldar mi opinión, cuando alguien pregunta qué URL, ¿cómo podría explicar qué caracteres de la URL están en mayúsculas o minúsculas? Eso es una tontería y nadie debería decirte lo contrario.

Me di cuenta que

HTTP://STACKOVERFLOW.COM/QUESTIONS/ASK

y

http://stackoverflow.com/questions/ask

ambos funcionan bien - en realidad el anterior se convierte a minúsculas.

Creo que esto tiene sentido para el usuario.

Si miro a Google, entonces esta URL funciona bien:

http://www.google.com/intl/en/about/corporate/index.html 

pero este con "ABOUT" no funciona:

http://www.google.com/intl/en/ABOUT/corporate/index.html 

¿Debería la URL ser sensible a mayúsculas y minúsculas?


Antigua pregunta, pero tropecé aquí, así que, ¿por qué no intentarlo ya que la pregunta está buscando una perspectiva diferente y no una respuesta definitiva?

w3c puede tener sus recomendaciones, que me importan mucho, pero quiero replantearme ya que la pregunta está aquí.

¿Por qué w3c considera que los nombres de dominio no distinguen entre mayúsculas y minúsculas y dejan algo después que no lo hacen?

Estoy pensando que la razón es que la parte del dominio de la URL está escrita a mano por un usuario. Todo después de ser hipertexto será resuelto por la máquina (navegador y servidor en la parte posterior).

Las máquinas pueden manejar la insensibilidad de las cajas mejor que los humanos (no el tipo técnico :)).

Pero la pregunta es solo porque las máquinas PUEDEN manejar eso, ¿debería hacerse de esa manera?

Me refiero a cuáles son los beneficios de nombrar y acceder a un recurso que se encuentra en hereIsTheResource vs hereistheresource ?

El lateral es muy ilegible que el de camello, que es más legible. Legible para los humanos (incluido el tipo técnico).

Así que aquí están mis puntos:

Resource Path se ubica en algún lugar en medio de la estructura de programación y, en ocasiones, está cerca de un usuario final detrás del navegador.

Su URL (excluyendo el nombre de dominio) debe ser sensible a mayúsculas y minúsculas si se espera que los usuarios lo toquen o lo escriban, etc. Debe desarrollar su aplicación para EVITAR que los usuarios escriban la ruta lo más posible.

Su URL (excluyendo el nombre de dominio) debe distinguir entre mayúsculas y minúsculas si sus usuarios nunca lo escriben a mano.

Conclusión

La ruta debe ser sensible a mayúsculas y minúsculas. Mis puntos están pesando hacia los caminos sensibles al caso.


Considera lo siguiente:

https://www.example.com/createuser.php?name=Paul%20McCartney

En este ejemplo hipotético, un formulario HTML, que utiliza el método GET, envía el parámetro "nombre" a un script PHP que crea una nueva cuenta de usuario.

Y lo que estoy señalando con este ejemplo es que este parámetro GET debe ser sensible a mayúsculas y minúsculas para preservar el uso de mayúsculas de "McCartney" (o, como otro ejemplo, para preservar "Walter d''Isney", ya que hay otras formas para que los nombres rompan las reglas de capitalización habituales).

Es en casos como este los que guían la recomendación de W3C de que el esquema y el host no distinguen entre mayúsculas y minúsculas, pero todo lo que sigue es potencialmente sensible a mayúsculas y minúsculas, y se deja en manos del servidor. Forzar la insensibilidad de mayúsculas y minúsculas según el estándar haría que el ejemplo anterior sea incapaz de preservar el caso de la entrada de usuario pasada como un parámetro de consulta GET.

Pero lo que diría es que aunque esta es necesariamente la letra de la ley para acomodar tales casos, el espíritu de la ley es que, cuando el caso es irrelevante, se comporta de una manera insensible al caso. Sin embargo, los estándares no pueden decirle dónde el caso es irrelevante porque, como los ejemplos que he dado, es algo que depende del contexto.

(p. ej., un nombre de usuario de la cuenta es probablemente el mejor forzado a la insensibilidad de mayúsculas y minúsculas, ya que "User123" y "user123" son cuentas diferentes que pueden resultar confusas, incluso si su nombre real, como el anterior, es mejor dejarlo en mayúsculas y minúsculas).

A veces es relevante, la mayoría de las veces no lo es. Pero debe dejarse en manos del desarrollador del servidor / web para decidir estas cosas, y no puede ser prescrito por el estándar, ya que solo en ese nivel se podría conocer el contexto.

El esquema y el host no distinguen entre mayúsculas y minúsculas (lo que muestra la preferencia del estándar por la insensibilidad a las mayúsculas, donde se puede prescribir universalmente). El resto depende de usted para decidirlo, ya que comprende mejor el contexto. Pero, como se ha discutido, probablemente debería, en el espíritu de la ley, dejar de lado la insensibilidad a los casos, a menos que tenga una buena razón para no hacerlo.


Creo que esta y muchas de las respuestas en torno a lo que dice o no dice la especificación no están entendiendo el punto de la pregunta. ¿Deben ser sensibles a mayúsculas y minúsculas? Esa es una pregunta cargada realmente. Desde el punto de vista de un usuario, la sensibilidad a las mayúsculas y minúsculas es un punto de dolor, no todos saben que hace una diferencia. La pregunta de si los URI deberían o no deberían ser, depende del contexto de la pregunta. Por flexibilidad técnica, sí, deberían serlo. Por usabilidad, no, no deberían ser.


Depende del sistema de alojamiento. Los sitios que están alojados en Windows tienden a no distinguir entre mayúsculas y minúsculas, ya que el sistema de archivos subyacente no distingue entre mayúsculas y minúsculas. Los sitios alojados en sistemas de tipo Unix tienden a distinguir entre mayúsculas y minúsculas, ya que sus sistemas de archivos subyacentes suelen ser sensibles a las mayúsculas. La parte del nombre de host de la URL siempre distingue entre mayúsculas y minúsculas, lo que varía es el resto de la ruta.


Es posible hacer URLs que no sean mayúsculas

RewriteEngine on rewritemap lowercase int:tolower RewriteCond $1 [A-Z] RewriteRule ^/(.*)$ /${lowercase:$1} [R=301,L]

Hacer Google.com..GOOGLE.com, etc. directamente a google.com


La parte del nombre de dominio de una URL no HTTP://EN.EXAMPLE.ORG/ entre HTTP://EN.EXAMPLE.ORG/ y minúsculas ya que DNS ignora el caso: http://en.example.org/ y HTTP://EN.EXAMPLE.ORG/ ambos abren la misma página.

La ruta se utiliza para especificar y tal vez encontrar el recurso solicitado. Es sensible a las mayúsculas y minúsculas, aunque puede tratarse como no sensible a las mayúsculas y minúsculas en algunos servidores, especialmente en aquellos basados ​​en Microsoft Windows.

Si el servidor distingue entre mayúsculas y minúsculas y http://en.example.org/wiki/URL es correcto, entonces http://en.example.org/WIKI/URL o http://en.example.org/wiki/url mostrará una página de error HTTP 404, a menos que estas URL apunten recursos válidos por sí mismas.


Las URL deben ser sensibles a mayúsculas y minúsculas, a menos que exista una buena razón para que no lo sean.

Esto no es obligatorio (no es parte de un RFC) pero hace que la comunicación y el almacenamiento de las URL sea mucho más confiable.

Si tengo dos páginas en un sitio web:

http://.com/ABOUT.html

y

http://.com/about.html

¿Cómo deberían diferir? Tal vez uno esté escrito ''estilo de grito'' (mayúsculas), pero desde un punto de vista de IA, la distinción nunca debe hacerse mediante un cambio en el caso de la URL.

Además, es fácil de implementar esto en Apache; simplemente use CheckSpelling On desde mod_Speling.


Los caracteres de la URL se convierten en código hexadecimal (si alguna vez notó que los espacios en las URL se muestran como% 20, etc.), y como las mayúsculas y las minúsculas tienen valores hexadecimales diferentes, tiene mucho sentido que las URL sean claramente sensibles a las mayúsculas y minúsculas. Sin embargo, el espíritu de la pregunta parece ser DEBERÍA ser el estándar y yo digo que no, pero lo son. Depende del desarrollador / proveedor dar cuenta de esto en su código si quieren que funcione independientemente de un usuario final.


No soy un fanático de los artículos antiguos, pero como esta fue una de las primeras respuestas para este problema en particular, sentí la necesidad de aclarar algo.

Como la respuesta de @Bhavin Shah indica que la parte del dominio de la url no distingue entre mayúsculas y minúsculas, entonces

http://google.com

y

http://GOOGLE.COM

y

http://GoOgLe.CoM

son todos iguales pero todo lo que se encuentra después de la parte del nombre de dominio se considera sensible a las mayúsculas y minúsculas

asi que...

http://GOOGLE.COM/ABOUT

y

http://GOOGLE.COM/about

son diferentes.

Nota: estoy hablando "técnicamente" y no "literalmente" en muchos casos, en la mayoría de los casos, los servidores están configurados para manejar estos elementos por igual, pero es posible configurarlos para que NO se manejen de la misma manera.

Los diferentes servidores manejan esto de manera diferente y, en algunos casos, deben ser sensibles a las mayúsculas y minúsculas. En muchos casos, los valores de las cadenas de consulta están codificados (como los Id. De sesión o los datos codificados en Base64 que se pasan como un valor de cadena de consulta) Estos elementos distinguen entre mayúsculas y minúsculas por su naturaleza, por lo que el servidor debe ser sensible a las mayúsculas en su manejo.

Entonces, para responder a la pregunta, "los servidores" deben tener en cuenta las mayúsculas y minúsculas al capturar estos datos, la respuesta es "sí, definitivamente".

Por supuesto, no todo debe ser sensible a las mayúsculas y minúsculas, pero el servidor debe ser consciente de lo que es y cómo manejar esos casos.

El comentario de @Hart Simha básicamente dice lo mismo. Me lo perdí antes de publicar, por lo que quiero dar crédito a quien se debe.


Para los sitios web alojados en un servidor Linux, la URL distingue entre mayúsculas y minúsculas. http://www.google.com/about y http://www.google.com/About serán redirigidos a diferentes ubicaciones. Mientras se encuentra en un servidor de Windows, la URL distingue entre mayúsculas y minúsculas, como al nombrar una CARPETA y se redirigirá a la misma ubicación.


Según " HTML y URL " de W3, deberían:

Puede haber URL, o partes de URL, donde el caso no importa, pero identificarlas puede no ser fácil. Los usuarios siempre deben considerar que las URL distinguen entre mayúsculas y minúsculas.


Todos los " insensibles " están en negrita para facilitar la lectura.

Los nombres de dominio no distinguen entre mayúsculas y minúsculas según RFC 4343 . El resto de la URL se envía al servidor a través del método GET. Esto puede ser sensible a mayúsculas o no.

Tome esta página, por ejemplo, .com recibe la cadena GET / questions / 7996919 / should-url-be-mayúsculas y minúsculas , enviando un documento HTML a su navegador. .com no distingue entre mayúsculas y minúsculas porque produce el mismo resultado para /QUEStions/7996919/Should-url-be-case-sensitive .

Por otro lado, Wikipedia distingue entre mayúsculas y minúsculas, excepto el primer carácter del título. Las URL https://en.wikipedia.org/wiki/Case_sensitivity y https://en.wikipedia.org/wiki/case_sensitivity llevan al mismo artículo, pero https://en.wikipedia.org/wiki/CASE_SENSITIVITY devuelve 404.