```html
APIs (Application Programming Interfaces) เป็นหัวใจสำคัญของการพัฒนาซอฟต์แวร์สมัยใหม่ ช่วยให้การสื่อสารระหว่างแอปพลิเคชันต่างๆ เป็นไปอย่างราบรื่น การทำความเข้าใจคำศัพท์ทางเทคนิคที่เกี่ยวข้องกับ APIs และ endpoints เป็นสิ่งสำคัญสำหรับนักพัฒนาในการออกแบบ พัฒนา และดูแลรักษา APIs ที่แข็งแกร่ง ในบล็อกนี้ เราจะสำรวจคำศัพท์ที่ใช้กันทั่วไปในโลกของ APIs และ endpoints
คำศัพท์ที่เกี่ยวข้องกับ API
มีคำศัพท์ทั่วไป 12 คำที่เกี่ยวข้องกับ API ที่นักพัฒนาควรรู้:
1. Endpoint
Endpoint คือ URL เฉพาะที่ API สามารถเข้าถึงได้โดยไคลเอนต์เพื่อดำเนินการต่างๆ เช่น การดึงข้อมูลหรือส่งข้อมูล

2. HTTP Methods
เหล่านี้คือประเภทของคำขอที่สามารถส่งไปยัง endpoints ได้:
- GET: ดึงข้อมูลจากเซิร์ฟเวอร์
- POST: ส่งข้อมูลไปยังเซิร์ฟเวอร์
- PUT: อัปเดตข้อมูลที่มีอยู่บนเซิร์ฟเวอร์
- DELETE: ลบข้อมูลออกจากเซิร์ฟเวอร์

3. Request Payload/Body
ข้อมูลที่ส่งโดยไคลเอนต์ไปยังเซิร์ฟเวอร์ในคำขอ API โดยทั่วไปใช้ในคำขอ POST และ PUT

4. Response Payload/Body
ข้อมูลที่ส่งกลับโดยเซิร์ฟเวอร์ไปยังไคลเอนต์หลังจากคำขอ API

5. Status Code
รหัสที่ส่งกลับโดยเซิร์ฟเวอร์เพื่อระบุผลลัพธ์ของคำขอ API (เช่น 200 OK, 404 Not Found, 500 Internal Server Error)

6. Headers
คู่คีย์-ค่าที่ส่งพร้อมกับคำขอหรือการตอบสนอง API โดยให้ข้อมูลเมตาเกี่ยวกับคำขอหรือการตอบสนอง

7. Authentication
กระบวนการตรวจสอบยืนยันตัวตนของผู้ใช้หรือไคลเอนต์ วิธีการทั่วไป ได้แก่ API keys, OAuth และ JWT (JSON Web Token)

8. Authorization
กระบวนการในการพิจารณาว่าผู้ใช้หรือไคลเอนต์ได้รับอนุญาตให้ดำเนินการบางอย่างหรือเข้าถึงข้อมูลเฉพาะหรือไม่

9. Rate Limiting
การควบคุมจำนวนคำขอที่ไคลเอนต์สามารถส่งไปยัง API ได้ในช่วงเวลาที่กำหนดเพื่อป้องกันการใช้งานในทางที่ผิด

10. Throttling
คล้ายกับการจำกัดอัตรา โดยเกี่ยวข้องกับการควบคุมอัตราที่ API ประมวลผลคำขอ

11. Latency
เวลาที่ใช้ในการประมวลผลคำขอ API และรับการตอบสนอง

12. CORS (Cross-Origin Resource Sharing)
กลไกในการอนุญาตหรือจำกัดทรัพยากรบนเว็บเซิร์ฟเวอร์ให้ถูกร้องขอจากโดเมนอื่น

13. API Gateway
เซิร์ฟเวอร์ที่ทำหน้าที่เป็นส่วนหน้าของ API รับคำขอ API บังคับใช้ความปลอดภัยและขีดจำกัดอัตรา และกำหนดเส้นทางคำขอไปยังบริการแบ็กเอนด์ที่เหมาะสม

14. Webhooks
HTTP callbacks ที่อนุญาตให้ระบบหนึ่งส่งข้อมูลแบบเรียลไทม์ไปยังอีกระบบหนึ่งเมื่อมีเหตุการณ์เฉพาะเกิดขึ้น

คำศัพท์ที่เกี่ยวข้องกับ Endpoint
1. Base URL
URL รากฐานสำหรับ endpoints API ทั้งหมด ซึ่งโดยทั่วไปจะรวมถึงโปรโตคอล (http/https) และโดเมน

2. Path Parameter
ส่วนที่เป็นตัวแปรของ URL endpoint ใช้เพื่อระบุทรัพยากร (เช่น /users/{userId}
)

3. Query Parameter
คู่คีย์-ค่าที่เพิ่มไปยัง URL endpoint เพื่อกรองหรือปรับเปลี่ยนคำขอ (เช่น ?sort=asc&limit=10
)

4. Resource
วัตถุหรือเอนทิตีที่ API สามารถจัดการได้ โดยทั่วไปจะแสดงเป็น URL (เช่น /users
, /posts
)
5. CRUD Operations
การดำเนินการพื้นฐานที่ดำเนินการกับทรัพยากร:
- Create: เพิ่มทรัพยากรใหม่ (โดยปกติผ่าน POST)
- Read: ดึงทรัพยากร (โดยปกติผ่าน GET)
- Update: ปรับเปลี่ยนทรัพยากรที่มีอยู่ (โดยปกติผ่าน PUT หรือ PATCH)
- Delete: ลบทรัพยากร (โดยปกติผ่าน DELETE)

6. Versioning
การจัดการการเปลี่ยนแปลง API โดยการสร้างเวอร์ชันต่างๆ (เช่น /v1/users
, /v2/users
)

7. Pagination
การแบ่งชุดข้อมูลขนาดใหญ่ออกเป็นส่วนย่อยๆ มักใช้พารามิเตอร์แบบสอบถามเช่น page
และ limit

8. Serialization
การแปลงวัตถุให้อยู่ในรูปแบบที่สามารถส่งได้ง่าย เช่น JSON หรือ XML
9. Deserialization
การแปลงข้อมูลที่ถูกซีเรียลไลซ์กลับเป็นวัตถุ

10. Mock API
API เวอร์ชันจำลองที่ใช้สำหรับการทดสอบและการพัฒนาโดยไม่จำเป็นต้องใช้เซิร์ฟเวอร์จริง

11. Schema
พิมพ์เขียวหรือโครงสร้างของวิธีการจัดระเบียบข้อมูล มักจะกำหนดโดยใช้รูปแบบต่างๆ เช่น JSON Schema เพื่อวัตถุประสงค์ในการตรวจสอบความถูกต้อง
