¿Por qué se rompe un enlace si escribo ‘.jpg’ en html en lugar de ‘.JPG’? ¿Hay alguna diferencia entre .jpg y .JPG?

La mayoría de los sistemas de archivos distinguen entre mayúsculas y minúsculas, lo que significa que una letra mayúscula se considera una letra diferente a una letra minúscula, incluso cuando un ser humano la consideraría la misma letra.

Entonces, los siguientes serían nombres de archivo diferentes:

IMAGE.JPG
Image.JPG
image.JPG
IMAGEN.jpg
iMaGe.JpG
ImAgE.jPg

… o cualquier otra combinación de letras mayúsculas y minúsculas. Si todos esos archivos estuvieran en el mismo directorio en un servidor web, tendría que usar exactamente la misma combinación de letras mayúsculas y minúsculas al solicitar ese archivo. Y si solicitó “image.jpg” de ese directorio, obtendría un error 404 porque ninguno de esos seis archivos tiene un nombre en minúsculas.

Ahora, hay una excepción importante: en Windows, el caso no importa. Los sistemas de archivos de Windows no distinguen entre mayúsculas y minúsculas, y todos esos nombres de archivo serían los mismos. Si guardó esos seis archivos en el mismo directorio en el orden en que los enumeré, el segundo sobrescribiría el primero, porque Windows lo ve como el mismo nombre. El tercero sobrescribiría el segundo, y así hasta el final, cuando el último archivo de la lista sería el único en el directorio.

Como puede imaginar, mover archivos entre Windows y servidores web Unix / Linux es realmente molesto a veces.

La respuesta del usuario de Quora es correcta, pero para ser claros, la práctica estándar es usar siempre extensiones en minúsculas, por lo que la solución no es usar “.JPG” en su html, sino convertir sus archivos a “.jpg”.