Wie kodiere ich den Dateinamen-Parameter des Content-Disposition-Headers in HTTP?

Web-Anwendungen, zwingen wollen, eine Ressource zu werden heruntergeladen anstatt direkt gerendert in einem Web-browser-Problem ein Content-Disposition - header in der HTTP-response der form:

Content-Disposition: attachment; filename=FILENAME

Den filename parameter kann verwendet werden, um vorschlagen, einen Namen für die Datei, in die die Ressource des downloads durch den browser. RFC 2183 (Content-Disposition), doch die Staaten in Abschnitt 2.3 (Der Parameter Dateiname) , den Namen der Datei können nur US-ASCII-Zeichen:

Strom [RFC-2045] Grammatik beschränkt
parameter-Werte (und damit
Content-Disposition Dateinamen)
US-ASCII. Wir erkennen das große
wünschenswert ist, dass beliebige
Zeichensätze in Dateinamen, aber es ist
über den Umfang dieses Dokuments zu
definieren Sie die notwendigen Mechanismen.

Gibt es empirische Beweise, jedoch, dass die meisten gängigen Web-Browsern heute scheinen zulassen von nicht-US-ASCII-Zeichen noch (für das fehlen einer standard -) nicht einverstanden sind, auf die Kodierung und Zeichensatz-Angabe der Datei-name. Frage ist dann, was sind die verschiedenen Schemata und Codierungen eingesetzt, die von den gängigen Browsern, wenn Sie die Datei namens "naïvefile" (ohne Anführungszeichen und wobei der Dritte Buchstabe ist U+00EF), die benötigt werden, kodiert in der Content-Disposition-header?

Für die Zwecke dieser Frage, gängigen Browsern:

  • Firefox
  • Internet Explorer
  • Safari
  • Google Chrome
  • Oper

InformationsquelleAutor der Frage Atif Aziz | 2008-09-18

Schreibe einen Kommentar