เราพูดได้ไหมว่า node.js เป็นเว็บเซิร์ฟเวอร์


92

ฉันพบว่าฉันสับสนระหว่างกรอบงานเว็บและเว็บเซิร์ฟเวอร์

Apache is a web server.

Tornado is a web server written in Python.

Nginx is a web server written in C

Zend is a web framework in php

Flask/Bottle is a web framework in Python

RoR is a web framework written in Ruby

Express is a web framework written in JS under Node.JS

เราบอกได้ไหมว่า node.js เป็นเว็บเซิร์ฟเวอร์ ??? ฉันสับสนระหว่างเว็บเซิร์ฟเวอร์ / เฟรมเวิร์ก

หาก node.js เป็นเว็บเซิร์ฟเวอร์ไม่ใช่ webframework (Express ทำ) ทำไมเราต้องวาง node.js ทั้งหมดไว้บนเซิร์ฟเวอร์ Nginx ในทางปฏิบัติที่เป็นประโยชน์ ?? คำถามเกี่ยวกับ SO

ใครช่วยได้บ้าง ???

ชุด


4
Tornado เป็นเว็บเซิร์ฟเวอร์ + เว็บเฟรมเวิร์กขนาดเล็ก :) ฉันคิดว่า ezpresso ถูกต้อง Node.js เป็นสภาพแวดล้อมรันไทม์เหมือนกับ JRE ของ Java Node.js ถูกใช้มากขึ้นสำหรับแอปพลิเคชันที่ไม่ใช่เว็บ โปรแกรมที่คุณเขียนด้วย Node.js จะไม่มีความสามารถของเว็บเซิร์ฟเวอร์เว้นแต่คุณจะเพิ่มเข้าไป จริงอยู่ที่ Node.js มีฟังก์ชันเนทีฟระดับสูงที่ช่วยให้คุณสร้างเว็บเซิร์ฟเวอร์ด้วย http.CreateServer (... ) ฟัง (80); แต่ไม่มีเว็บเซิร์ฟเวอร์ในโปรแกรมของคุณเว้นแต่คุณจะเพิ่มสิ่งนี้ ดังนั้น Node.js จึงไม่ใช่เว็บเซิร์ฟเวอร์ แต่คุณใช้ Node.js เพื่อสร้างขึ้นมา
OCDev

1
พูดอย่างเคร่งครัดคุณไม่จำเป็นต้องวางเว็บเซิร์ฟเวอร์ไว้ที่ด้านบนของ Node.js - คุณสามารถเขียนเซิร์ฟเวอร์ขนาดเล็กภายในโปรเจ็กต์โหนดของคุณและให้จัดการกับคำขอเบราว์เซอร์ที่เป็นกิจวัตรทั้งหมดรวมถึงสิ่งที่เฉพาะเจาะจงสำหรับเว็บแอปที่เกี่ยวข้อง แต่สิ่งต่างๆเช่นการเปลี่ยนแปลงหน้าเว็บจะได้รับการจัดการที่ดีกว่าโดยเว็บเซิร์ฟเวอร์เช่น Nginx ดังนั้นแม้ว่าคุณจะไม่ต้องเกี่ยวข้องกับเว็บเซิร์ฟเวอร์กับ Node แต่ก็มักจะฉลาดกว่าที่จะทำเช่นนั้น
ลำต้น

C ++ เป็นเว็บเซิร์ฟเวอร์หรือไม่? ไม่มันเป็นภาษาโปรแกรมที่คุณใช้เขียนได้ เช่นเดียวกันกับ node.js
alfadog67

คำตอบ:


53

เว็บเซิร์ฟเวอร์

เว็บเซิร์ฟเวอร์สามารถอ้างถึงฮาร์ดแวร์ (คอมพิวเตอร์) หรือซอฟต์แวร์ (แอปพลิเคชันคอมพิวเตอร์) ที่ช่วยในการส่งมอบเนื้อหาที่สามารถเข้าถึงได้ผ่านอินเทอร์เน็ต 1

หน้าที่หลักของเว็บเซิร์ฟเวอร์คือการส่งมอบหน้าเว็บตามคำขอไปยังไคลเอนต์ ซึ่งหมายถึงการส่งเอกสาร HTML และเนื้อหาเพิ่มเติมใด ๆ ที่อาจรวมอยู่ในเอกสารเช่นรูปภาพสไตล์ชีตและสคริปต์

เว็บเซิร์ฟเวอร์เป็นพื้นฐานในการส่งคำขอ / เลขหน้าที่ไปยังลูกค้า / ผู้ใช้บนอินเทอร์เน็ต

กรอบงานเว็บ

เฟรมเวิร์กแอปพลิเคชันเว็บคือเฟรมเวิร์กซอฟต์แวร์ที่ออกแบบมาเพื่อรองรับการพัฒนาเว็บไซต์แบบไดนามิกเว็บแอปพลิเคชันและบริการเว็บ กรอบงานมีจุดมุ่งหมายเพื่อลดค่าใช้จ่ายที่เกี่ยวข้องกับกิจกรรมทั่วไปที่ดำเนินการในการพัฒนาเว็บ ตัวอย่างเช่นเฟรมเวิร์กจำนวนมากมีไลบรารีสำหรับการเข้าถึงฐานข้อมูลเฟรมเวิร์กเทมเพลตและการจัดการเซสชันและมักส่งเสริมการนำโค้ดมาใช้ซ้ำ

เว็บเฟรมเวิร์กใช้เว็บเซิร์ฟเวอร์เพื่อส่งคำขอไปยังไคลเอนต์ แต่ไม่ใช่เว็บเซิร์ฟเวอร์

โหนด js

Node.js เป็นแพลตฟอร์มที่สร้างขึ้นบนรันไทม์ JavaScript ของ Chrome เพื่อสร้างแอปพลิเคชันเครือข่ายที่รวดเร็วและปรับขนาดได้อย่างง่ายดาย Node.js ใช้โมเดล I / O ที่ขับเคลื่อนด้วยเหตุการณ์และไม่ปิดกั้นทำให้มีน้ำหนักเบาและมีประสิทธิภาพเหมาะสำหรับแอปพลิเคชันแบบเรียลไทม์ที่ใช้ข้อมูลจำนวนมากซึ่งทำงานบนอุปกรณ์แบบกระจาย

แต่อีกครั้งคุณสามารถสร้างแอป CLI ได้ดังนั้นฉันคิดว่าคุณควรเห็นว่ามันเป็นแพลตฟอร์มในการเขียนโปรแกรมจาวาสคริปต์เพื่อทำงานบนเซิร์ฟเวอร์ของคุณ (คอมพิวเตอร์) โดยใช้ภาษาโปรแกรมJavascript แทนที่จะเป็นเพียงในเบราว์เซอร์เหมือนในตอนแรก ฉันคิดว่าคุณจะเห็นเป็น??Javascript++

คุณยังสามารถเขียนเว็บเซิร์ฟเวอร์ด้วย node.js ดังที่คุณเห็นในหน้าแรกของ node.js ในตอนแรก Ryan กล่าวว่าคุณสามารถวางNginxไว้ด้านหน้า node.js ได้เนื่องจากความเสถียรของโปรเจ็กต์ โครงการนี้ยังเป็นเด็กและยังค่อนข้างสวย Nginx เป็นเว็บเซิร์ฟเวอร์ที่ได้รับการพิสูจน์แล้วว่าจะทำงานต่อไปในขณะที่ node.js สามารถพังได้ จากนั้นผู้ใช้จำนวนมากอีกครั้งเพียงแค่ใช้ node.js สำหรับสิ่งนั้น


6
Node.js เป็นรันไทม์ JavaScript ที่สร้างขึ้นบน
เอ็นจิ้น

1
เว็บเซิร์ฟเวอร์ (apache หรือ nginx) เป็นฮาร์ดแวร์ได้อย่างไร
shadow0359

ฉันคิดว่าคำถามหลักคือ Node.js รับฟังพอร์ต HTTP ตามค่าเริ่มต้นหรือไม่? ถ้าเป็นเช่นนั้นจะจัดประเภทเป็นเซิร์ฟเวอร์ HTTP เช่นกัน
forsberg

1
เราสามารถพูดได้ว่าสี่เหลี่ยมจัตุรัสเป็นสี่เหลี่ยมผืนผ้า แต่ไม่ใช่ทางอื่น คุณกำลังบอกว่า Nodejs เป็นมากกว่าเว็บเซิร์ฟเวอร์? หรือไม่ได้แสดงถึงเว็บเซิร์ฟเวอร์เลย?
CME64

1
@ shadow0359 ช้าไปหน่อย แต่สำหรับใครก็ตามที่อ่านสิ่งนี้เว็บเซิร์ฟเวอร์ไม่ใช่แค่ซอฟต์แวร์ นอกจากนี้ยังสามารถหมายถึงฮาร์ดแวร์ทางกายภาพคอมพิวเตอร์ที่ซอฟต์แวร์กำลังทำงานอยู่
Christoffer

25

ฉันจะบอกว่าNode.jsเป็นRuntime Environmentหรือ Runtime Engine

คำจำกัดความที่ดีที่สุดที่ฉันพบมาจนถึงตอนนี้มาจากบทความของ Rob Gravelle ที่มีชื่อว่า"An Intro to Node.js" :

Node.js เป็นสภาพแวดล้อมรันไทม์ส่วนหนึ่งและไลบรารีส่วนหนึ่งสำหรับการสร้างแอปพลิเคชันเครือข่ายโดยใช้ JavaScript ฝั่งเซิร์ฟเวอร์ ใช้โปรแกรมรันไทม์ JavaScript ของ Chrome เพื่อรันโค้ด JS โดยตรงโดยไม่ต้องใช้แซนด์บ็อกซ์ของเบราว์เซอร์

นอกจากนี้สารานุกรม PCMAG.COM ยังให้คำจำกัดความของ "runtime engine" ดังต่อไปนี้ :

ซอฟต์แวร์ที่แอปพลิเคชันบางอย่างขึ้นอยู่กับการทำงานในคอมพิวเตอร์ รันไทม์เอ็นจิ้นต้องทำงานในคอมพิวเตอร์เพื่อให้แอปพลิเคชันทำงานได้ มีรูทีนและฟังก์ชันทั่วไปที่แอปพลิเคชันต้องการและโดยทั่วไปจะแปลงโปรแกรมซึ่งอยู่ในระหว่างกาลภาษากลางเป็นภาษาเครื่อง

นอกจากนี้บทความ Wikipediaชื่อ "Run-time system" ยังประกาศว่า:

ระบบรันไทม์ (เรียกอีกอย่างว่าระบบรันไทม์สภาพแวดล้อมรันไทม์หรือรันไทม์) ใช้ลักษณะการทำงานพื้นฐานของภาษาคอมพิวเตอร์ไม่ว่าภาษานั้นจะเป็นภาษาคอมไพล์ภาษาที่ตีความภาษาเฉพาะโดเมนที่ฝังหรือถูกเรียกใช้ผ่าน API เช่นเดียวกับ pthreads

... ระบบรันไทม์อาจใช้พฤติกรรมของงานเช่นการวาดข้อความบนหน้าจอหรือการเชื่อมต่ออินเทอร์เน็ต นอกจากนี้ยังทำหน้าที่เป็นเลเยอร์นามธรรมที่ซ่อนความซับซ้อนหรือรูปแบบต่างๆในบริการที่ระบบปฏิบัติการนำเสนอ

มีสภาพแวดล้อมรันไทม์ (หรือแม้แต่แพลตฟอร์มซอฟต์แวร์) เช่น Node.js หรือไม่? ฉันเดาว่า JRE เป็นตัวอย่างที่ดีของสภาพแวดล้อมดังกล่าว Node.js และ JRE - มีหลายอย่างที่เหมือนกัน พวกเขาทั้งหมดมีเครื่องเสมือน (ชนิดหนึ่ง) ไลบรารีคลาสและเฟรมเวิร์กเพื่อใช้งานแอพพลิเคชั่นหลายประเภทรวมถึง CLI

ดังนั้นกลับไปที่คำถามของคุณเราสามารถพูดได้ว่า Node.js เป็นเว็บเซิร์ฟเวอร์หรือไม่? มาเปลี่ยน "Node.js" สำหรับ "JRE" และตอบว่า JRE เป็นเว็บเซิร์ฟเวอร์หรือไม่ คำตอบคือไม่

สิ่งที่เราสามารถพูดได้ก็คือ Node.js เป็นสภาพแวดล้อมรันไทม์ซึ่งอาจใช้เพื่อติดตั้งเว็บเซิร์ฟเวอร์ นั่นคือความคิดของฉัน


คุณเพิกเฉยต่อวัตถุประสงค์ของการมีรันไทม์นั้นตั้งแต่แรก - เช่นเดียวกับความไร้ประโยชน์ของการมีโดยไม่มีโมดูลทั้งหมด [ nodejs.org/docs/latest-v9.x/api/] ซึ่งจำเป็นต่อการทำให้มันทำทุกอย่างที่มีประโยชน์จริงๆ
Trunk

19

การพูดว่า node เป็นเว็บเซิร์ฟเวอร์ก็เหมือนกับการบอกว่า javacript สามารถทำงานได้ภายในเบราว์เซอร์เท่านั้นคุณสามารถพูดได้ แต่มันยังสามารถทำสิ่งอื่น ๆ ได้อีกมากมาย

NodeJS

  1. [สภาพแวดล้อมรันไทม์ Javascript (เครื่องมือ Chrome v8) + ไลบรารีโหนด / API]
  2. สามารถสร้างเว็บเซิร์ฟเวอร์สามารถอธิบายได้ว่าเป็นเซิร์ฟเวอร์แอปพลิเคชัน

ด่วน

  1. เว็บเฟรมเวิร์ก (ใช้เว็บเซิร์ฟเวอร์ของ nodejs เพื่อให้บริการไฟล์)

Nginx

  1. เว็บเซิร์ฟเวอร์

ในการผลิตคนส่วนใหญ่ใช้ Nginx หน้าโหนดเซิร์ฟเวอร์เป็นพร็อกซีเซิร์ฟเวอร์เพื่อให้บริการไฟล์แบบคงที่และองค์ประกอบอื่น ๆ เช่นการแคชการกำหนดเส้นทางเป็นต้น


1
บวกหนึ่งสำหรับการกล่าวถึงว่า NodeJS สามารถใช้สำหรับทั้งเว็บเซิร์ฟเวอร์และแอปพลิเคชันเซิร์ฟเวอร์และสำหรับการกล่าวถึง Express
Yahya

16

ฉันจะจัดประเภท node.js เป็นเซิร์ฟเวอร์เฟรมเวิร์กโดยมีแพ็กเกจที่สามารถใช้เป็นเซิร์ฟเวอร์ HTTP หรือเซิร์ฟเวอร์ WebSocket หรือโปรโตคอลที่คุณกำหนดเองเป็นต้น

เหตุผลที่คุณอาจวาง nginx ไว้หน้าเซิร์ฟเวอร์ node.js ของคุณคือสำหรับการจัดสรรภาระงาน HTTP และการย้อนกลับพร็อกซีในหลาย ๆ เครื่องที่รันแอ็พพลิเคชันเซิร์ฟเวอร์


1
ใช่. เว็บเฟรมเวิร์กช่วยให้คุณเขียนเว็บแอปพลิเคชันซึ่งใช้ HTML และ JavaScript สำหรับ UI และสื่อสารผ่าน HTTP ตัวอย่างของเว็บเฟรมเวิร์ก ได้แก่ Express สำหรับ node.js หรือ Django สำหรับ Python
cmv

คำตอบที่ดีที่สุดของความพยายามทั้งหมด +1.
Trunk

ฉันเดาว่าการติด ngnix จะไม่ใช่วิธีแก้ปัญหาที่เหมาะสมเราสามารถใช้ hs proxy สำหรับการแก้ปัญหา load balncing
Kartikeya Sharma

@cmv ขอโทษที่มาช้าไปคอน !!! คุณต้องใส่ nginx ไว้หน้าโหนด แต่มี Load Balancer อยู่หรือไม่? ฉันสามารถวางโหลดบาลานเซอร์ไว้หน้าอินสแตนซ์ EC2 และทำเพื่อให้มันเชื่อมต่อกับโหนดและจุดสิ้นสุดด่วนได้หรือไม่
lopezdp

4

ฉันรู้สึกเจ็บปวดแค่ไหน!

เช่นเดียวกับหลาย ๆ คนฉันพบว่ามันยากที่จะเข้าถึงสาระสำคัญของ Node.js เพราะคนส่วนใหญ่เขียน / พูดถึงเฉพาะส่วนของ Node ที่พวกเขาคิดว่ามีประโยชน์ - และส่วนที่พวกเขาคิดว่าน่าสนใจมักจะเป็นประโยชน์รองของ Node มากกว่าที่จะเป็นหลัก วัตถุประสงค์. ฉันต้องบอกว่าฉันคิดว่ามันบ้ามากที่มีคนบอกว่า Node เป็นเพียงรันไทม์ JavaScript การใช้ JavaScript ของ Node - และการเลือกรันไทม์ V8 เป็นเพียงการยุติเครื่องมือที่ดีที่สุดสำหรับปัญหาที่นักพัฒนาของ Node ต้องการแก้ไข

จุดประสงค์หลักของ Node คือทำให้การจัดการเหตุการณ์ของผู้ใช้ในเว็บแอปมีประสิทธิภาพมากขึ้น ดังนั้น Node จึงนำโด่งใช้ที่ส่วนหลังของเว็บแอป การจัดการเหตุการณ์ต้องการให้บางสิ่งบางอย่างกำลังรับฟังอยู่ที่เครื่องเซิร์ฟเวอร์สำหรับเหตุการณ์ของผู้ใช้เหล่านี้ ดังนั้นต้องตั้งค่าเซิร์ฟเวอร์ http เพื่อกำหนดเส้นทางแต่ละเหตุการณ์ไปยังสคริปต์ตัวจัดการที่เหมาะสม Node จัดเตรียมเฟรมเวิร์กสำหรับการตั้งค่าเซิร์ฟเวอร์อย่างรวดเร็วเพื่อรับฟังพอร์ตเฉพาะสำหรับคำขอของผู้ใช้ Node ใช้ JavaScript สำหรับการจัดการเหตุการณ์เนื่องจาก JavaScript มีฟังก์ชันการเรียกกลับซึ่งทำให้สามารถระงับงานหนึ่งงานได้จนกว่าจะส่งคืนผลลัพธ์ของงานที่เกี่ยวข้อง มีภาษาอื่น ๆ ไม่มากนักที่มีคุณสมบัตินี้และภาษาที่อาจไม่มีล่ามที่มีประสิทธิภาพเท่ากับรันไทม์ V8 ของ Google นักพัฒนาเว็บส่วนใหญ่รู้จัก JavaScript ดังนั้นจึงไม่มีการเรียนรู้ภาษาเพิ่มเติมด้วย Node ยิ่งไปกว่านั้นการมีฟังก์ชั่นการโทรกลับช่วยให้สามารถวางงานของผู้ใช้ทั้งหมดไว้ในเธรดเดียวโดยไม่ต้องใช้การบล็อกอย่างชัดเจนกับงานที่ต้องการเข้าถึงฐานข้อมูลหรือระบบไฟล์ และนี่คือสิ่งที่นำไปสู่ประสิทธิภาพการดำเนินการที่เหนือกว่าของ Node ภายใต้การใช้งานพร้อมกันอย่างหนัก - จุดประสงค์หลักสำหรับการพัฒนา

เพื่อช่วยให้ผู้ใช้ Node สามารถเขียนโค้ดปลายทางได้อย่างรวดเร็วนักพัฒนาของ Node ยังได้จัดระเบียบทั้งไลบรารี JS ในตัวสำหรับงานประจำ (เช่นเรื่องที่เกี่ยวข้องกับคำขอ HTTP, การเข้ารหัสสตริง (de), สตรีมและอื่น ๆ ) และ NPM (Node Package Manager) repositary : นี่คือชุดแพ็กเกจสคริปต์แบบโอเพนซอร์สที่ดูแลโดยผู้ใช้สำหรับฟังก์ชันมาตรฐานและแบบกำหนดเองต่างๆ โปรเจ็กต์โหนดทั้งหมดอนุญาตให้อิมพอร์ตแพ็กเกจ NPM ไปยังโปรเจ็กต์ผ่าน คำสั่งnpm install ที่กำหนดไว้

คำขอของผู้ใช้ที่จัดการผ่าน Node จะเป็นสิ่งที่จำเป็นสำหรับเว็บแอปเช่นการตรวจสอบความถูกต้องการสืบค้นฐานข้อมูลการจัดการเนื้อหา (Strapi CMS) เป็นต้นทั้งหมดนี้จะถูกส่งไปยังพอร์ต Node (ในกรณีที่การวิเคราะห์ข้อมูลที่ได้รับจากฐานข้อมูลใช้เวลา CPU มากกระบวนการประเภทนี้ควรวางไว้บนเธรดแยกต่างหากดังนั้นจึงไม่ทำให้คำขอของผู้ใช้ที่ง่ายกว่าช้าลง) คำขอของผู้ใช้ประเภทอื่นเช่นการโหลดหน้าเว็บอื่น ดาวน์โหลดไฟล์ CSS / JS / รูปภาพ ฯลฯ เบราว์เซอร์จะส่งต่อไปยังพอร์ตเริ่มต้นบนเครื่องเซิร์ฟเวอร์ซึ่งโปรแกรมเว็บเซิร์ฟเวอร์ (Apache, NGinx ฯลฯ ) จะจัดการกับไฟล์เหล่านี้

ดังนั้นในทางปฏิบัติ Node เป็นเฟรมเวิร์กสำหรับการสร้างเซิร์ฟเวอร์และการจัดการเหตุการณ์อย่างรวดเร็ว แต่เป็นเฟรมเวิร์กที่แทนที่ฟังก์ชันบางอย่างของโปรแกรมเว็บเซิร์ฟเวอร์เท่านั้น

การใช้งานโหนดอื่น ๆ ที่ไม่ใช่แบ็กเอนด์เพียงแค่ใช้ประโยชน์จากคุณสมบัติอย่างใดอย่างหนึ่งเช่นเครื่องยนต์ V8 ตัวอย่างเช่น frontend build tools Grunt และ Gulp ใช้ Node.js ในการประมวลผล build script ที่สามารถเข้ารหัสเพื่อแปลง SASS เป็น CSS ย่อขนาดไฟล์ CSS / JS ปรับขนาด / โหลดรูปภาพให้เหมาะสมเป็นต้น แต่งานประเภทนี้จริงๆ การใช้ Node ผลพลอยได้ไม่ใช่การใช้งานหลักซึ่งมีไว้เพื่อสร้างกระบวนการแบ็กเอนด์ที่มีประสิทธิภาพสำหรับเว็บแอปพลิเคชัน


2

เว็บเซิร์ฟเวอร์คือสิ่งที่ให้บริการลูกค้าผ่านอินเทอร์เน็ตผ่านโปรโตคอลและ Web Framework เป็นสิ่งที่เราเรียกว่าคอมไพเลอร์ ประกอบด้วยไลบรารีกฎไวยากรณ์และอื่น ๆ ที่จำเป็นทั้งหมด

และ node.js เป็นเฟรมเวิร์ค !!


2
แต่ Node ไม่รวมโมดูล (เช่น http) ที่ออกแบบมาเพื่อให้สามารถโค้ดเซิร์ฟเวอร์ของตัวเองได้อย่างรวดเร็วใช่หรือไม่
ลำต้น

1

ฉันคิดว่าปัญหาคือคำศัพท์ของ "เว็บเซิร์ฟเวอร์" หรือ "เว็บแอปพลิเคชันเซิร์ฟเวอร์" ถูกครอบงำโดยโลกของ JEE และผลิตภัณฑ์ที่ไม่ได้แยกเป็นโมดูลเหมือนกับโลกของเฟรมเวิร์ก Javascript ในปัจจุบันซึ่งสามารถรวมกันได้ไม่มากก็น้อย ได้อย่างอิสระ

ฉันไม่เห็นเหตุผลว่าทำไมเทคโนโลยีที่สามารถให้บริการแอปพลิเคชันที่ซับซ้อนบนเว็บไม่ควรเรียกว่าเว็บเซิร์ฟเวอร์หรือเว็บแอปพลิเคชันเซิร์ฟเวอร์!

ถ้าคุณรวมกันสมมติว่าNuxtเป็นส่วนหน้าโดยมีFeathersเป็นแบ็กเอนด์คุณจะมีแบ็กเอนด์ที่ให้บริการ REST API และ UI ที่แสดงผลฝั่งเซิร์ฟเวอร์!

แน่นอนคุณสามารถ (ผิด) ใช้สิ่งนั้นเพื่อแสดงเนื้อหาคงที่ - จากนั้นฉันจะเรียกมันว่าเว็บเซิร์ฟเวอร์หรือคุณสามารถใช้เพื่อสร้างและให้บริการแอปพลิเคชันเต็มรูปแบบ - จากนั้นฉันจะเรียกมันว่าเซิร์ฟเวอร์แอปพลิเคชัน

เป็นคุณสมบัติหรือคุณสมบัติรวมที่สรุปได้เพื่อตอบสนองวัตถุประสงค์ - ใช่ไหม? - คุณลักษณะต่างๆเช่นความเสถียรความสามารถในการปรับขนาดและสิ่งนี้คือสิ่งที่ IMHO จะถูกเพิ่มเข้าไปในเทคโนโลยีเหล่านั้นเมื่อเวลาผ่านไป สำหรับตอนนี้พวกเขายังใหม่อยู่


0

ฉันเพิ่งใช้ Node.js เป็นครั้งแรกเพื่อสร้างบอท Discord ความคิดของฉันคือ "ว้าว Node.js เป็นเซิร์ฟเวอร์เหรอฉันคิดว่ามันเป็นไลบรารี JS!" หรือบางทีฉันอาจจะคิดเป็นกรอบ

มันเป็นเว็บเซิร์ฟเวอร์หรือไม่? ไม่ได้ แต่คุณสามารถสร้างมันขึ้นมาได้ เป็นเซิร์ฟเวอร์หรือไม่? เช่นเดียวกับในซอฟต์แวร์ที่รับแบบสอบถามและให้บริการผลลัพธ์? ใช่.

ในกรณีของฉันฉันได้ออกคำสั่ง: node index.js

และตอนนี้ Node.js กำลังรอคำขอให้ตอบกลับ (ผ่านบอทของฉัน) เป็นเซิร์ฟเวอร์ แต่ไม่ได้ให้บริการหน้าเว็บ


-1

ไม่ใช่สภาพแวดล้อมรันไทม์ ... ดังนั้นจึงไม่ใช่เว็บเซิร์ฟเวอร์ แต่ไม่จำเป็นต้องใช้งาน นี่อาจเป็นสาเหตุที่ทำให้เกิดความสับสน สามารถรันแบบสแตนด์อโลนได้โดยไม่ต้องใช้เว็บเซิร์ฟเวอร์ใด ๆ เนื่องจากเป็นรันไทม์ แต่อีกครั้งไม่ใช่เว็บเซิร์ฟเวอร์


1
ฉันคิดว่าคำตอบนี้ - แม้ว่าจะเป็นความจริงทางเทคนิค - สั้นเกินไปและไม่ให้ข้อมูลกับ newbee
ลำต้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.