最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node.js中http模塊和url模塊的簡單介紹

 更新時間:2017年10月06日 10:03:28   作者:倩兒愛甜食  
這篇文章主要給大家簡單介紹了關(guān)于node.js中的http模塊和url模塊,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用node.js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

本文主要給大家介紹了關(guān)于node.js中http模塊與url模塊的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹吧。

一、http模塊的簡單介紹

node.js當(dāng)中的http內(nèi)置模塊可以用于創(chuàng)建http服務(wù)器與http客戶端。

1、引包

const http = require('http');

2、創(chuàng)建http服務(wù)器

var server = http.createServer((req,res)=>{

});

使用http的.createServer()方法可以用于返回一個http服務(wù)器實例,用自定義的server變量來接收。當(dāng)該服務(wù)器每次接收到客戶端的請求時觸發(fā)調(diào)用其內(nèi)部的回調(diào)函數(shù),客戶端每訪問一次,都會觸發(fā)調(diào)用一次。該回調(diào)函數(shù)有兩個參數(shù),req和res,順序不可顛倒,req表示請求request,res表示響應(yīng)response。

該回調(diào)函數(shù)內(nèi)部語句的一定要有res.end(); ,因為如果沒有,瀏覽器會認(rèn)為一直沒有得到服務(wù)器的響應(yīng),則瀏覽器一直會處于被掛起的狀態(tài),此時瀏覽器內(nèi)部有一個超時機(jī)制,一旦超時,則會報告錯誤。
該回調(diào)函數(shù)當(dāng)中的常用代碼語句有:

設(shè)置響應(yīng)頭,res.writeHead(狀態(tài)碼,{});其中HTTP狀態(tài)碼常用的有200(成功返回)、404(找不到該頁面,返回錯誤)等。第二個參數(shù)傳入一個對象,用于設(shè)置響應(yīng)文本的渲染解析類型。如常用的有對于html代碼設(shè)置為,res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"}); 。對于css文件的設(shè)置為res.writeHead(200,{"Content-Type":"text/css"}); 。對于圖片的設(shè)置為res.writeHead(200,{"Content-Type":"image/jpg"}); 。對于純文本的設(shè)置為res.writeHead(200,{"Content-Type":"text/plain"});設(shè)置返回的內(nèi)容,res.write('');

3、讓該服務(wù)器監(jiān)聽特定的端口號

用server這個自定義的變量來表示創(chuàng)建的服務(wù)器來監(jiān)聽某個指定的端口號。server.listen(3000,'192.168.155.1');外界客戶端可以通過這個ip地址和端口號來訪問這個服務(wù)器。

此時表示該服務(wù)器處于掛起的狀態(tài),此時在瀏覽器當(dāng)中輸入對應(yīng)的ip地址與端口號即可得到服務(wù)端響應(yīng)的內(nèi)容。

二、url模塊的簡單介紹

const http = require('http');
var server = http.createServer((req,res)=>{
 console.log(req.url);
 res.end();
});
server.listen(3000,'192.168.155.1');

使用node命令開啟這個服務(wù)器時,可以在控制臺實時打印出訪問的客戶端的url地址信息。

由于在通過chrome瀏覽器的方式在進(jìn)行訪問時,每次訪問都會默認(rèn)附帶一次/favicon.ico的請求,在解析客戶端真正在瀏覽器的訪問地址時,可以做如下處理:

const http = require('http');
var server = http.createServer((req,res)=>{
 if(req.url == '/favicon.ico'){
  return;
 };
 console.log(req.url);
 res.end();
});
server.listen(3000,'192.168.155.1');


如上圖所示,我們通過req.url可以得到用戶完整的請求地址,我們可以利用內(nèi)置的url模塊對用戶的請求地址進(jìn)行解析。

1、引包

const url = require('url');

2、常用的是url.parse(req.url)

該方法常用的是把一個完整的url地址分解為一個對象。

const http = require('http');
const url = require('url');
var server = http.createServer((req,res)=>{
 if(req.url == '/favicon.ico'){
  return;
 };
 console.log(url.parse(req.url));
 res.end();
});
server.listen(3000,'192.168.155.1');


其中最常用的是url.parse(req.url).pathname得到一個文件路徑的字符串,以/開頭,并且不包括查詢部分的內(nèi)容。使用url.parse(req.url).query可以得到一個查詢部分的字符串。其中url.parse()方法的第二個參數(shù)是true,可以將所有的查詢變?yōu)閷ο笮问健?/p>

 console.log(url.parse(req.url,true).query);


通過這種方式可以快速得到客戶端通過GET方式向服務(wù)器提交的數(shù)據(jù)。

總結(jié)

以上就是這篇文章的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論

新源县| 东乌珠穆沁旗| 东乡县| 崇文区| 遂溪县| 西贡区| 巫溪县| 象州县| 静宁县| 阿尔山市| 厦门市| 宣威市| 蒲江县| 龙口市| 苍山县| 晴隆县| 云阳县| 祁东县| 竹山县| 蕲春县| 梨树县| 洪雅县| 嘉善县| 巍山| 山阳县| 射洪县| 天峻县| 潮安县| 宁陵县| 东光县| 九江县| 巴塘县| 和林格尔县| 横山县| 道真| 海门市| 隆德县| 乌拉特后旗| 邛崃市| 阳江市| 林口县|