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

Node.js使用http模塊實現(xiàn)后臺服務(wù)器流程解析

 更新時間:2022年09月14日 15:01:16   作者:前端小白在前進  
這篇文章將會教會你前端工程師怎么搭建后臺服務(wù)器,做自己的后端開發(fā),同時,在這篇文章開始你就開始正式進入全棧的道路咯!本片文章將細解http模塊,在開始前我們將復(fù)習(xí)一點計算機網(wǎng)絡(luò)的知識

客戶端與服務(wù)器

客戶端 : 在網(wǎng)絡(luò)節(jié)點中,負責消費資源的電腦,叫做客戶端,例如:在網(wǎng)絡(luò)中你用客戶端與服務(wù)器建立連接,服務(wù)器提供的服務(wù)信息通過你的客戶端給你展示出來。

服務(wù)器 : 負責對外提供網(wǎng)絡(luò)資源的電腦,叫做服務(wù)器。例如:我們在訪問搜索網(wǎng)站時,是誰給你提供你想搜索的資源呢?這個東西就是服務(wù)器,服務(wù)器給你提供你需要的資源! 服務(wù)器和普通電腦的區(qū)別在于:服務(wù)器上安裝了web服務(wù)軟件。例如:Apache等,通過安裝這些服務(wù)器軟件,就可以把一臺普通的電腦變成一臺web服務(wù)器

IP地址

IP 地址就是互聯(lián)網(wǎng)上每臺計算機的唯一地址,因此 IP 地址具有唯一性。如果把“個人電腦”比作“一臺電話”,那么“IP地址”就相當于“電話號碼”,只有在知道對方 IP 地址的前提下,才能與對應(yīng)的電腦之間進行數(shù)據(jù)通信。

IP 地址的格式:通常用“點分十進制”表示成(a.b.c.d)的形式,其中,a,b,c,d 都是 0~255 之間的十進制整數(shù)。例如:用點分十進表示的 IP地址(192.168.1.1)

注意 :

  • 互聯(lián)網(wǎng)中每臺 Web 服務(wù)器,都有自己的 IP 地址。
  • 在開發(fā)期間,自己的電腦既是一臺服務(wù)器,也是一個客戶端,為了方便測試,可以在自己的瀏覽器中輸入127.0.0.1 這個 IP 地址,就能把自己的電腦當做一臺服務(wù)器進行訪問了。

域名和域名服務(wù)器

盡管 IP 地址能夠唯一地標記網(wǎng)絡(luò)上的計算機,但IP地址是一長串數(shù)字,不直觀,而且不便于記憶,于是人們又發(fā)明了另一套字符型的地址方案,即所謂的域名(Domain Name)地址。

域名服務(wù)器:IP地址和域名是一一對應(yīng)的關(guān)系,這份對應(yīng)關(guān)系存放在一種叫做域名服務(wù)器(DNS,Domain name server)的電腦中。使用者只需通過好記的域名訪問對應(yīng)的服務(wù)器即可,對應(yīng)的轉(zhuǎn)換工作由域名服務(wù)器實現(xiàn)。因此,域名服務(wù)器就是提供 IP 地址和域名之間的轉(zhuǎn)換服務(wù)的服務(wù)器。

注意:

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

端口號

計算機中的端口號,就好像是現(xiàn)實生活中的門牌號一樣。通過門牌號,外賣小哥可以在整棟大樓眾多的房間中,準確把外賣送到你的手中。

同樣的道理,在一臺電腦中,可以運行成百上千個 web 服務(wù)。每個 web 服務(wù)都對應(yīng)一個唯一的端口號??蛻舳税l(fā)送過來的網(wǎng)絡(luò)請求,通過端口號,可以被準確地交給對應(yīng)的 web 服務(wù)進行處理。

注意:

??每個端口號不能同時被多個 web 服務(wù)占用。

??在實際應(yīng)用中,URL 中的 80 端口可以被省略(80就是默認的端口號)。

什么是http模塊

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

在 Node.js 中,我們不需要使用 Apache 等這些第三方 web 服務(wù)器軟件。因為我們可以基于 Node.js 提供的 http 模塊,通過幾行簡單的代碼,就能輕松的手寫一個服務(wù)器軟件,從而對外提供 web 服務(wù)。

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

創(chuàng)建web服務(wù)器有四個步驟:

1. 導(dǎo)入我們的http模塊

2. 創(chuàng)建web服務(wù)器實例(http.createServer())

3. 為服務(wù)器實例綁定request事件,監(jiān)聽客戶端的請求(server.on())

4. 啟動服務(wù)器(server.listen())

// 1.導(dǎo)入http模塊
const http = require('http');
//2.創(chuàng)建一個web服務(wù)器實例
const server = http.createServer()
// 3. 為服務(wù)器實例綁定 request 事件,監(jiān)聽客戶端的請求
server.on('request',function(req,res) {
  //req.url 是客戶端請求的 url 地址
  const url = req.url
  req.method 是客戶端請求的method類型
  const method = req.method
  const str = `你請求的url地址是 ${url}, 請求的method類型是 ${method}`
  console.log(str)
  // 設(shè)置 Content-Type 響應(yīng)頭,解決中文亂碼的問題
  res.setHeader('Content-Type', 'text/html; charset=utf-8')
  // 向客戶端響應(yīng)內(nèi)容
  res.end(str)
})
// 4.啟動服務(wù)器
server.listen(80,()=>{
    console.log('服務(wù)啟動了..... http://127.0.0.1:80');
})

只要服務(wù)器接收到了客戶端的請求,就會調(diào)用通過 server.on() 為服務(wù)器綁定的 request 事件處理函數(shù)。

  • req是請求對象,包含了客戶端相關(guān)的屬性和數(shù)據(jù),如果想在事件處理函數(shù)中,訪問與客戶端相關(guān)的數(shù)據(jù)或?qū)傩?例如:可以使用req.url,req.method,分別來判斷客戶端請求的url地址和發(fā)送請求的方法!
  • res是響應(yīng)對象,包含了服務(wù)器相關(guān)的屬性和數(shù)據(jù),在服務(wù)器的 request 事件處理函數(shù)中,如果想訪問與服務(wù)器相關(guān)的數(shù)據(jù)或?qū)傩?,例?: 可以使用res.end()進行在頁面的簡單渲染。
  • 我們還需要設(shè)置一下響應(yīng)頭,為了避免中文亂碼的情況

小結(jié)

node.js的一個最大的好處在于我們不用依靠于第三方web服務(wù)器軟件,我們僅僅通過幾行代碼就可以創(chuàng)建我們的后臺服務(wù)器了,方便我們的開發(fā),而node.js參與的項目中http模塊是一定會使用到的,我們需要依靠的接口與http模塊息息相關(guān)。

學(xué)好http模塊,就意味著我們正式進入全棧的道路咯!

到此這篇關(guān)于Node.js使用http模塊實現(xiàn)后臺服務(wù)器流程解析的文章就介紹到這了,更多相關(guān)Node.js http模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • node.js實現(xiàn)的裝飾者模式示例

    node.js實現(xiàn)的裝飾者模式示例

    這篇文章主要介紹了node.js實現(xiàn)的裝飾者模式,簡單說明了裝飾者模式的原理、功能并結(jié)合實例形式給出了node.js裝飾者模式的實現(xiàn)方法,需要的朋友可以參考下
    2017-09-09
  • yarn與npm的命令行小結(jié)

    yarn與npm的命令行小結(jié)

    想必最近大家對新的JavaScript包管理工具yarn已經(jīng)有所耳聞,并已通過npm i -g yarn進行了安裝,現(xiàn)在想知道怎么樣使用嗎?如果你了解 npm,你已經(jīng)會很大一部分啦!下面是這篇文章從npm切換到y(tǒng)arn的一些筆記。有需要的朋友們可以參考借鑒。下面來一起看看吧。
    2016-10-10
  • windows系統(tǒng)下更新nodejs版本的方案

    windows系統(tǒng)下更新nodejs版本的方案

    這篇文章主要介紹了windows系統(tǒng)下更新nodejs版本的方案,在文章給大家介紹了NodeJS 與 npm 在Windows下升級問題,需要的朋友可以參考下
    2017-11-11
  • 詳解node.js 事件循環(huán)

    詳解node.js 事件循環(huán)

    這篇文章主要介紹了node.js 事件循環(huán)的相關(guān)資料,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • yarn的安裝和使用全網(wǎng)最詳細教程

    yarn的安裝和使用全網(wǎng)最詳細教程

    Yarn是facebook發(fā)布的一款取代npm的包管理工具,本文給大家介紹yarn的安裝和使用全網(wǎng)最詳細教程,感興趣的朋友一起看看吧
    2023-12-12
  • 初探nodeJS

    初探nodeJS

    本文主要介紹了nodeJS的基礎(chǔ)知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • Node.js添加API限流與日志優(yōu)化詳解

    Node.js添加API限流與日志優(yōu)化詳解

    這篇文章主要介紹了Node.js添加API限流與日志優(yōu)化的相關(guān)資料,以增強API的穩(wěn)定性和可維護性,API限流功能可以防止惡意請求和DDoS攻擊,優(yōu)化后的日志記錄系統(tǒng)則可以幫助我們更好地跟蹤和調(diào)試應(yīng)用,快速定位問題,需要的朋友可以參考下
    2024-11-11
  • 簡單實現(xiàn)nodejs上傳功能

    簡單實現(xiàn)nodejs上傳功能

    這篇文章主要為大家詳細介紹了如何簡單實現(xiàn)nodejs上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 手寫簡版無三方依賴的Node-Server實現(xiàn)示例

    手寫簡版無三方依賴的Node-Server實現(xiàn)示例

    這篇文章主要為大家介紹了手寫簡版無三方依賴的Node-Server實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • 詳解nodejs異步I/O和事件循環(huán)

    詳解nodejs異步I/O和事件循環(huán)

    本篇文章主要介紹了nodejs異步I/O和事件循環(huán),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論