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

1、http模塊的簡單介紹

node.js當中的http內置模塊能夠用於建立http服務器與http客戶端。css

一、引包
const http = require('http');
二、建立http服務器
var server = http.createServer((req,res)=>{

});

使用http.createServer()方法能夠用於返回一個http服務器實例,用自定義的server變量來接收。當該服務器每次接收到客戶端的請求時觸發調用其內部的回調函數,客戶端每訪問一次,都會觸發調用一次。該回調函數有兩個參數,reqres,順序不可顛倒,req表示請求request,res表示響應response
該回調函數內部語句的必定要有res.end();,由於若是沒有,瀏覽器會認爲一直沒有獲得服務器的響應,則瀏覽器一直會處於被掛起的狀態,此時瀏覽器內部有一個超時機制,一旦超時,則會報告錯誤。
該回調函數當中的經常使用代碼語句有:
設置響應頭,res.writeHead(狀態碼,{});其中HTTP狀態碼經常使用的有200(成功返回)、404(找不到該頁面,返回錯誤)等。第二個參數傳入一個對象,用於設置響應文本的渲染解析類型。如經常使用的有對於html代碼設置爲,res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});。對於css文件的設置爲res.writeHead(200,{"Content-Type":"text/css"});。對於圖片的設置爲res.writeHead(200,{"Content-Type":"image/jpg"});。對於純文本的設置爲res.writeHead(200,{"Content-Type":"text/plain"});設置返回的內容,res.write('');html

三、讓該服務器監聽特定的端口號

server這個自定義的變量來表示建立的服務器來監聽某個指定的端口號。server.listen(3000,'192.168.155.1');外界客戶端能夠經過這個ip地址和端口號來訪問這個服務器。node

此時表示該服務器處於掛起的狀態,此時在瀏覽器當中輸入對應的ip地址與端口號便可獲得服務端響應的內容。chrome

2、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命令開啓這個服務器時,能夠在控制檯實時打印出訪問的客戶端的url地址信息。瀏覽器

因爲在經過chrome瀏覽器的方式在進行訪問時,每次訪問都會默認附帶一次/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能夠獲得用戶完整的請求地址,咱們能夠利用內置的url模塊對用戶的請求地址進行解析。函數

一、引包
const url = require('url');
二、經常使用的是url.parse(req.url)

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

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獲得一個文件路徑的字符串,以/開頭,而且不包括查詢部分的內容。使用url.parse(req.url).query能夠獲得一個查詢部分的字符串。其中url.parse()方法的第二個參數是true,能夠將全部的查詢變爲對象形式。url

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

經過這種方式能夠快速獲得客戶端經過GET方式向服務器提交的數據。spa

相關文章
相關標籤/搜索