เว็บเซิร์ฟเวอร์ทำงานอย่างไร? เว็บเซิร์ฟเวอร์คืออะไร คำอธิบายวิธีการทำงานของเว็บเซิร์ฟเวอร์

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

ฉันจำได้เมื่อนานมาแล้วฉันคิดอย่างนั้น อินเทอร์เน็ตกระจุกตัวอยู่ในที่เดียว มันเหมือนกับห้องทดลองซึ่งมีอุปกรณ์จำนวนมากตั้งอยู่เพื่อรองรับการทำงานของทั้งหมดนี้ จากนั้นฉันก็ไม่สามารถชื่นชมขนาดของเครือข่ายทั่วโลกและความซับซ้อนของโครงสร้างได้ ในความเป็นจริง อินเทอร์เน็ตเป็นแนวคิดที่เป็นนามธรรม ทรัพยากรอินเทอร์เน็ตกระจัดกระจายไปตามอุปกรณ์ต่างๆ ทั่วโลก เพื่อสื่อสารอุปกรณ์นี้ถึงกันในระยะทางที่กว้างใหญ่ จึงได้คิดค้นอัลกอริธึมและมาตรฐานพิเศษขึ้นมาโดยเฉพาะ โปรโตคอลทีซีพี/ไอพีซึ่งอินเทอร์เน็ตของเราใช้งานอยู่ในปัจจุบัน ตามมาตรฐานนี้ คอมพิวเตอร์แต่ละเครื่องที่อยู่บนเครือข่ายทั่วโลกจะมีที่อยู่เฉพาะของตัวเอง - ที่อยู่ IP- ที่อยู่ IP คือลำดับของตัวเลขสี่ตัวในช่วงตั้งแต่ 0 ถึง 255 โดยคั่นด้วยจุด (เช่น 92.166.31.18) คอมพิวเตอร์เครื่องหนึ่งสามารถสื่อสารกับคอมพิวเตอร์เครื่องอื่นบนเครือข่ายได้โดยทราบที่อยู่ IP แต่การพูดว่า "คอมพิวเตอร์ที่สื่อสารกับคอมพิวเตอร์" นั้นไม่ถูกต้องทั้งหมดเนื่องจากไม่ใช่คอมพิวเตอร์ที่สื่อสารกัน แต่บริการเครือข่าย (โปรแกรมหากคุณต้องการ) ที่ทำงานอยู่ สมมติว่าคุณส่งอีเมลถึงคุณปู่ และโปรแกรมอีเมลของคุณติดต่อกับเซิร์ฟเวอร์อีเมลเพื่อส่งจดหมาย

โปรแกรมเครือข่ายหลายโปรแกรมสามารถทำงานบนคอมพิวเตอร์ในเวลาเดียวกันได้ ดังนั้นนอกเหนือจากที่อยู่ IP สำหรับการสื่อสารโดยใช้โปรโตคอล TCP/IP แล้ว ยังมีสิ่งอื่นเช่น ท่าเรือ- พอร์ตคือตัวเลขในช่วงตั้งแต่ 1 ถึง 65536 ดังนั้นเงื่อนไขขั้นต่ำสำหรับการสื่อสารระหว่างโปรแกรมเครือข่ายหนึ่งกับอีกโปรแกรมหนึ่งคืออันแรกมีที่อยู่ IP และหมายเลขพอร์ตของอันที่สอง เป็นธรรมเนียมที่จะต้องเขียนการรวมกันของที่อยู่ IP และพอร์ตโดยคั่นด้วยเครื่องหมายทวิภาค (เช่น 192.168.35.2:443)

เพื่อสร้างการสื่อสาร โปรแกรมแรกจะได้รับหมายเลขพอร์ตและเริ่ม "รอ" เพื่อให้โปรแกรมที่สองเชื่อมต่อ โปรแกรมที่สองจะได้รับหมายเลขพอร์ตและที่อยู่ IP เดียวกันของคอมพิวเตอร์ที่โปรแกรมแรกกำลังทำงานอยู่ การเชื่อมต่อระหว่างทั้งสองโปรแกรมนั้นชวนให้นึกถึงการโทรทางโทรศัพท์มือถือ: Vasya โทรหา Petya, Petya หยิบโทรศัพท์แล้วการสนทนาก็เริ่มขึ้น ในกรณีนี้หมายเลขโทรศัพท์คือการรวมกันของที่อยู่ IP และหมายเลขพอร์ตในกรณีของเรา

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

ทีนี้เรามาพิจารณาจากความรู้ผิวเผินนี้กันดีกว่าว่ามันคืออะไร เว็บเซิร์ฟเวอร์- ประการแรกตามชื่อ คือ โปรแกรมเครือข่ายที่รอและยอมรับการเชื่อมต่อ (เซิร์ฟเวอร์) ตามค่าเริ่มต้น เว็บเซิร์ฟเวอร์จะ "ฟัง" พอร์ตหมายเลข 80 เว็บเซิร์ฟเวอร์รองรับการทำงานกับไคลเอนต์หลายตัวพร้อมกัน (หลายคนสามารถดูไซต์ในเวลาเดียวกัน) ไคลเอนต์สำหรับเว็บเซิร์ฟเวอร์คือ เว็บเบราว์เซอร์(Internet Explorer, Opera ฯลฯ)

ดังนั้นไซต์จึงดำเนินการโดยเสียค่าใช้จ่ายของเว็บเซิร์ฟเวอร์ซึ่งจะส่งหน้าของไซต์นี้ไปยังลูกค้าที่ร้องขอจากหน้าดังกล่าว ในการขอเพจ คุณจำเป็นต้องทราบที่อยู่ IP ของคอมพิวเตอร์ที่เว็บเซิร์ฟเวอร์และไซต์ที่เราต้องการใช้งานอยู่ แต่การจดจำที่อยู่ IP นั้นไม่สะดวก ดังนั้นจึงเกิดชื่อโดเมนที่เป็นเอนทิตีข้อความประเภทหนึ่ง (เช่น yandex.ru) แน่นอนว่าชื่อโดเมนนั้นเข้าใจง่ายและจดจำได้ง่ายกว่า อย่างไรก็ตาม โปรโตคอล TCP/IP ไม่สามารถค้นหาคอมพิวเตอร์ที่ต้องการตามชื่อโดเมนได้ ดังนั้นจึงต้องแปลงเป็นที่อยู่ IP เพื่อจุดประสงค์นี้ จะใช้เซิร์ฟเวอร์ DNS ซึ่งมีตารางการติดต่อระหว่างชื่อโดเมนและที่อยู่ IP สมมติว่าเมื่อเราป้อนโดเมน yandex.ru ในแถบที่อยู่ของเบราว์เซอร์ คำขอจะถูกส่งไปยังเซิร์ฟเวอร์ DNS ก่อนเพื่อระบุที่อยู่ IP ของโดเมนนี้ เมื่อระบุที่อยู่แล้ว เบราว์เซอร์จะพยายามติดต่อกับเว็บเซิร์ฟเวอร์ตามที่อยู่นี้และบนพอร์ตมาตรฐานหมายเลข 80 หากมีการเชื่อมต่อกับเว็บเซิร์ฟเวอร์ เบราว์เซอร์จะขอหน้าเว็บไซต์ที่ต้องการจากเว็บเซิร์ฟเวอร์

โดยหลักการแล้ว เว็บเซิร์ฟเวอร์สามารถกำหนดค่าให้ทำงานบนพอร์ตอื่นได้ ในกรณีนี้ เมื่อร้องขอเพจในเบราว์เซอร์ คุณต้องระบุเพจนั้นด้วยเครื่องหมายโคลอนหลังชื่อโดเมน (เช่น site.ru:3182)

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

ลองดูที่โครงสร้างของแพ็กเก็ต HTTP คำขอ HTTP และการตอบสนอง HTTP ประกอบด้วยสองบล็อก - บล็อกส่วนหัวและบล็อกเนื้อหาแพ็คเก็ต บล็อกเหล่านี้แยกออกจากกันด้วยการป้อนบรรทัดสองบรรทัด (นั่นคือ มีบรรทัดว่างระหว่างส่วนหัวและเนื้อหา) บล็อกส่วนหัวประกอบด้วยพารามิเตอร์ต่างๆ ของแพ็กเก็ต ส่วนบล็อกเนื้อหาประกอบด้วยข้อมูลบางส่วน บล็อกที่สองอาจหายไป หมายความว่าแพ็กเก็ต HTTP อาจประกอบด้วยบล็อกส่วนหัวเท่านั้น ตัวอย่างเช่น เรามาดำเนินการคำขอในหน้าหลักของเว็บไซต์ ya.ru และดูแพ็กเก็ต HTTP ที่เข้าร่วม เมื่อร้องขอโฮมเพจ Firefox จะส่งคำขอ HTTP ต่อไปนี้ไปยังเว็บเซิร์ฟเวอร์:

GET / HTTP/1.1 โฮสต์: ya.ru ตัวแทนผู้ใช้: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6 ยอมรับ: text/html,application/xhtml+ xml ,application/xml;q=0.9,*/*;q=0.8 ยอมรับภาษา: ru,en-us;q=0.7,en;q=0.3 ยอมรับ-เข้ารหัส: gzip,ยุบยอมรับ-ชุดอักขระ: windows-1251 , utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 การเชื่อมต่อ: Keep-alive

คำขอ HTTP ไม่มีบล็อกข้อมูล (เนื่องจากไม่มีบรรทัดว่างสำหรับแยกส่วนหัวออกจากข้อมูล) มาดูบรรทัดของแบบสอบถามที่เราสนใจในขณะนี้ อันดับแรก บรรทัดแรกสุด:

รับ / HTTP/1.1

"GET" - ประเภทคำขอ คำขอสองประเภทที่พบบ่อยที่สุดคือ GET และ POST เราจะพูดถึงสิ่งเหล่านี้ในบทความหรือบทเรียนข้อใดข้อหนึ่งต่อไปนี้ "/" ระบุว่ากำลังร้องขอหน้าหลักของเว็บไซต์ มิฉะนั้น นี่คือเส้นทางและชื่อของเพจหรือไฟล์ที่กำลังร้องขอ "HTTP/1.1" - เวอร์ชันโปรโตคอล HTTP

ผู้ดำเนินรายการ: ya.ru

พารามิเตอร์โฮสต์ประกอบด้วยโดเมนของไซต์ที่กำลังเข้าถึง

ตัวแทนผู้ใช้: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6

User-Agent มีข้อมูลเกี่ยวกับไคลเอนต์: ประเภทเบราว์เซอร์ ระบบปฏิบัติการ และอื่นๆ พารามิเตอร์ที่เหลือไม่น่าสนใจสำหรับเรามากนักในขณะนี้

เว็บเซิร์ฟเวอร์ตอบสนองต่อคำขอ HTTP นี้ด้วยการตอบสนอง HTTP ต่อไปนี้:

HTTP/1.1 200 ตกลง เซิร์ฟเวอร์: nginx วันที่: พฤหัสบดี 25 ก.พ. 2553 เวลา 12:31:25 น. GMT ประเภทเนื้อหา: ข้อความ / html; charset=utf-8 แก้ไขล่าสุด: วันอังคารที่ 12 มกราคม 2010 เวลา 15:29:06 น. GMT การเข้ารหัสการถ่ายโอน: การเชื่อมต่อแบบ chunked: การเข้ารหัสเนื้อหาแบบ Keep-alive: gzip ยานเดกซ์ ...

บรรทัดว่างบ่งบอกถึงการมีอยู่ของบล็อกข้อมูล (เนื้อหาแพ็คเก็ต) เช่นเดียวกับในกรณีของคำขอ HTTP มาดูบรรทัดที่สำคัญที่สุดของการตอบกลับที่ได้รับ บรรทัดแรกระบุเวอร์ชันโปรโตคอล HTTP (HTTP/1.1) และโค้ดผลลัพธ์ รหัสผลลัพธ์ 200 หมายความว่าคำขอสำเร็จ คำอธิบายของโปรโตคอล HTTP อธิบายรหัสผลลัพธ์ทั้งหมด เราจะได้รู้จักบางส่วน เช่น 403 และ 404 ในอนาคต

เซิร์ฟเวอร์: nginx

พารามิเตอร์เซิร์ฟเวอร์ประกอบด้วยชื่อของเว็บเซิร์ฟเวอร์ ในกรณีของเรา เรากำลังติดต่อกับเว็บเซิร์ฟเวอร์ nginx พารามิเตอร์นี้อาจหายไปจากการตอบสนอง HTTP หากผู้ดูแลระบบของเซิร์ฟเวอร์นี้ด้วยเหตุผลบางประการไม่ต้องการเปิดเผยข้อมูลนี้

ประเภทเนื้อหา: text/html; ชุดอักขระ=utf-8

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

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

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

สมมติว่าผู้ใช้กำลังนั่งอยู่ที่คอมพิวเตอร์ เรียกดูหน้าเว็บ แล้วเพื่อนโทรหาเขาและพูดว่า:

“คุณรู้ไหม ฉันเพิ่งอ่านบทความดีๆ! ป้อน URL นี้และอ่านด้วยตัวคุณเอง นี่คือหน้า"

ผู้ใช้ป้อน URL ที่กำหนดและคลิกปุ่ม "ไป" และดูเถิด ไม่ว่า URL นี้จะอยู่ที่ใด หน้านั้นก็จะปรากฏบนหน้าจอมอนิเตอร์

แผนภาพต่อไปนี้ในระดับที่ง่ายที่สุดจะให้แนวคิดเกี่ยวกับลำดับเหตุการณ์ซึ่งเป็นผลมาจากหน้าที่เลือกปรากฏบนหน้าจอมอนิเตอร์:

เบราว์เซอร์ของผู้ใช้เชื่อมต่อกับเว็บเซิร์ฟเวอร์ ร้องขอเพจที่ต้องการและได้รับมัน

เกิดอะไรขึ้นโดยที่ผู้ใช้ไม่มีใครสังเกตเห็น

  1. เบราว์เซอร์ได้แบ่ง URL ออกเป็นสามส่วน:
  • โปรโตคอล (“http”)
  • ชื่อเซิร์ฟเวอร์ (“ไซต์”)
  • ชื่อไฟล์ (“เว็บเซิร์ฟเวอร์.htm”)
  • เบราว์เซอร์ติดต่อกับเนมเซิร์ฟเวอร์และแปลชื่อเซิร์ฟเวอร์ " " เป็นที่อยู่ IP ซึ่งใช้ในการสื่อสารกับเครื่องเซิร์ฟเวอร์
  • จากนั้นเบราว์เซอร์โดยใช้ที่อยู่ IP ที่ได้รับจะติดต่อกับเซิร์ฟเวอร์ที่ต้องการบนพอร์ต 80 (เราจะพูดถึงพอร์ตในบทความนี้)
  • ตามโปรโตคอล HTTP เบราว์เซอร์ส่งคำขอ GET ไปยังเซิร์ฟเวอร์ โดยกำหนดให้ส่งไฟล์ “/web server.htm” (โปรดทราบว่าเบราว์เซอร์อาจส่งคุกกี้ไปพร้อมกับคำขอ GET - ดูบทความเกี่ยวกับวิธีการทำงานของคุกกี้เพื่อดูรายละเอียด)
  • เซิร์ฟเวอร์ส่งข้อความ HTML สำหรับเว็บเพจไปยังเบราว์เซอร์ (ส่วนหัวของหน้าที่ส่งจากเซิร์ฟเวอร์ไปยังเบราว์เซอร์อาจมีคุกกี้ด้วย)
  • เบราว์เซอร์อ่านแท็ก HTML และแสดงเพจบนหน้าจอมอนิเตอร์ หากคุณไม่สนใจรายละเอียดของกระบวนการนี้มาก่อน คุณจะพบกับคำศัพท์ใหม่ๆ มากมายในคำอธิบาย เพื่อให้เข้าใจรายละเอียดของกระบวนการทั้งหมด คุณจำเป็นต้องรู้ว่าที่อยู่ IP, พอร์ต, โปรโตคอลคืออะไร... ความหมายของคำเหล่านี้จะอธิบายโดยละเอียดด้านล่าง
  • แล้ว “อินเทอร์เน็ต” คืออะไร? - นี่คือคอมพิวเตอร์หลายล้านเครื่องที่เชื่อมต่อกับเครือข่ายคอมพิวเตอร์ขนาดใหญ่ ต้องขอบคุณเครือข่ายที่ทำให้คอมพิวเตอร์สามารถสื่อสารระหว่างกันได้ คุณสามารถเชื่อมต่อคอมพิวเตอร์ที่บ้านของคุณกับอินเทอร์เน็ตโดยใช้โมเด็มแบบเรียกผ่านสายโทรศัพท์ อุปกรณ์ DSL หรือเคเบิลโมเด็ม อุปกรณ์เหล่านี้สื่อสารกับผู้ให้บริการอินเทอร์เน็ต (ISP) ของคุณ โดยทั่วไปคอมพิวเตอร์ของบริษัทหรือมหาวิทยาลัยจะมีการ์ดอินเทอร์เฟซเครือข่าย (NIC) ที่เชื่อมต่อโดยตรงกับเครือข่ายท้องถิ่น (LAN) ที่เกี่ยวข้อง บริษัทสามารถเชื่อมต่อเครือข่ายท้องถิ่นของตนกับอุปกรณ์ของผู้ให้บริการอินเทอร์เน็ตโดยใช้สายโทรศัพท์ความเร็วสูง เช่น สาย T1 สาย T1 สามารถส่งข้อมูลได้ประมาณ 1.5 ล้านบิตต่อวินาที ในขณะที่สายปกติที่ใช้โมเด็มสามารถส่งข้อมูลได้เพียง 30,000 ถึง 50,000 บิตต่อวินาที

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

    ลูกค้าและเซิร์ฟเวอร์

    โดยทั่วไป เครื่องทั้งหมดบนอินเทอร์เน็ตสามารถแบ่งออกเป็นสองประเภท: เซิร์ฟเวอร์และไคลเอนต์ เครื่องที่ให้บริการกับเครื่องอื่นเรียกว่าเซิร์ฟเวอร์ (เช่น เซิร์ฟเวอร์เว็บหรือเซิร์ฟเวอร์ FTP) เครื่องที่ใช้ในการสื่อสารกับเซิร์ฟเวอร์เพื่อรับบริการเรียกว่าไคลเอนต์ เมื่อผู้ใช้เชื่อมต่อกับ Yahoo! ไปที่ yahoo.com เพื่อดูเพจ Yahoo! จัดสรรเครื่อง (หรืออาจเป็นคลัสเตอร์ของเครื่องที่มีขนาดใหญ่มาก) เพื่อใช้บนอินเทอร์เน็ตเพื่อตอบสนองคำขอของผู้ใช้นั้น แล้วยาฮู! ให้บริการแก่ผู้ใช้ของเซิร์ฟเวอร์ ในทางกลับกัน เครื่องของผู้ใช้ไม่น่าจะให้บริการแก่ใครก็ตามบนอินเทอร์เน็ต ดังนั้นจึงเรียกว่าเครื่องผู้ใช้หรือไคลเอนต์ มันอาจเป็นเรื่องจริงและเป็นเรื่องปกติสำหรับเครื่องหนึ่งที่จะเป็นทั้งเซิร์ฟเวอร์และไคลเอนต์ แต่ในกรณีของเรา เราจะถือว่าเครื่องส่วนใหญ่ทำหน้าที่ของเซิร์ฟเวอร์หรือไคลเอนต์

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

    ชื่อโดเมนและการซื้อ

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

    ชื่อเว็บไซต์ประกอบด้วยสามส่วน:

    • ชื่อโฮสต์ (www)
    • ชื่อโดเมน (sd-บริษัท)
    • ชื่อโดเมนระดับบนสุด (ru)

    นายทะเบียน

    ชื่อโดเมนภายในโดเมน .comจัดการโดยนายทะเบียน VeriSign VeriSign ยังควบคุมชื่อโดเมนด้วย .สุทธิ- โดเมนอื่นๆ (เช่น PRO, BIZ และ ORG) ได้รับการจัดการโดยผู้รับจดทะเบียนรายอื่นๆ (ได้แก่ RegistryPro, NeuLevel และ Public Interest Registry) VeriSign สร้างชื่อระดับบนสุดและตรวจสอบให้แน่ใจว่าชื่อทั้งหมดภายในโดเมนระดับบนสุดไม่ซ้ำกัน นอกจากนี้ VeriSign ยังมีข้อมูลติดต่อสำหรับแต่ละไซต์และมีฐานข้อมูลผู้ใช้ ชื่อโฮสต์ถูกสร้างขึ้นโดยบริษัทที่ให้บริการโดเมน ชื่อโฮสต์ "www" เป็นเรื่องปกติมาก แต่ปัจจุบันหลายแห่งละเว้นหรือแทนที่ด้วยชื่อโฮสต์อื่นที่ชี้ไปยังตำแหน่งเฉพาะบนไซต์ ตัวอย่างเช่น ในชื่อโดเมนของสารานุกรม Encarta ของ Microsoft encarta.msn.com นั้น "encarta" หมายถึงชื่อโฮสต์แทนที่จะเป็น www

    เพื่อให้เครื่องเหล่านี้ทำงานได้อย่างถูกต้อง แต่ละเครื่องบนอินเทอร์เน็ตจะได้รับที่อยู่เฉพาะที่เรียกว่าที่อยู่ IP IP รองรับอินเทอร์เน็ตโปรโตคอล และที่อยู่เป็นตัวเลข 32 บิต ซึ่งโดยทั่วไปจะแสดงเป็น "ออคเต็ต" สี่ตัวใน "รูปแบบทศนิยมแบบประ" ที่อยู่ IP ทั่วไปจะมีลักษณะดังนี้: 216.27.61.137

    ตัวเลขสี่ตัวในที่อยู่ IP เรียกว่าออคเต็ต เนื่องจากสามารถมีค่าได้ตั้งแต่ 0 ถึง 255 ซึ่งก็คือ 2 ถึงความเป็นไปได้ที่แปดต่อออคเต็ต

    ที่อยู่ IP ที่ไม่ซ้ำ

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

    ผู้ใช้ที่มีเครื่องที่ใช้ Windows OS สามารถรับข้อมูลจำนวนมากเกี่ยวกับการเชื่อมต่ออินเทอร์เน็ตของคอมพิวเตอร์ของเขา รวมถึงที่อยู่ IP ปัจจุบันและชื่อโฮสต์ ถ้าเขาใช้คำสั่ง WINIPCFG.EXE (IPCONFIG.EXE สำหรับ Windows 2000/XP) . ในเครื่องที่ใช้ UNIX เพื่อค้นหาที่อยู่ IP ของเครื่องคุณต้องพิมพ์ nslookup บนบรรทัดคำสั่งรวมถึงชื่อของเครื่องนี้เช่น SD 1 - นั่นคือทั้งหมดรวมกันแล้วจะมีลักษณะดังนี้ สิ่งนี้: “nslookup sd1.su” คุณสามารถกำหนดชื่อเครื่องของคุณได้โดยใช้คำสั่งชื่อโฮสต์ (สามารถรับข้อมูลเพิ่มเติมเกี่ยวกับที่อยู่ IP ได้จากคณะกรรมการที่อยู่ดิจิทัลทางอินเทอร์เน็ต)

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

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

    เว็บเซิร์ฟเวอร์คืออะไร?

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

    แอปพลิเคชันเซิร์ฟเวอร์คืออะไร?

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

    ความแตกต่างระหว่างเว็บเซิร์ฟเวอร์และแอปพลิเคชันเซิร์ฟเวอร์

    ข้อมูลพื้นฐานเกี่ยวกับเว็บและแอปพลิเคชันเซิร์ฟเวอร์

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

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

    ฟังก์ชันเว็บเซิร์ฟเวอร์และแอปพลิเคชันเซิร์ฟเวอร์

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

    มัลติเธรด

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

    ความจุของเว็บเซิร์ฟเวอร์และแอปพลิเคชันเซิร์ฟเวอร์

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

    เว็บเซิร์ฟเวอร์กับเซิร์ฟเวอร์แอปพลิเคชัน: ตารางเปรียบเทียบ

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

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

    อุตสาหกรรมเว็บโฮสติ้งจำเป็นต้องมีความรู้พื้นฐานบางประการในการดำเนินงาน มีคำศัพท์เกี่ยวกับเว็บโฮสติ้งหลายประการที่ผู้ดูแลเว็บทุกคนควรทราบ หนึ่งในเงื่อนไขพื้นฐานที่สุดคือ: เว็บเซิร์ฟเวอร์ในความเป็นจริง เว็บโฮสติ้งประกอบด้วยเว็บเซิร์ฟเวอร์ที่ให้พื้นที่สำหรับเว็บไซต์ของคุณ HP Micro AMD N40L Server เป็นเซิร์ฟเวอร์อเนกประสงค์ที่สามารถจัดเตรียมแพลตฟอร์มในการจัดระเบียบและปกป้องข้อมูลทางธุรกิจ ช่วยให้สามารถสื่อสารกับลูกค้าได้อย่างมีประสิทธิภาพ และใช้ประโยชน์จากอุปกรณ์สำนักงานและทรัพยากรที่มีอยู่ให้เกิดประโยชน์สูงสุด HP MicroServer เป็นเซิร์ฟเวอร์เริ่มต้นที่คุ้มต้นทุนสำหรับธุรกิจที่มีไคลเอนต์น้อยกว่า 10 ราย และสามารถนำธุรกิจของคุณไปสู่ประสิทธิภาพและประสิทธิภาพระดับใหม่ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับเซิร์ฟเวอร์ HP Micro AMD N40L โปรดไปที่ลิงก์นี้ http://vint.com.ua/product/computers/dir_3010558/dir_3010559 .

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

    ฮาร์ดแวร์เว็บเซิร์ฟเวอร์

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

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

    มีข้อกำหนดหลายประการสำหรับเซิร์ฟเวอร์คอมพิวเตอร์ - จะต้องเร็วเพียงพอ มี RAM จำนวนมาก และฮาร์ดไดรฟ์ขนาดใหญ่ แต่สิ่งที่สำคัญที่สุดคือการมีที่อยู่อินเทอร์เน็ตแบบถาวรหรือที่เรียกว่า IP - Internet Protocol ที่อยู่. หากไม่พบที่อยู่ IP ของเว็บไซต์และจะใช้งานได้ ออฟไลน์- เบราว์เซอร์จะแสดงข้อผิดพลาด ไม่พบเว็บไซต์.

    โปรแกรมและซอฟต์แวร์เว็บเซิร์ฟเวอร์

    โปรแกรม เว็บเซิร์ฟเวอร์นี่คือซอฟต์แวร์ที่รันเว็บไซต์บนคอมพิวเตอร์เซิร์ฟเวอร์โฮสต์ เป้าหมายหลัก: ปัญหาหน้าเว็บ; ซึ่งหมายความว่าจะรับฟังคำขอจากเว็บเบราว์เซอร์ (หรือที่เรียกว่า ลูกค้า ) และตอบสนองด้วยการส่งข้อมูลที่จำเป็นกลับมา การโต้ตอบระหว่างไคลเอนต์และเซิร์ฟเวอร์นี้เป็นส่วนที่โดดเด่นของวิธีการทำงานของเว็บเซิร์ฟเวอร์.

    มีโปรแกรมเว็บเซิร์ฟเวอร์มากมาย ที่มีชื่อเสียงและโด่งดังที่สุดก็คือ อาปาเช่พัฒนาโดยมูลนิธิ Apache Apache ไม่เพียงแต่ฟรีเท่านั้น แต่ยังใช้ได้กับระบบปฏิบัติการหลายระบบ รวมถึง Windows, Macintosh และ Linux/Unix

    เมื่อเวลาผ่านไป นักพัฒนาเว็บคนใดก็ตาม ( บล็อกเกอร์ นักออกแบบเว็บไซต์ หรือโปรแกรมเมอร์เว็บไซต์) จะต้องมีสถานที่ทดสอบพิเศษที่คุณสามารถฝึกฝนได้โดยไม่มีปัญหาใดๆ การพัฒนาเว็บไซต์หรือทดสอบโครงการเว็บอื่น ผู้เริ่มต้นบางคนใช้ทรัพยากรของโฮสติ้งแบบชำระเงินและวางเว็บไซต์อย่างน้อยสองแห่งไว้ที่นั่น คนงานหนึ่งคน ( ขั้นพื้นฐาน) และอีกอัน ( เพิ่มเติม) สำหรับการทดสอบ สถานที่ทดสอบผ่านการทดสอบต่างๆ ( การติดตั้งและการทดสอบปลั๊กอิน ธีม สคริปต์ และอื่นๆ อีกมากมาย).

    ด้วยเหตุนี้ ด้วยเลย์เอาต์นี้ ไซต์การผลิตหลักจึงได้รับผลกระทบอย่างมาก เนื่องจากโปรเจ็กต์ทดสอบใช้ทรัพยากรโฮสติ้งส่วนใหญ่ อย่างไรก็ตาม ยังมีอีกวิธีหนึ่งที่จะช่วยให้ไม่สูญเสีย ( ทั้งในแง่การเงินและทรัพยากร) ดำเนินการทดสอบไซต์ของคุณ และตอนนี้เราจะพิจารณาวิธีนี้

    ทำไมไม่?

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

    ไฟล์ปกติสามารถเปิดได้ด้วย Notepad++ หรือแม้แต่ Notepad เขียนอะไรบางอย่างไว้ข้างใน บันทึก จากนั้นเปิดไฟล์นี้ในเบราว์เซอร์ของคุณโดยไม่มีปัญหาใดๆ และดูว่าไฟล์นี้จะมีลักษณะอย่างไรบนไซต์โฮสต์บนอินเทอร์เน็ต นั่นคือเราเห็นหน้า HTML ที่ใช้งานได้แล้ว ในนั้นเราสามารถสร้างการออกแบบ เนื้อหา และติดตามโครงการโดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต โดยพื้นฐานแล้วเรามีทุกอย่างแล้ว หากเราต้องการเรียกใช้ไฟล์ PHP โดยใช้เบราว์เซอร์ เราจะไม่สำเร็จเนื่องจากสคริปต์ PHP ในระบบปฏิบัติการ Windows จะไม่ทำงานหากไม่มีซอฟต์แวร์เพิ่มเติม

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

    เซิร์ฟเวอร์คืออะไร?

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

    สำหรับสิ่งนี้เราจำเป็นต้องมีโปรแกรมพิเศษ แต่อันไหนเหมาะกว่าและอาจทำให้เกิดปัญหาอะไรได้บ้างระหว่างการทำงานต่อไป? สำหรับข้อมูลของคุณ ด้านล่างนี้ฉันแสดงรายการเว็บเซิร์ฟเวอร์ที่ดีที่สุดตามความนิยมทั่วโลก อย่างไรก็ตาม นี่ไม่ได้หมายความว่าจำเป็นต้องติดตั้งทันที ฉันจะอธิบายว่าทำไมทีหลัง!

    รายชื่อเว็บเซิร์ฟเวอร์ที่ดีที่สุด

    ปัจจุบันมีโซลูชั่นมากมายในตลาดจากผู้ผลิตหลายราย:

    • (เว็บไซต์ - apache.org) เป็นเซิร์ฟเวอร์ฟรีที่แพร่หลายและได้รับความนิยมมากที่สุดบนเครือข่าย มีความน่าเชื่อถือและยืดหยุ่นมากขึ้น เซิร์ฟเวอร์ไม่ต้องการทรัพยากรตัวประมวลผลและสามารถให้บริการได้หลายไซต์ แอปพลิเคชันนี้สามารถใช้ได้กับระบบปฏิบัติการที่หลากหลาย รวมถึง Unix, Linux, Solaris, Mac OS X, Microsoft Windows และอื่นๆ การใช้งาน Apache ปัจจุบันอยู่ที่ 71% อย่างไรก็ตาม นี่เป็นโปรแกรมที่ซับซ้อนซึ่งไม่ใช่ว่ามือใหม่ทุกคนจะสามารถรองรับได้

    • (เว็บไซต์ - www.iis.net) เป็นอีกหนึ่งเซิร์ฟเวอร์ที่เชื่อถือได้จาก Microsoft ตกลงมาเป็นอันดับสองอย่างมั่นคงด้วย 14% ของการใช้งานออนไลน์ หลังจากติดตั้งโปรแกรมแล้ว จะรองรับภาษาโปรแกรมเพียง 2 ภาษาเท่านั้น ( VBScript และ JScript- อย่างไรก็ตาม คุณสามารถเปิดคุณสมบัติเพิ่มเติมได้โดยการติดตั้งส่วนขยายที่จำเป็น ด้วยการติดตั้งโมดูลดังกล่าว การทำงานของเซิร์ฟเวอร์นี้จึงเพิ่มขึ้นอย่างมาก

    • NGINX (เว็บไซต์ - nginx.org/ru/) เป็นเว็บเซิร์ฟเวอร์ที่ได้รับความนิยมมากที่สุดบนอินเทอร์เน็ตรัสเซีย เมื่อเทียบกับสองอันแรกมันง่ายที่สุดและไม่มีฟังก์ชั่นที่ไม่จำเป็น ยังได้รับการยกย่องในเรื่องความน่าเชื่อถือและความเร็วสูงอีกด้วย ผู้พัฒนาผลิตภัณฑ์นี้คือ Igor Sysoev เพื่อนร่วมชาติของเรา ในปี 2004 เขาได้เปิดตัว nginx เวอร์ชันแรก ขณะนี้ผลิตภัณฑ์ซอฟต์แวร์นี้เป็นหนึ่งในสามเว็บเซิร์ฟเวอร์ที่ได้รับความนิยมมากที่สุดในโลก การใช้งานประมาณ 6.5%

    • (เว็บไซต์ - litespeedtech.com) - เว็บเซิร์ฟเวอร์นี้ไม่มีความสามารถมากมาย แต่มีความเร็วสูงมาก เร็วกว่า Apache ยอดนิยมถึง 9 เท่า ให้ความสำคัญกับความปลอดภัยเป็นอย่างมาก ( การป้องกันการโอเวอร์โหลดของระบบ การตรวจสอบคำขอ http อย่างเข้มงวด การต่อต้าน ddos ​​และอื่นๆ อีกมากมาย- LiteSpeed ​​​​ใช้ได้กับ Solaris, Linux, FreeBSD และ Mac OS X โปรแกรมมีอัตราการใช้งาน 1.5%

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

    คุณสมบัติเซิร์ฟเวอร์ท้องถิ่น

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

    นั่นก็คือ เซิร์ฟเวอร์ท้องถิ่น- นี่ไม่ใช่โปรแกรมเดียว ( ไม่ใช่เว็บเซิร์ฟเวอร์เฉพาะแห่งเดียว) แต่เป็นคอลเลกชันพิเศษที่รวมโปรแกรมเซิร์ฟเวอร์ที่ซับซ้อนเวอร์ชันน้ำหนักเบา โดยทั่วไปแล้วแอสเซมบลีจะประกอบด้วย: เซิร์ฟเวอร์เอง ( ส่วนใหญ่เป็น Apache แต่อาจมีอย่างอื่นอีก), คอมไพเลอร์ PHP ( ด้วยความช่วยเหลือเบราว์เซอร์สามารถอ่านโค้ดและประกอบหน้าได้) ส่วนประกอบสำหรับการทำงานกับฐานข้อมูล ตัวติดตั้งต่างๆ และโปรแกรมอื่นๆ อีกมากมาย ทั้งหมดนี้ทำให้สิ่งต่าง ๆ ง่ายขึ้นมากหากเราติดตั้งและกำหนดค่าแต่ละโปรแกรมแยกกัน

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

    ตรวจสอบเซิร์ฟเวอร์ท้องถิ่นยอดนิยม

    นี่คือบางรุ่นที่อาจเป็นประโยชน์กับคุณ:

    • (เว็บไซต์ - denwer.ru) คือเซิร์ฟเวอร์ภายในประเทศฟรีที่ออกแบบมาเพื่อทำงานกับเว็บไซต์ เว็บแอปพลิเคชัน หรือหน้าอินเทอร์เน็ต ผู้พัฒนาคือ Dmitry Koterov และ Anton Sushchev ผลิตภัณฑ์นี้มีการกระจายที่จำเป็นสำหรับการทำงานแบบง่าย ตัวอย่างเช่น รวมถึงเว็บเซิร์ฟเวอร์ Apache ที่รองรับหลากหลาย แผง phpMyAdmin และ MySQL สำหรับการทำงานกับฐานข้อมูลและโปรแกรมอื่น ๆ คุณยังสามารถทำงานจากแฟลชไดรฟ์แบบถอดได้ น่าเสียดายที่ Denwer รองรับระบบปฏิบัติการ Windows เท่านั้น

    • XAMPP (เว็บไซต์ - www.apachefriends.org/en/xampp.html) เป็นเซิร์ฟเวอร์ build พิเศษจากเพื่อน Apache การกระจายที่จำเป็นทำให้คุณสามารถเรียกใช้เว็บเซิร์ฟเวอร์ที่มีคุณสมบัติครบถ้วนได้ โปรแกรมนี้แจกฟรีและรองรับการทำงานบน Windows, Solaris, Mac OS X และ Linux นอกจากนี้ยังมีข้อดีดังต่อไปนี้: เซิร์ฟเวอร์ได้รับความนิยมเนื่องจากมีอินเทอร์เฟซผู้ใช้ที่เรียบง่าย ซึ่งทำให้เป็นที่ชื่นชอบสำหรับผู้เริ่มต้นจำนวนมาก มีเวอร์ชันอัปเดตหลายรูปแบบ กระบวนการอัพเดตนั้นง่ายมากและใช้งานง่าย มีโมดูลเพิ่มเติม คุณยังสามารถดาวน์โหลดเวอร์ชันที่ต้องการได้จากเว็บไซต์อย่างเป็นทางการอื่น - sourceforge.net/projects/xampp/files.

    • (เว็บไซต์ - www.appservnetwork.com) เป็นเซิร์ฟเวอร์ที่ยอดเยี่ยมจากผู้ผลิตชาวไทย ซึ่งมีแนวคิดในการติดตั้งและกำหนดค่าการกระจายทั้งหมดได้ง่ายใน 1 นาที การเปิดตัวแอสเซมบลีครั้งแรกเกิดขึ้นในปี 2544 และตั้งแต่นั้นมาจำนวนผู้ใช้ก็เพิ่มขึ้นตลอดเวลา AppServ ติดตั้งง่ายมาก ทำงานได้อย่างเสถียร และไม่แย่ไปกว่าการเปิดตัวอย่างเป็นทางการและรุ่นเดี่ยวๆ และประสิทธิภาพที่เชื่อถือได้ทำให้สามารถสร้างเว็บเซิร์ฟเวอร์ที่มีคุณสมบัติครบถ้วนบนคอมพิวเตอร์ของคุณได้
    • (เว็บไซต์ - vertrigo.sourceforge.net) เป็นอีกหนึ่งเซิร์ฟเวอร์ภายในที่ดีและง่ายต่อการติดตั้ง แอสเซมบลีมีความยืดหยุ่นสูง มีประสิทธิภาพดี และใช้พื้นที่ดิสก์น้อย น่าเสียดายที่ตอนนี้ใช้งานได้กับ Windows OS เท่านั้น
    • เซิร์ฟเวอร์เซนด์ ฉบับชุมชน (เว็บไซต์ - www.zend.com) เป็นเซิร์ฟเวอร์ฟรีจาก Zend ที่ออกแบบมาเพื่อทำงานกับเว็บแอปพลิเคชัน ประกอบด้วยส่วนประกอบที่จำเป็นทั้งหมดสำหรับการปรับใช้เซิร์ฟเวอร์ภายในเครื่องบนคอมพิวเตอร์ของคุณอย่างรวดเร็ว

    • (เว็บไซต์ - open-server.ru) คือเซิร์ฟเวอร์ภายในแบบพกพาในประเทศที่มีฟังก์ชันการทำงานระดับสูงสำหรับการพัฒนาและการสร้างเว็บไซต์และโครงการเว็บอื่นๆ มีอินเทอร์เฟซหลายภาษา ( รวมถึงภาษารัสเซียด้วย) และได้รับการออกแบบให้ทำงานบน Windows OS รองรับการทำงานจากสื่อแบบถอดได้ เซิร์ฟเวอร์นี้ดีมากและเป็นทางเลือกที่ดีสำหรับเดนเวอร์

    • (เว็บไซต์ - wampserver.com) - อีกรุ่นที่ดีพร้อมอินเทอร์เฟซภาษารัสเซีย ( นอกจากนี้ยังมีภาษาอื่นด้วย- มีเมนูที่เรียบง่ายและชัดเจนและการติดตั้งและกำหนดค่าชุดประกอบที่สะดวกไม่ทำให้เกิดปัญหาใด ๆ เป็นพิเศษ การกำหนดค่าสามารถทำได้โดยไม่กระทบต่อไฟล์การกำหนดค่า ซึ่งมีประโยชน์มากสำหรับผู้ดูแลเว็บมือใหม่ เซิร์ฟเวอร์มีการแจกจ่ายฟรีและทำงานบนแพลตฟอร์ม Windows เท่านั้น น่าเสียดายที่ยังไม่มีเวอร์ชันพกพา
    • (เว็บไซต์ - easyphp.org) - ชุดประกอบที่ง่ายมากพร้อมการรองรับภาษารัสเซีย แอสเซมบลีนั้นไม่ธรรมดาไม่มีฟังก์ชันมากมายและมีจุดประสงค์เพื่อทดสอบโปรเจ็กต์ขนาดเล็กเป็นหลัก มีการรองรับการทำงานจากสื่อแบบพกพา เซิร์ฟเวอร์นี้จะทำหน้าที่ทดแทนเดนเวอร์ได้เป็นอย่างดี

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

    ป.ล.คุณใช้เซิร์ฟเวอร์ใดในการทดสอบโครงการของคุณ? หากคุณรู้จักเซิร์ฟเวอร์ดีๆ อื่นๆ เขียนเกี่ยวกับเซิร์ฟเวอร์เหล่านั้นในความคิดเห็น ฉันจะเพิ่มพวกเขาลงในรายการทั่วไปในภายหลัง