本文主要簡單介紹了關於node.js中的http模組和url模組,文中透過範例程式碼介紹的非常詳細,對大家學習或使用node.js具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習,希望能幫助大家。
前言
本文主要為大家介紹了關於node.js中http模組與url模組的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
一、http模組的簡單介紹
node.js當中的http內建模組可以用來建立http伺服器與http客戶端。
1、引包
const http = require('http');
2、建立http伺服器
var server = http.createServer((req,res)=>{ });
使用http的.createServer()方法可以用來傳回一個http伺服器實例,用自訂的server變數來接收。當該伺服器每次接收到客戶端的請求時觸發呼叫其內部的回調函數,客戶端每訪問一次,都會觸發呼叫一次。此回呼函數有兩個參數,req和res,順序不可顛倒,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('');
3、讓該伺服器監聽特定的連接埠號碼
用server這個自訂的變數來表示建立的伺服器來監聽某個指定的連接埠號碼。 server.listen(3000,'192.168.155.1');外界客戶端可以透過這個ip位址和連接埠號碼來存取這個伺服器。
此時表示該伺服器處於掛起的狀態,此時在瀏覽器當中輸入對應的ip位址與連接埠號碼即可得到服務端回應的內容。
二、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模組對使用者的請求位址進行解析。
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得到一個檔案路徑的字串,以/開頭,且不包含查詢部分的內容。使用url.parse(req.url).query可以得到一個查詢部分的字串。其中url.parse()方法的第二個參數是true,可以將所有的查詢變成物件形式。
console.log(url.parse(req.url,true).query);
透過這種方式可以快速得到客戶端透過GET方式向伺服器提交的資料。
相關推薦:
#以上是node.js中http模組和url模組簡介的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具