¿Cuál es la diferencia entre "image/png" e "image/x-png"?¿Cuál es la diferencia entre "image/png" e "image/x-png"?
Respuesta
El prefijo x-
se da a los tipos MIME no estándar (es decir, no registrados en IANA). Así que supongo que image/x-png
habría sido PNG antes de que se estandarizara el tipo MIME.
6.3. New Content-Transfer-codificaciones
implementadores pueden, si es necesario, definir los valores de Content-Transfer-Encoding privadas, sino que debe utilizar una x-token, que es un nombre con el prefijo “
X-
”, para indicar su no-estándar estado, e. g., "Content-Transfer-Encoding: x-my-new-encoding
". Los valores adicionales estandarizados de Content-Transfer-Encoding deben ser especificados por un estándar-track RFC. Los requisitos que tales especificaciones deben cumplir se dan en RFC 2048. Como tal, todo el espacio de nombres de codificación de transferencia de contenido excepto que que comienza con "X-
" está explícitamente reservado al IETF para el uso futuro de .- RFC 2045 — Multipurpose Internet Mail Extensions, Section 6.3
Esto también está documentado en la especificación PNG. Ver FalseVinylShrub's answer.
Según Wikipedia's article on Internet Media Types y the article it cita ...
tipos o subtipos que comienzan con x son no estándar
así que yo creo "image/x-png" es, probablemente, restos de los días en que png era bastante nuevo, y como tal, no estandarizados.
Prefiero citar la fuente real, que, por cierto , se vincula directamente después de la frase citada :-) – Joey
En realidad, eso es una cita, no una cita ... el RFC original no contiene las palabras que cito;) pero entiendo lo que quieres decir y agregué un enlace al mismo. –
imagen/x-png fue el tipo antes de que PNG fuera aceptada por la IANA como un tipo de mimo oficial.
http://www.iana.org/assignments/media-types/image/
La imagen/png tipo oficial MIME para PNG, aprobada el 14 de octubre de 1996
Según http://www.w3.org/TR/PNG/#A-Media-type
El Internet tipo de medio "image/png "es el tipo de medios de Internet para PNG [RFC-2045], [RFC-2048]. Se recomienda que las implementaciones también reconozcan el tipo de medio "image/x-png".
Por lo tanto, si está entregando o cargando una imagen PNG, 'image/png' es la correcta para usar. Sin embargo, si acepta cargas o interpreta el tipo de medio, se recomienda que acepte.
Por cierto, encontré una referencia de 2008 de que Internet Explorer (versión no especificada) estaba cargando imágenes PNG con un tipo de imagen/x-png, por lo que este era un problema real para alguien tan recientemente como eso.
Puedo confirmar que IE está "x-png" ingiéndolos en IE8. –
- 1. Localización e internacionalización, ¿cuál es la diferencia?
- 2. ¿Cuál es la diferencia entre IDREF e IDREFS en XSD?
- 3. ¿Cuál es la diferencia entre Scope_Identity(), Identity(), @@ Identity e Ident_Current()?
- 4. ¿Cuál es la diferencia entre WAS e IIS?
- 5. ¿Cuál es la diferencia entre identidad e igualdad en OOP?
- 6. ¿Cuál es la diferencia entre las interfaces IComparable e IEquatable?
- 7. ¿Cuál es la diferencia entre "protegido" e "interno protegido"?
- 8. Cuál es la diferencia entre Add-PsSnapIn e Import-Module
- 9. ¿Cuál es la diferencia entre NHibernate e iBATIS.NET?
- 10. ¿Cuál es la diferencia entre IEnumerator e IEnumerable?
- 11. Erlang: ¿cuál es la diferencia entre "include_lib" e "include"?
- 12. ¿Cuál es la diferencia entre una clave principal e identidad?
- 13. ¿Cuál es la diferencia entre objeto e instancia?
- 14. ¿Cuál es la diferencia entre "privado" e "interno protegido"?
- 15. ¿Cuál es la diferencia entre import java.util. *; e importar java.util.Date; ?
- 16. ¿Cuál es la diferencia entre Tarea e hilo?
- 17. ¿Cuál es la diferencia entre ObservableCollection e INotifyPropertyChanged?
- 18. ¿Cuál es la diferencia entre size_t e int en C++?
- 19. ¿Cuál es la diferencia entre mutable e inmutable?
- 20. Cuál es la diferencia entre 'índice' e 'índice de lista'
- 21. ¿Cuál es la diferencia entre Convert.Int32() e Int32.Parse()?
- 22. ¿Cuál es la diferencia entre IDelegateEvent e IEvent en F #?
- 23. ¿Cuál es la diferencia entre AxInterop e Interop?
- 24. Cuál es la diferencia entre IQueryable e IEnumerable
- 25. ¿cuál es la diferencia entre invalidateList e invalidateDisplayList?
- 26. ¿cuál es la diferencia entre IVT e IDT?
- 27. ¿Cuál es la diferencia entre require e include con php?
- 28. en Java ¿cuál es la diferencia entre, E, T
- 29. ¿Cuál es la diferencia entre IFF_UP e IFF_RUNNING?
- 30. Cuál es la diferencia entre DetachedCriteria e ICriteria
Acepto esta respuesta porque es más completa.¿Pero podrías doblar en la información de FalseVinylShrub en IE para que todo esté en un solo lugar? –
Hm, encontré la información en IE menos valiosa que la especificación PNG como una fuente difícil. – Joey
Lol eso es porque no estás tratando de entender por qué todos los png vienen de la misma compañía, pero solo un usuario los está cargando como X-Pngs :) –