Node.js HTTP標頭

2018-02-17 11:02 更新

設置標頭

你可以使用response.setHeader(name,value)在響應中顯式排隊任何HTTP標頭。

響應中的Content-Type是我們可以設置的標頭,以通知客戶端如何解釋來自服務器的數(shù)據(jù)。

例如,如果你向客戶端發(fā)送HTML文件,你應將Content-Type設置為text/html,可以使用以下代碼:

response.setHeader("Content-Type", "text/html"); 

Content-Type標頭的值的正式名稱稱為MIME類型。

幾個關(guān)鍵內(nèi)容類型的MIME類型如下表所示。

名稱MIME類型
超文本標記語言(HTML)text/html
級聯(lián)樣式表(CSS)text/css
JavaScriptapplication/javascript
JavaScript對象表示法(JSON)application/json
JPEG圖像image/jpeg
便攜式網(wǎng)絡圖形(PNG)image/png

有一個名為mime(npm install mime)的NPM包,你可以使用它從文件擴展名獲取官方mime類型。

下表顯示了如何使用它。

var mime = require("mime"); 
mime.lookup("/path/to/file.txt"); // => "text/plain" 
mime.lookup("file.txt"); // => "text/plain" 
mime.lookup(".TXT"); // => "text/plain" 
mime.lookup("htm"); // => "text/html" 

你可以使用response.getHeader函數(shù)獲取排隊等待發(fā)送的標頭:

var contentType = response.getHeader("content-type"); 

你可以使用response.removeHeader函數(shù)從隊列中刪除標頭:

response.removeHeader("Content-Encoding"); 

僅發(fā)送標頭

要顯式發(fā)送標頭并將響應移動到僅限身體模式,調(diào)用response.writeHead成員函數(shù)。

response.writeHead成員函數(shù)接收將被添加到使用response.setHeader排隊的任何頭的狀態(tài)代碼和可選頭。

以下代碼顯示如何將狀態(tài)代碼設置為200,并設置用于提供HTML的Content-Type標頭:

response.writeHead(200, { "Content-Type": "text/html" }); 

請求流的關(guān)鍵成員

請求也是可讀流。

當客戶端想要將數(shù)據(jù)流式傳輸?shù)椒掌鳎ɡ纾募蟼鳎r,這是非常有用的。

客戶端HTTP請求分為頭部和主體部分。

我們可以獲得有關(guān)客戶端請求HTTP標頭的有用信息。

request.headers屬性是一個JavaScript對象字面值的標頭名稱和值。

console.log(request.headers); 

要檢查單個標頭,請像任何其他JavaScript對象字面值一樣索引此對象:

console.log(request.headers["user-agent"]); // "curl/7.30.0" 


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號