เส้นทางอาชีพการเป็น Software Developer กับ ChatGPT #5
Tags: dns, webserver, webpage
Published: 2023-05-02 02:30:48

**DNS Domain Name System คืออะไร ?**
DNS (Domain Name System) คือระบบที่ใช้สำหรับแปลงชื่อโดเมนเนม (domain name) เป็นที่อยู่ IP address ในการสื่อสารผ่านโปรโตคอล Internet Protocol (IP) โดย DNS จะมีหน้าที่ค้นหาและคืนค่า IP address สำหรับโดเมนเนมที่ร้องขอมา ซึ่งช่วยให้ผู้ใช้งานสามารถเข้าถึงเว็บไซต์และบริการต่าง ๆ ในอินเทอร์เน็ตได้อย่างง่ายดาย โดยไม่จำเป็นต้องจำ IP address ของแต่ละเว็บไซต์ในหน่วยความจำของเครื่องคอมพิวเตอร์ของตนเอง

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xtwk7ooci95699roj6n6.png)


**DNS ทำงานอย่างไร**
DNS (Domain Name System) ทำหน้าที่แปลงชื่อโดเมนเป็นที่อยู่ IP Address ของเครื่องคอมพิวเตอร์ที่เกี่ยวข้องกับโดเมนนั้น ๆ ซึ่งทำให้เราสามารถเชื่อมต่อกับเว็บไซต์หรือบริการอื่น ๆ ผ่านทางเครือข่ายอินเทอร์เน็ตได้

เมื่อผู้ใช้งานใส่ชื่อโดเมนที่ต้องการเข้าถึงลงในเบราว์เซอร์ เช่น www.example.com แล้วกด Enter บนคีย์บอร์ด จะเกิดการส่งคำร้องขอข้อมูลจากเครื่องผู้ใช้ไปยัง DNS Server ที่กำหนดไว้ในเครื่องคอมพิวเตอร์ของผู้ใช้ หรือถ้าไม่ได้กำหนดไว้ จะใช้ DNS Server ของ Internet Service Provider (ISP) ในการร้องขอข้อมูล

เมื่อได้รับคำร้องขอข้อมูล DNS Server จะค้นหาข้อมูลเกี่ยวกับโดเมนที่ร้องขอ โดยเริ่มต้นจาก DNS Server ระดับสูงสุด หรือ Root DNS Server จากนั้นจึงไปต่อกับ Top-Level Domain (TLD) Server และ Name Server ตามลำดับ จนเจอข้อมูลเกี่ยวกับโดเมนที่ร้องขอ

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

**Hosting คืออะไร ?**
Hosting หมายถึงการให้บริการเช่าพื้นที่บนเครื่องคอมพิวเตอร์ที่เชื่อมต่อกับอินเทอร์เน็ต ซึ่งมักจะใช้เพื่อเก็บไฟล์หรือโฮสต์เว็บไซต์ เมื่อมีผู้ใช้งานเข้ามาเยี่ยมชมเว็บไซต์นั้น จะสามารถเข้าถึงไฟล์หรือข้อมูลต่างๆ ที่ถูกเก็บอยู่บนเว็บโฮสต์ได้ โดยโฮสต์จะให้บริการตามการตกลงระหว่างผู้ใช้งานและโฮสต์ ซึ่งสามารถเลือกเช่าโฮสต์ได้ตามความต้องการ มีหลายประเภท เช่น shared hosting, VPS hosting, cloud hosting, dedicated server hosting, และอื่นๆ ซึ่งแต่ละประเภทจะมีลักษณะและข้อดี-ข้อเสียที่แตกต่างกันไป การเลือกใช้บริการโฮสต์เว็บไซต์เหมาะสมจึงเป็นสิ่งที่สำคัญในการดำเนินธุรกิจออนไลน์หรือการพัฒนาเว็บไซต์.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wlwjoarcqw7oxo95463h.png)

**Hosting มีกี่ประเภท**

Hosting มีหลายประเภท โดยประเภทที่พบบ่อยได้แก่

- Shared Hosting: เป็นการใช้งานที่เชื่อมโยงกับผู้ใช้งานหลายคน บนเครื่องเซิร์ฟเวอร์เดียวกัน ซึ่งทำให้มีราคาถูกกว่าการใช้งานที่เป็น Dedicated Hosting แต่ความเสี่ยงก็มีมากขึ้นเนื่องจากแบ่งปันทรัพยากรร่วมกัน
- Dedicated Hosting: เป็นการให้บริการที่มีเครื่องเซิร์ฟเวอร์เป็นเครื่องเดียวกันที่ให้บริการในแต่ละคน แตกต่างจาก Shared Hosting ที่ทุกคนใช้ทรัพยากรเดียวกัน จึงมีความเสถียรมากกว่า
- Cloud Hosting: เป็นการให้บริการโฮสติ้งบน Cloud โดยใช้ทรัพยากรจากเครื่องเซิร์ฟเวอร์ที่มีอยู่ใน Cloud ซึ่งจะมีความยืดหยุ่นและเป็น scalable ในการเพิ่มความจุ โดยค่าใช้จ่ายจะคำนวณตามการใช้งานจริง
- VPS Hosting: เป็นการใช้งานที่เป็น Virtual Private Server ซึ่งจะแบ่งทรัพยากรร่วมกันในเครื่องเซิร์ฟเวอร์เดียวกัน แต่แตกต่างจาก Shared Hosting ที่มีความปลอดภัยมากขึ้น
- Managed Hosting: เป็นการให้บริการโฮสติ้งที่มีการจัดการทรัพยากรและการดูแลรักษาทรัพยากรต่าง ๆ ให้กับลูกค้า
- Colocation Hosting: เป็นการให้บริการที่ลูกค้านำเครื่องเซิร์ฟเวอร์ของตนเองมาวางไว้ใน Data Center 

**Web Server คืออะไร**
Web Server คือ โปรแกรมคอมพิวเตอร์ที่ทำงานเป็นตัวกลางในการรับรองและตอบสนองคำขอ (request) จากผู้ใช้งานผ่านทางเว็บเบราว์เซอร์ (web browser) และส่งข้อมูลกลับไปยังผู้ใช้งาน โดยส่วนมากจะใช้งานเพื่อการเปิดเว็บไซต์ (website) แต่ยังสามารถใช้งานในการจัดเก็บไฟล์สำหรับการแบ่งปันข้อมูล (file sharing) ได้อีกด้วย

Web Server มีหลายซอฟต์แวร์ที่นิยมใช้งาน อาทิเช่น Apache, Nginx, Microsoft IIS, Google Web Server และอื่น ๆ ซึ่งแต่ละซอฟต์แวร์มีลักษณะและคุณสมบัติที่แตกต่างกันไปตามผู้พัฒนาและประสบการณ์ในการใช้งานของผู้ใช้งาน โดยส่วนใหญ่จะใช้งาน Apache และ Nginx เป็นอย่างมากในปัจจุบันเนื่องจากมีความสามารถมากและมีความเสถียรสูง

**ความแตกต่างระหว่าง webpage, website, web server, และ search engine?**

**เว็บเพจ (webpage)** คือหน้าเว็บที่แสดงผลบนเบราว์เซอร์ โดยปกติแล้วเว็บไซต์จะประกอบไปด้วยหลายๆ เว็บเพจ

**เว็บไซต์ (website)** คือชุดของหน้าเว็บเพจที่เกี่ยวข้องกัน โดยมักจะมีชื่อโดเมนเนม (Domain Name) เพื่อใช้ในการเข้าถึงและจดจำเว็บไซต์

**เว็บเซิร์ฟเวอร์ (web server)** คือโปรแกรมหรืออุปกรณ์ที่ให้บริการโฮสต์ไฟล์และข้อมูลสำหรับการเข้าถึงเว็บไซต์ผ่านเครือข่ายอินเทอร์เน็ต

**เครื่องมือค้นหา (search engine)** คือโปรแกรมที่ช่วยให้ผู้ใช้งานสามารถค้นหาข้อมูลหรือเว็บไซต์ต่างๆบนอินเทอร์เน็ตได้ง่ายๆ โดยเช่น Google, Bing, Yahoo เป็นต้น

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