此模塊會觸發(fā)以下事件
Event: 'request'
function (request, response) { }
request 是http.ServerRequest 的一個實例,而response 則是http.ServerResponse 的一個實例
Event: 'connection'
function (stream) { }
當一個新的TCP stream 建立后發(fā)出此消息。stream 是一個net.Stream 的對象,通常用戶不會訪問/使用這個事件。 參數(shù)stream 也可以在request.connection 中訪問到.
Event: 'close'
function (errno) { }
當服務(wù)器關(guān)閉的時候觸發(fā)此事件。
Event: 'request'
function (request, response) {}
每個請求發(fā)生的時候均會被觸發(fā)。請記住,每個連接可能會有多個請求(在keep-alive 連接情況下)
Event: 'upgrade'
function (request, socket, head)
每當一個客戶端請求一個http upgrade 時候發(fā)出此消息。如果這個事件沒有監(jiān)聽,那么請求upgrade 的客戶端對 應(yīng)的連接將被關(guān)閉。
1.參數(shù)“request”代表一個http 請求,和'request'事件的參數(shù)意義相同。
2.socket 是在服務(wù)器與客戶端之間連接用的網(wǎng)絡(luò)socket
3.head 是Buffer 的一個實例,是upgraded stream(升級版stream....應(yīng)當就是http upgrade)所發(fā)出的第一個包,這個參數(shù)可以為空。
當此事件被觸發(fā)后,該請求所使用的socket 并不會有一個數(shù)據(jù)事件的監(jiān)聽者,這意味著你如果需要處理通過這個 SOCKET 發(fā)送到服務(wù)器端的數(shù)據(jù)的話則需要自己綁定數(shù)據(jù)事件監(jiān)聽器
Event: 'clientError'
function (exception) {}
如果一個客戶端連接的'error'事件被觸發(fā),此函數(shù)將被執(zhí)行。
http.createServer(requestListener)
返回一個新的web server 對象。
requestListener 是一個會去自動監(jiān)聽'request'事件的函數(shù)。
server.listen(port, [hostname], [callback])
在指定端口和主機名上接受連接。如果hostname 沒有寫,這個服務(wù)器將直接在此機器的所有IPV4地址上接受連 接(INADDR_ANY).
如果要在UNIX SOCKET 上監(jiān)聽的話,則需要提供一個文件名來替換端口和主機名. 這個方法是一個異步的方法,作為最后一個參數(shù)的回調(diào)方法將在服務(wù)器已經(jīng)在此端口上綁定好后被調(diào)用.
server.listen(path, [callback])
建立一個UNIX SOCKET 服務(wù)器并在指定路徑監(jiān)聽。 這個方法是一個異步的方法,作為最后一個參數(shù)的回調(diào)方法將在服務(wù)器已經(jīng)在此端口上綁定好后被調(diào)用。
server.setSecure(credentials)
允許此服務(wù)器支持HTTS,配合crypto 模塊credentials 指定私鑰以及此服務(wù)器的證書,并且也可選擇數(shù)字中心認 證的證書作為客戶端的認證(方式)。
如果authentication 中有一或多個數(shù)字認證中心證書,則服務(wù)器將請求客戶端發(fā)出一個客戶端證書作為HTTPS 握手的一部分。想要驗證、訪問證書合法性及內(nèi)容則可以通過服務(wù)器的request.connection 的verifyPeer() 以及 getPeerCertificate() 來實現(xiàn)。
server.close()
使此服務(wù)器停止接受任何新連接。
server.maxConnections
設(shè)置此屬性使服務(wù)器的連接數(shù)高于此數(shù)值時拒絕連接。
server.connections
代表當前服務(wù)器的連接數(shù)。
更多建議: