ข้ามไปที่เนื้อหาหลัก

โครงสร้างการเชื่อมต่อระหว่างWeb Browser Web Server และ API Server กับ ความหมายของ API

     เว็บเบราว์เซอร์ (Web Browser) คือ โปรแกรมที่ใช้สำหรับการแสดงผลการทำงานของเว็บที่สร้างด้วย ภาษาเฉพาะ เช่น HTML CSS หรือ Javascript เป็นต้น ผู้ใช้สามารถดูข้อมูลและโต้ตอบกับข้อมูลสารสนเทศที่ จัดเก็บในเว็บเพจเพื่อตอบสนองความต้องการของตนเองได้ ผู้ใช้งานต้องเชื่อมต่อไปยังเว็บเซิร์ฟเวอร์เพื่อร้องขอ เว็บไซต์มาแสดงผลยังเว็บเบราว์เซอร์ และ การร้องขอเว็บไซต์จากเว็บเซิร์ฟเวอร์จะติดต่อกันโดยใช้ HTTP โปร- โตคอล ตัวอย่างโปรแกรมเว็บเบราว์เซอร์เช่น Google Chrome, FireFox, Opera, Microsoft Edge เป็นต้น
     เว็บเซิร์ฟเวอร์ (Web Server) คือ คอมพิวเตอร์ที่คอยให้บริการผู้ใช้งาน โดยจะเก็บรวมรวมไฟล์และ คำสั่งต่างๆ ที่มีนามสกุล เช่น .html, .css หรือ .js เป็นต้น ไฟล์ดังกล่าวจะถูกตอบสนองกลับไปแสดงผลที่เว็บ เบราว์เซอร์
     API Server ทำหน้าที่ จัดการควบคุมการใช้งานข้อมูลของผู้ใช้งาน การควบคุมผู้ใช้งานในระดับที่แตก ต่างกัน เช่น ผู้ใช้งานทั่วไป กับ ผู้ใช้งานที่มีสิทธิเป็นผู้ดูแลระบบ มีสิทธิ์การเข้าถึงข้อมูลที่แตกต่างกัน กรณีที่ใช้ งานระบบร่วมกับผู้อื่น และ เป็นตัวกลางที่เชื่อมต่อระหว่างผู้ใช้งานกับข้อมูลที่นำมาใช้งานในส่วนๆ หนึ่งของ เว็บเพจ

     Application Programming Interface (API) คือ ช่องทางการเชื่อมต่อเพื่อแลกเปลี่ยนข้อมูล จาก ระบบหนึ่งไปสู่ระบบอื่นๆ โดยผ่าน library (Function/module/utility)ของผู้สร้างหรือให้บริการ API เพื่อให้ ผู้พัฒนาระบบอื่นๆ สามารถเชื่อมต่อกับ API ของผู้ที่เปิดให้บริการได้
     สำหรับนักพัฒนา API ก็คือรูปแบบคำสั่งที่นักพัฒนาจะต้องเรียกใช้เมื่อ ต้องการเข้าถึงข้อมูลบนเว็บไซต์ ที่มีการเปิด API ไว้ให้ การเข้าถึงข้อมูลอาจเป็นทั้งการนำข้อมูลออกมา หรือเป็น การส่งข้อมูลเข้าไปก็ได้ API จึงเป็นเสมือนภาษาที่คอมพิวเตอร์ใช้คุยกับคอมพิวเตอร์เพื่อแลกเปลี่ยนข้อมูลกัน ระหว่าง Server กับ Client หรือ Server กับ Server ด้วย
     ข้อดีของ API 
1. ทำให้สามารถรับส่งหรือเชื่อมต่อเพื่อแลกเปลี่ยนข้อมูลข้าม Server ได้
          • ทำให้ Front-end developer สามารถเขียน AJAX ไปเรียกข้อมูลเอาไปแสดงผลได้เลย
          • การ query ข้อมูลจากฐานข้อมูลนักพัฒนารู้แค่ว่าเมื่ออยากได้ข้อมูลต้อง request ไปที่ไหนและ return อะไรมาก็สามารถดึงข้อมูลจากฐานข้อมูลได้ไม่ต้องเขียนคำสั่ง SQL
          • นักพัฒนาฝั่ง Front-end และ Back-end จริงๆ แล้วก็สามารถทำงาน parallel กันไปได้ โดยไม่ ต้องรอกัน
2. ทำให้ผู้พัฒนาระบบสามารถพัฒนาได้ง่ายและรวดเร็วขึ้น
          • ทำให้ Front-end developer สามารถเขียน AJAX ไปเรียกข้อมูลเอาไปแสดงผลได้เลย
          • การ query ข้อมูลจากฐานข้อมูลนักพัฒนารู้แค่ว่าเมื่ออยากได้ข้อมูลต้อง request ไปที่ไหนและ return อะไรมาก็สามารถดึงข้อมูลจากญานข้อมูลได้ไม่ต้องเขียนคำสั่ง SQL
          • นักพัฒนาฝั่ง Front-end และ Back-end จริงๆ แล้วก็สามารถทำงาน parallel กันไปได้ โดยไม่ ต้องรอกัน
3. เสริมความปลอดภัยแก้ข้อมูลของตนเองในการแชร์ให้ผู้อื่น เพราะไม่ได้เข้าถึงฐานข้อมูลโดยตรง

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Python: Chat bot &Text to Speech ภาษาไทย ด้วย gTTS

วันนี้จะมาแนะนำทุกๆ คนเกี่ยวกับ การเขียนโปรแกรมง่าย ๆ เพื่อให้คอมพิวเตอร์อ่านออกเสียงตามที่เราได้พิมพ์ให้ โดย ใช้ library คือ gTTS และ play sound จะมีวิธีการเขียนอย่างไร มาดูกันเลย เริ่มจากติดตั้ง package gTTS และ play sound ก่อน                                                                          pip install gTTS                                                                                pip install playsound                                                    ...

การทำ Performance Testing ด้วย Postman

Performance Test คืออะไร? Performance Test คือการทดสอบซอฟต์แวร์หรือระบบ เพื่อประเมินความสามารถในการทำงานเมื่อมีภาระหรือโหลดต่างๆ เข้ามาในระบบ เช่น จำนวนผู้ใช้ที่เพิ่มขึ้น, ปริมาณข้อมูลที่ถูกประมวลผล หรือความซับซ้อนในการทำงานของระบบ เหตุผลที่ต้องทำ Performance Test วัดความเร็วของระบบ (Speed) ช่วยให้ทราบว่าระบบสามารถตอบสนองต่อการร้องขอ (request) ได้เร็วเพียงใดในสภาวะการใช้งานที่หลากหลาย ไม่ว่าจะเป็นเมื่อมีผู้ใช้จำนวนน้อยหรือมาก ประเมินความเสถียร (Stability) ตรวจสอบว่าระบบสามารถทำงานได้ต่อเนื่องภายใต้การทำงานหนักหรือโหลดที่สูง เช่นในช่วงที่มีจำนวนผู้ใช้เพิ่มขึ้นอย่างมาก หรือในสถานการณ์ที่ต้องประมวลผลข้อมูลจำนวนมาก ปรับปรุงประสิทธิภาพ (Optimization) ช่วยให้ระบุจุดอ่อนของระบบ เช่น API ที่ทำงานช้า หรือการใช้ทรัพยากรมากเกินไปในบางส่วน ซึ่งสามารถปรับปรุงได้เพื่อเพิ่มประสิทธิภาพ เตรียมพร้อมสำหรับการใช้งานจริง (Real-World Readiness) การทดสอบช่วยให้เราทราบถึงการตอบสนองของระบบในสภาวะที่ใกล้เคียงกับการใช้งานจริง เพื่อให้มั่นใจว่าเมื่อปล่อยระบบให้ผู้ใช้ใช้งาน จะไม่เกิดปัญหาการโหลด...

การทำ Vulnerability Scanning ด้วย ZAP ( Zed Attack Proxy )

Vulnerability Scanning (การสแกนหาช่องโหว่) Vulnerability Scanning คือกระบวนการตรวจสอบระบบโดยอัตโนมัติเพื่อค้นหาช่องโหว่ด้านความปลอดภัย เช่น การตั้งค่าที่ผิดพลาด, ซอฟต์แวร์ที่ล้าสมัย หรือโค้ดที่อาจมีปัญหา ลักษณะของ Vulnerability Scanning ใช้ เครื่องมืออัตโนมัติ เช่น OWASP ZAP, Nessus, OpenVAS มุ่งเน้นการ ระบุช่องโหว่ที่มีอยู่ แต่ไม่ทำการโจมตีเพื่อทดสอบ มีการจัดอันดับความร้ายแรงของช่องโหว่ เช่น Low, Medium, High, Critical สามารถใช้ ทำซ้ำได้ง่าย และเหมาะสำหรับการตรวจสอบ Compliance (มาตรฐานความปลอดภัย) ตัวอย่างช่องโหว่ที่ตรวจพบ การตั้งค่าที่ไม่ปลอดภัย (Security Misconfigurations) การเปิดใช้โปรโตคอลที่ล้าสมัย เช่น TLS 1.0 ซอฟต์แวร์ที่ไม่ได้รับการอัปเดต ช่องโหว่ในโค้ด เช่น SQL Injection, XSS OWASP ZAP (Zed Attack Proxy) เป็นเครื่องมือโอเพนซอร์สที่ถูกพัฒนาโดย OWASP (Open Web Application Security Project) สำหรับการทำ Security Testing โดยเฉพาะการตรวจสอบช่องโหว่ (Vulnerability Assessment) ใน เว็บแอปพลิเคชัน โดย ZAP ทำหน้าที่เป็น Proxy Server ที่ดักจับและวิเคราะ...