簡體   English   中英

Node JS Proper Content-Type用於響應

[英]Node JS Proper Content-Type for responses

是否有理由我不應該將所有內容類型都以二進制形式發送? 我對正確的http有點天真,但它似乎適用於所有內容。 我將以這種方式工作會遇到哪些陷阱?

如果將樣式表作為“內容類型”二進制文件發送,則IE9不會呈現它。 它拒絕呈現不是text / css的任何樣式表。 這足以阻止人們不使用IE9訪問您的網站。

更不用說其他好處,例如瀏覽器根據用戶偏好來不同地處理特定內容類型。

http://blogs.msdn.com/b/ieinternals/archive/2011/03/27/http-406-not-acceptable-php-ie9-standards-mode-accepts-only-text_2f00_css-for-stylesheets.aspx

在這里編輯 ,您可以使用它,這將使確定內容類型更加容易。 該模塊將有兩種方法。 getExt和getContentType。 如果將擴展名傳遞給getContentType,它將返回該文件的Content-Type。 我不是編譯所有內容類型的人,不幸的是我忘了在哪里找到它的...

https://gist.github.com/976610

如果指定正確的內容類型,則請求文件的應用程序/瀏覽器可以正確處理它

例如,如果您正在下載pdf文件,則瀏覽器會知道如何處理內容類型“ application / pdf”,並且會直接在瀏覽器中打開文件,如果不知道該類型,它只會詢問您下載文件

瀏覽器還允許您指定一個特定的程序,您可以從中打開特定類型的文件,例如,如果您下載洪流文件,則可以告訴您的瀏覽器使用uTorrent打開它,而下次下載洪流文件時,也將直接通過uTorrent打開

在Node.js中,您可以執行以下操作來獲取文件的內容類型:

type = require('mime').lookup(path);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM