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可以說是最核心的模組,同時也是比較複雜的乙個模組。上手很簡單,但一旦深入學習,不少初學者就會覺得頭疼,不知...