18
วิธีการเข้ารหัสพารามิเตอร์ชื่อไฟล์ของส่วนหัวของเนื้อหาการจัดการใน HTTP?
เว็บแอปพลิเคชันที่ต้องการบังคับให้ดาวน์โหลดทรัพยากรแทนที่จะแสดงผลโดยตรงในเว็บเบราว์เซอร์จะมีContent-Dispositionส่วนหัวในการตอบกลับ HTTP ของแบบฟอร์ม: Content-Disposition: attachment; filename=FILENAME filenameพารามิเตอร์สามารถใช้ในการแนะนำชื่อไฟล์ลงในที่ทรัพยากรที่มีการดาวน์โหลดจากเบราว์เซอร์ อย่างไรก็ตาม RFC 2183 (การจัดการเนื้อหา) ระบุในส่วน 2.3 (พารามิเตอร์ชื่อไฟล์) ที่ชื่อไฟล์สามารถใช้อักขระ US-ASCII เท่านั้น: ไวยากรณ์ [RFC 2045] ปัจจุบัน จำกัด ค่าพารามิเตอร์ (และชื่อไฟล์ Content-Disposition) เป็น US-ASCII เราตระหนักดีถึงความปรารถนาอันยิ่งใหญ่ในการอนุญาตให้มีชุดอักขระโดยพลการในชื่อไฟล์ แต่มันอยู่นอกเหนือขอบเขตของเอกสารนี้เพื่อกำหนดกลไกที่จำเป็น มีหลักฐานเชิงประจักษ์อย่างไรก็ตามเว็บเบราว์เซอร์ยอดนิยมในปัจจุบันดูเหมือนว่าจะอนุญาตอักขระที่ไม่ใช่ US-ASCII (สำหรับการขาดมาตรฐาน) ที่ไม่เห็นด้วยกับรูปแบบการเข้ารหัสและข้อกำหนดชุดอักขระของชื่อไฟล์ คำถามคือรูปแบบและการเข้ารหัสต่างๆที่ใช้โดยเบราว์เซอร์ยอดนิยมคืออะไรถ้าชื่อไฟล์“ naïvefile” (โดยไม่ต้องใส่เครื่องหมายคำพูดและที่ตัวอักษรตัวที่สามคือ U + 00EF) จำเป็นต้องเข้ารหัสในส่วนหัวของเนื้อหา สำหรับจุดประสงค์ของคำถามนี้เบราว์เซอร์ยอดนิยมได้แก่ : Firefox Internet Explorer การแข่งรถวิบาก Google Chrome อุปรากร