Node高階 核心模組http簡介

2021-09-08 12:14:29 字數 1595 閱讀 2481

大多數nodejs開發者都是衝著開發web server的目的選擇了nodejs。正如官網所展示的,借助http模組,可以幾行**就搞定乙個超迷你的web server。

在nodejs中,http可以說是最核心的模組,同時也是比較複雜的乙個模組。上手很簡單,但一旦深入學習,不少初學者就會覺得頭疼,不知從何入手。

本文先從乙個簡單的例子出發,引出http模組最核心的四個例項。看完本文,應該就能夠對http模組有個整體的認識。

在下面的例子中,我們建立了1個web伺服器、1個http客戶端

客戶端client:向伺服器發起請求,並將伺服器返回的內容列印到控制台。

**如下所示,只有幾行,但包含了不少資訊量。下一小節會進行簡單介紹。

// http server 例子

// http client 例子

var client = http.get('', function(clientres));在上面這個簡單的例子裡,涉及了4個例項。大部分時候,serverreq、serverres 才是主角。

先講下 http.serverresponse 例項。作用很明確,服務端通過http.serverresponse 例項,來個請求方傳送資料。包括傳送響應表頭,傳送響應主體等。

接下來是 http.incomingmessage 例項,由於在 server、client 都出現了,初學者難免有點迷茫。它的作用是

在server端:獲取請求傳送方的資訊,比如請求方法、路徑、傳遞的資料等。

在client端:獲取 server 端傳送過來的資訊,比如請求方法、路徑、傳遞的資料等。

http.incomingmessage例項 有三個屬性需要注意:method、statuscode、statusmessage。

備註:socket的客戶端、服務端是相對的概念,所以其實 net.server 內部也是用了 net.socket(不負責任猜想)

// 參考:

var net = require('net');

var port = 8989;

var host = '127.0.0.1';

var server = net.createserver(function(socket));

socket.on('close', function());

});server.listen(port, host);

console.log(server instanceof net.server); // true

http.clientrequest 內部建立了乙個socket來發起請求,**如下。

當你呼叫 http.request(options) 時,內****的

self.onsocket(net.createconnection(options));

Node核心模組Http

let realpath path.join dirname,pathname 拼接真實檔案的路徑 tryelse catch e server.listen 3000,function 複製 let http require http let url require url let path re...

http核心模組 node

ttp超文字傳輸協議 協議至少雙方 http雙方!客戶端 瀏覽器 伺服器 bs 原生應用 qq 伺服器 cs 就是資料如何傳輸 特點 一問一答 先有請求,後有響應 5大特點 輕便 簡單快速 支援客戶 伺服器模式 無連線 不為每乙個請求保持住鏈結 無狀態 伺服器不記得客戶端是誰 cookie 請求與響...

node核心 http模組

node作為伺服器更多的是web伺服器 首先 http是乙個協議。裡面有通訊機制,狀態碼一大堆亂七八糟的東西。自己寫猴年馬月都寫不出來,node通過這個http這個物件幫我們整合。直接用 伺服器物件 http.createsever 快速搭建乙個伺服器,整合好 當訪問localhost 8088 c...