http核心模組 node

2022-06-16 14:57:15 字數 1490 閱讀 9479

ttp超文字傳輸協議

* 協議至少雙方 -> http雙方!!

* 客戶端(瀏覽器) -> 伺服器 bs

- 原生應用(qq) -> 伺服器 cs

* 就是資料如何傳輸

* 特點:

* 一問一答(先有請求,後有響應)

* 5大特點:

* 輕便/ 簡單快速 支援客戶/伺服器模式

* 無連線(不為每乙個請求保持住鏈結)

* 無狀態( 伺服器不記得客戶端是誰 ) -> cookie

#### 請求與響應互動的過程

* 見圖

#### 主體物件(核心物件http)

* 伺服器物件 ```http.createserver();```

* 客戶端物件```http.request();```

* 請求報文物件(對於伺服器來說,是可讀) req

* 響應報文物件(對於伺服器來說,是可寫) res

#### 狀態碼分類

* 1 開頭,正在進行中

* 2開頭,完成

* 3開頭 ,重定向

* 4開頭 , 客戶端異常

* 5開頭, 伺服器異常

#### 建立伺服器步驟

* 1:引入http核心物件

* 2:利用http核心物件的.createserver(callback); 建立伺服器物件

* 3:使用伺服器物件.listen(埠,ip位址) 開啟伺服器

* 4:callback(req,res) 根據請求處理響應

#### 請求報文物件(唯讀)

* 請求首行中的url `req.url `

* 請求首行中的請求方式 `req.method`

* 請求頭中的資料`req.headers` 是乙個物件

* 頭資訊中,也可以作為與伺服器互動的一種途徑

#### 響應物件

* 響應首行 `res.writehead(狀態碼)`

* 寫響應頭

* 一次性寫回頭資訊

* `res.writehead(200,headers)`

* 多次設定頭資訊

* `res.setheader(key,value);`

* 寫響應體

* 一次性寫回響應體

* `res.end();`

* 多次寫回響應體

* `res.write();`

#### 請求與響應

* 頭行體

* content-type是對請求或者響應體資料,做出的說明

#### 響應體資料

* res.write('字串'||讀出檔案的二進位制資料)

* res.end('字串'||讀出檔案的二進位制數)

#### 獲取請求體資料

* **對比

* 瀏覽器: $('#xx').on('submit',function(e))

* 伺服器: req.on('data',function(d))

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...

node核心 http模組

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

Node高階 核心模組http簡介

大多數nodejs開發者都是衝著開發web server的目的選擇了nodejs。正如官網所展示的,借助http模組,可以幾行 就搞定乙個超迷你的web server。在nodejs中,http可以說是最核心的模組,同時也是比較複雜的乙個模組。上手很簡單,但一旦深入學習,不少初學者就會覺得頭疼,不知...