亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

node.js?http模塊概念詳解

 更新時(shí)間:2022年01月24日 15:19:59   作者:六葉草~  
http?模塊是?Node.js?官方提供的、用來創(chuàng)建?web?服務(wù)器的模塊。通過?http?模塊提供的http.createServer()?方法,就能方便的把一臺(tái)普通的電腦,變成一臺(tái)?Web?服務(wù)器,從而對(duì)外提供?Web?資源服務(wù),本文給大家介紹node.js?http模塊的相關(guān)知識(shí),感興趣的朋友一起看看吧

node.js-http模塊

服務(wù)器相關(guān)概念什么是 http 模塊。

服務(wù)器相關(guān)概念

IP地址
IP地址:是互聯(lián)網(wǎng)設(shè)備的唯一標(biāo)識(shí)。只有在知道對(duì)方 IP 地址的前提下,才能與對(duì)應(yīng)的電腦之間進(jìn)行數(shù)據(jù)通信。

IPV4:點(diǎn)分十進(jìn)制表示(32位) 192.168.101.15
IPV6:采用冒號(hào)十六進(jìn)制表示(128位) 4A::5B::...

注意
在開發(fā)期間,自己的電腦既是一臺(tái)服務(wù)器,也是一個(gè)客戶端,127.0.0.1 這個(gè)IP 地址就是本機(jī)測(cè)試地址,方便測(cè)試。

域名

域名平時(shí)上網(wǎng)所使用的網(wǎng)址。IP地址與域名是對(duì)應(yīng)的關(guān)系,在瀏覽器的地址欄中輸入域名,會(huì)有專門的服務(wù)器將域名解析為對(duì)應(yīng)的IP地址,從而找到對(duì)應(yīng)的服務(wù)器。

注意
▲ 單純使用 IP 地址,互聯(lián)網(wǎng)中的電腦也能夠正常工作。但是有了域名的加持,能讓互聯(lián)網(wǎng)的世界變得更加方便。
▼ 在開發(fā)測(cè)試期間, 127.0.0.1 對(duì)應(yīng)的域名是 localhost,它們都代表我們自己的這臺(tái)電腦,在使用效果上沒有任何區(qū)別。

端口
Node.js開發(fā)者習(xí)慣使用3000作為Node.js服務(wù)器的端口,一般來說,不使用0到1024之間的數(shù)字,因?yàn)檫@是操作系統(tǒng)軟件,以及常用軟件占用的端口。

注意

▲ 每個(gè)端口號(hào)不能同時(shí)被多個(gè) web 服務(wù)占用。
▼在實(shí)際應(yīng)用中,URL 中的 80 端口可以被省略。

URL
URL又叫統(tǒng)一資源定位符,它是專為標(biāo)識(shí)Internet網(wǎng)上資源位置而設(shè)的一種編址方式。

什么是 http 模塊

http 模塊是 Node.js 官方提供的、用來創(chuàng)建 web 服務(wù)器的模塊。通過 http 模塊提供的http.createServer() 方法,就能方便的把一臺(tái)普通的電腦,變成一臺(tái) Web 服務(wù)器,從而對(duì)外提供 Web 資源服務(wù)。

http模塊的作用

◆在網(wǎng)絡(luò)節(jié)點(diǎn)中,負(fù)責(zé)消費(fèi)資源的電腦,叫做客戶端;負(fù)責(zé)對(duì)外提供網(wǎng)絡(luò)資源的電腦,叫做服務(wù)器。

◆服務(wù)器和普通電腦的 區(qū)別 在于,服務(wù)器上安裝了 web 服務(wù)器軟件,例如:IIS、Apache 等。通過安裝這些服務(wù)器軟件,就能把一臺(tái)普通的電腦變成一臺(tái) web 服務(wù)器。

◆在 Node.js 中,我們不需要使用 IIS、Apache 等這些第三方 web 服務(wù)器軟件。因?yàn)槲覀兛梢曰?Node.js 提供的http 模塊,通過幾行簡(jiǎn)單的代碼,就能輕松的手寫一個(gè)服務(wù)器軟件,從而對(duì)外提供 web 服務(wù)。

創(chuàng)建最基本的web服務(wù)器

創(chuàng)建web 服務(wù)器的步驟

★導(dǎo)入 http 模塊
★ 創(chuàng)建 web 服務(wù)器實(shí)例
★為服務(wù)器實(shí)例綁定 request 事件,監(jiān)聽客戶端的請(qǐng)求
★啟動(dòng)服務(wù)器

//1 - 導(dǎo)入 http 模塊
const http = require('http')
//2 - 創(chuàng)建 web 服務(wù)器實(shí)例(調(diào)用 http.createServer() 方法)
const server = http.createServer()
//3 - 為服務(wù)器實(shí)例綁定 request 事件
server.on('request', (req, res) => {
    //request事件,只要有客戶端來請(qǐng)求我們自己的服務(wù)器,就會(huì)觸發(fā)request事件,從而調(diào)用這個(gè)函數(shù)
    console.log('服務(wù)器被訪問')
})
//4 - 啟動(dòng)服務(wù)器  (3000是端口, 后面是回調(diào)函數(shù))127.0.0.1 對(duì)應(yīng)的域名是 localhost
server.listen(3000, () => {
    console.log('服務(wù)器運(yùn)行在3000端口,請(qǐng)?jiān)L問http://localhost:3000')
})

req請(qǐng)求對(duì)象

request 對(duì)象中常用的有三個(gè)屬性,分別是:req.url req.method req.headers

req.url:客戶端的請(qǐng)求地址。
req.method :客戶端的請(qǐng)求方法。
req.headers:客戶端的請(qǐng)求頭信息。

//1 - 導(dǎo)入 http 模塊
const http = require('http')
//2 - 創(chuàng)建 web 服務(wù)器實(shí)例(調(diào)用 http.createServer() 方法)
const server = http.createServer()
//3 - 為服務(wù)器實(shí)例綁定 request 事件
server.on('request', (req, res) => {
    //request事件,只要有客戶端來請(qǐng)求我們自己的服務(wù)器,就會(huì)觸發(fā)request事件,從而調(diào)用這個(gè)函數(shù)
    console.log(req.method);
    console.log(req.url);
    console.log(req.headers);
    console.log('服務(wù)器被訪問')
})
//4 - 啟動(dòng)服務(wù)器  (3000是端口, 后面是回調(diào)函數(shù))127.0.0.1 對(duì)應(yīng)的域名是 localhost
server.listen(3000, () => {
    console.log('服務(wù)器運(yùn)行在3000端口,請(qǐng)?jiān)L問http://localhost:3000')
})

在這里插入圖片描述

res 響應(yīng)對(duì)象

在服務(wù)器的 request 事件處理函數(shù)中,如果想訪問與服務(wù)器相關(guān)的數(shù)據(jù) 或?qū)傩???赏ㄟ^res.end()
res.end() 方法的作用: 就是向客戶端發(fā)送指定的內(nèi)容,并且結(jié)束掉此次請(qǐng)求的處理過程。

//1 - 導(dǎo)入 http 模塊
const http = require('http')
//2 - 創(chuàng)建 web 服務(wù)器實(shí)例(調(diào)用 http.createServer() 方法)
const server = http.createServer()
//3 - 為服務(wù)器實(shí)例綁定 request 事件
server.on('request', (req, res) => {
    //request事件,只要有客戶端來請(qǐng)求我們自己的服務(wù)器,就會(huì)觸發(fā)request事件,從而調(diào)用這個(gè)函數(shù)
    res.end('Hello word');
})
//4 - 啟動(dòng)服務(wù)器  (3000是端口, 后面是回調(diào)函數(shù))127.0.0.1 對(duì)應(yīng)的域名是 localhost
server.listen(3000, () => {
    console.log('服務(wù)器運(yùn)行在3000端口,請(qǐng)?jiān)L問http://localhost:3000')
})

中文亂碼問題

當(dāng)調(diào)用 res.end() 方法,向客戶端發(fā)送中文內(nèi)容的時(shí)候,會(huì)出現(xiàn)亂碼問題,此時(shí),需要手動(dòng)設(shè)置內(nèi)容的編碼格式:res.setHeader('content-Type','text/html; charset=utf-8')

//1 - 導(dǎo)入 http 模塊
const http = require('http')
//2 - 創(chuàng)建 web 服務(wù)器實(shí)例(調(diào)用 http.createServer() 方法)
const server = http.createServer()
//3 - 為服務(wù)器實(shí)例綁定 request 事件
server.on('request', (req, res) => {
    //request事件,只要有客戶端來請(qǐng)求我們自己的服務(wù)器,就會(huì)觸發(fā)request事件,從而調(diào)用這個(gè)函數(shù)
    res.setHeader('content-Type','text/html; charset=utf-8')
    res.end('你好,世界');
})
//4 - 啟動(dòng)服務(wù)器  (3000是端口, 后面是回調(diào)函數(shù))127.0.0.1 對(duì)應(yīng)的域名是 localhost
server.listen(3000, () => {
    console.log('服務(wù)器運(yùn)行在3000端口,請(qǐng)?jiān)L問http://localhost:3000')
})

到此這篇關(guān)于node.js http模塊的文章就介紹到這了,更多相關(guān)node.js http模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Node項(xiàng)目部署到云服務(wù)器上

    詳解Node項(xiàng)目部署到云服務(wù)器上

    本篇文章主要介紹了詳解Node項(xiàng)目部署到云服務(wù)器上,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • 簡(jiǎn)單了解node npm cnpm的具體使用方法

    簡(jiǎn)單了解node npm cnpm的具體使用方法

    這篇文章主要介紹了簡(jiǎn)單了解node npm cnpm的具體使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • 詳解nodejs 文本操作模塊-fs模塊(一)

    詳解nodejs 文本操作模塊-fs模塊(一)

    這篇文章主要介紹了詳解nodejs 文本操作模塊-fs模塊(一),本篇文章詳細(xì)的介紹了文件及目錄的讀寫操作,有興趣的可以了解一下。
    2016-12-12
  • npm?install?404問題解決方案

    npm?install?404問題解決方案

    這篇文章主要給大家介紹了關(guān)于npm?install?404問題解決的相關(guān)資料,npm install命令既可以下載服務(wù)器上的模塊,也可以在本地創(chuàng)建自己的模塊,需要的朋友可以參考下
    2023-08-08
  • 解決Mac安裝thrift因bison報(bào)錯(cuò)的問題

    解決Mac安裝thrift因bison報(bào)錯(cuò)的問題

    今天小編就為大家分享一篇解決Mac安裝thrift因bison報(bào)錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Node.js 使用request模塊下載文件的實(shí)例

    Node.js 使用request模塊下載文件的實(shí)例

    今天小編就為大家分享一篇Node.js 使用request模塊下載文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Nodejs使用Mongodb存儲(chǔ)與提供后端CRD服務(wù)詳解

    Nodejs使用Mongodb存儲(chǔ)與提供后端CRD服務(wù)詳解

    這篇文章主要給大家介紹了關(guān)于Nodejs使用Mongodb存儲(chǔ)與提供后端CRD服務(wù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • Node.js學(xué)習(xí)教程之HTTP/2服務(wù)器推送【譯】

    Node.js學(xué)習(xí)教程之HTTP/2服務(wù)器推送【譯】

    這篇文章主要給大家介紹了關(guān)于Node.js學(xué)習(xí)教程之HTTP/2服務(wù)器推送的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • 2019最新21個(gè)MySQL高頻面試題介紹

    2019最新21個(gè)MySQL高頻面試題介紹

    又到了一年的面試季,今年情況特殊,很多人可能都窩在家里,也有一些人準(zhǔn)備找工作,但是疫情嚴(yán)重,也沒企業(yè)發(fā)招聘信息。這個(gè)時(shí)候,最好的做法就是在家里刷面試題
    2020-02-02
  • nodejs模塊nodemailer基本使用-郵件發(fā)送示例(支持附件)

    nodejs模塊nodemailer基本使用-郵件發(fā)送示例(支持附件)

    本篇文章主要介紹了nodejs模塊nodemailer基本使用-郵件發(fā)送示例(支持附件),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03

最新評(píng)論