¿Cómo codificar el parámetro del nombre de archivo del encabezado Content-Disposition en HTTP?

plicaciones web que quieren forzar un recurso a ser descargado en lugar de directamente prestados en un navegador web emite unContent-Disposition encabezado en la respuesta HTTP del formulario:

Content-Disposition: attachment; filename=FILENAME

Losfilenamel parámetro @ se puede utilizar para sugerir un nombre para el archivo en el que el navegador descarga el recurso. @RFC 2183 (Content-Disposition), sin embargo, establece en sección 2.3 (El parámetro de nombre de archivo) que el nombre de archivo solo puede usar caracteres US-ASCII:

a gramática @Current [RFC 2045] restringe los valores de los parámetros (y, por lo tanto, los nombres de los archivos de disposición de contenido) a US-ASCII. Reconocemos la gran conveniencia de permitir conjuntos de caracteres arbitrarios en los nombres de archivo, pero está fuera del alcance de este documento definir los mecanismos necesarios.

Sin embargo, existe evidencia empírica de que los navegadores web más populares de la actualidad parecen permitir caracteres que no son ASCII de EE. UU. Todavía (por falta de un estándar) no están de acuerdo con el esquema de codificación y la especificación del juego de caracteres del nombre del archivo. La pregunta es, entonces, ¿cuáles son los diversos esquemas y codificaciones empleados por los navegadores populares si el nombre de archivo "naïvefile" (sin comillas y donde la tercera letra es U + 00EF) necesita codificarse en el encabezado Content-Disposition?

A los efectos de esta pregunta,populares navegadores siendo

FirefoxExplorador de InterneSafarGoogle ChromÓper

Respuestas a la pregunta(34)

Su respuesta a la pregunta