欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node.js中的HTTP請求與響應(yīng)詳解

 更新時間:2022年07月06日 10:48:02   作者:社會主義接班人  
本文詳細講解了Node.js中的HTTP請求與響應(yīng),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在C#、OC中也是客戶端發(fā)起一個請求,服務(wù)端作出響應(yīng)。我們可以把這個過程抽象理解 .

  • 1.客戶端給服務(wù)端發(fā)起請求相當(dāng)于向服務(wù)端寫入一個流(writable)
  • 2.服務(wù)端讀取客戶端的流(readable)
  • 3.服務(wù)端向客戶端作出響應(yīng)相當(dāng)于向客戶端寫入一個流(writable)
  • 4.客戶端讀取服務(wù)端的響應(yīng)(readable)

整個流程分為兩部分一是客戶端的處理而是服務(wù)端的處理.最主要的還是客戶端請求和服務(wù)端響應(yīng).

一、http.ClientRequest對象

它實現(xiàn)了writable流,可以使用它的所有功能。http模塊中使用http.request(options,callback)方法來生成該對象。

1.options主要包括以下幾個可選:

host :服務(wù)器域名或IP地址,默認localhost

hostname:與host相同,但對url.parse()的支持優(yōu)于host.

port:端口

localAddress:網(wǎng)絡(luò)連接的本地接口

socketPath:Unix域套接字(使用host:port或socketPath)

method:請求方法 :GET、POST等默認GET

path:請求的資源路徑默認/.也可包括查詢字符串

headers:請求頭

auth:身份認證

agent:代理.如果使用Agent,則請求默認為Connection:keep-alive.可能的值有undefined,Agent,false

2.ClientRequest提供的事件與方法

事件:

response:當(dāng)從服務(wù)器收到該請求的響應(yīng)時發(fā)出。該回調(diào)處理程序接收一個IncomingMessage對象作為唯一的參數(shù)。

socket:當(dāng)一個套接字分配給該請求時發(fā)出。

connect:當(dāng)服務(wù)器響應(yīng)一個由CONNECT方法發(fā)起的一個請求時發(fā)出。如果該事件未被客戶端處理,那么該連接將關(guān)閉

upgrade:當(dāng)服務(wù)器響應(yīng)在其標(biāo)頭包括一個更新請求的請求時發(fā)出

continue:當(dāng)服務(wù)器發(fā)送一個100ContinueHTTP響應(yīng),指示客戶端發(fā)送請求正文時發(fā)出

方法:

write()、end()和writable流一樣

abort():終止請求。

setTimeout(timeout,[callback]):設(shè)置請求超時時間

setNoDelay([noDelay]):noDelay布爾值,true立即寫入,false緩沖寫入

setSocketKeepAlive([enable],[initualDelay]):啟用和禁用對客戶機請求的保持活動功能。initualDelay指定最后一個數(shù)據(jù)包和第一個保持活動請求之間的延遲。

二、http.ServerResponse對象

和http.ClientRequest對象一個也是實現(xiàn)了writable流。也可實現(xiàn)writable流的功能,另外還包括下面的事件屬性和方法。

事件或?qū)傩?

  • close:在Response.End()刷新響應(yīng)之前關(guān)閉時發(fā)出。
  • headersSent:布爾值.已發(fā)送為true.只讀。
  • sendDate:布爾值,true時,Date標(biāo)頭自動生成,并作為響應(yīng)的一部分發(fā)送
  • statusCode:無須顯示的寫入標(biāo)頭來指定響應(yīng)狀態(tài)碼。

方法:

writeContinue():發(fā)送一個HTTP/1.1 100 Continue消息給客戶端,請求被發(fā)送的正文內(nèi)容

writeHead(statusCode,[reasonPhrase],[headers]):把一個響應(yīng)標(biāo)頭寫入請求。statusCode參數(shù)是HTTP響應(yīng)狀態(tài)代碼,reasonPhrase是字符串,表示StatusCode的原因.headers是響應(yīng)標(biāo)頭對象。response.writeHead(200,'Success',{'Content-Length':body.length,'Content-Type':'text/plain'});

setTimeout(msecs,callback):設(shè)置客戶端連接的超時時間。

setHeader(name,value):設(shè)置標(biāo)頭值。

getHeader(name):獲取標(biāo)頭值。

removeHeader(name):移除標(biāo)頭。

addTrailers(headers):將http尾隨標(biāo)頭寫入響應(yīng)的結(jié)束處。

三、客戶端響應(yīng)和服務(wù)端請求

上面一二主要是writable流的,readable流的包括客戶端響應(yīng)和服務(wù)端請求。它們都是一個對象:IncomingMessage對象。

IncomingMessage對象長成什么樣子可以把它輸出來看.由于IncomingMessage對象對于我們開發(fā)的來說不經(jīng)常用,所以看看就好。

var http=require("http")
var options={
    hostname:'www.baidu.com',
    path:'',
    port:'80',
    method:'GET'
};
var  req=http.request(options,function(response){
    console.log(response);
});
req.end();

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用C/C++編寫node.js原生模塊的方法教程

    利用C/C++編寫node.js原生模塊的方法教程

    這篇文章主要給大家介紹了關(guān)于利用C/C++編寫node.js原生模塊的相關(guān)資料,文中將實現(xiàn)的步驟一步步的介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編來一起看看吧。
    2017-07-07
  • 利用Node.js如何實現(xiàn)文件循環(huán)覆寫

    利用Node.js如何實現(xiàn)文件循環(huán)覆寫

    這篇文章主要給大家介紹了關(guān)于利用Node.js如何實現(xiàn)文件循環(huán)覆寫的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Node.js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • async/await與promise(nodejs中的異步操作問題)

    async/await與promise(nodejs中的異步操作問題)

    這篇文章主要介紹了async/await與promise(nodejs中的異步操作問題),非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • 使用nvm和nrm優(yōu)化node.js工作流的方法

    使用nvm和nrm優(yōu)化node.js工作流的方法

    這篇文章主要介紹了使用nvm和nrm優(yōu)化node.js工作流的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • Node如何實現(xiàn)在瀏覽器預(yù)覽項目的所有圖片詳解

    Node如何實現(xiàn)在瀏覽器預(yù)覽項目的所有圖片詳解

    最近項目遇到了個需求,需要將存放圖片進行預(yù)覽,所以這篇文章主要給大家介紹了關(guān)于Node如何實現(xiàn)在瀏覽器預(yù)覽項目的所有圖片的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • Node.js Koa2使用JWT進行鑒權(quán)的方法示例

    Node.js Koa2使用JWT進行鑒權(quán)的方法示例

    這篇文章主要介紹了Node.js Koa2使用JWT進行鑒權(quán)的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • autojs的Node.js正確退出腳本示例

    autojs的Node.js正確退出腳本示例

    這篇文章主要為大家介紹了autojs的Node.js正確退出腳本示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • nodejs導(dǎo)出excel的方法

    nodejs導(dǎo)出excel的方法

    這篇文章主要介紹了nodejs導(dǎo)出excel的方法,實例分析了nodejs導(dǎo)出excel的詳細步驟與相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • 理解nodejs的stream和pipe機制的原理和實現(xiàn)

    理解nodejs的stream和pipe機制的原理和實現(xiàn)

    本篇文章主要介紹了理解nodejs的stream和pipe機制的原理和實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 使用node.js 獲取客戶端信息代碼分享

    使用node.js 獲取客戶端信息代碼分享

    本文給大家分享一段使用node.js 獲取客戶端信息的代碼,非常的簡潔,推薦給大家。
    2014-11-11

最新評論