RESTful API คืออะไร

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

API คืออะไร

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

ทั้งนี้คุณสามารถมองได้ว่า API เว็บเป็นเกตเวย์ระหว่างไคลเอ็นต์และทรัพยากรบนเว็บ

ไคลเอ็นต์

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

ทรัพยากร

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

การสร้าง API ด้วย Amazon API Gateway

REST คืออะไร

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

นักพัฒนา API สามารถออกแบบ API ได้โดยใช้สถาปัตยกรรมต่างๆ โดย API ที่เป็นไปตามรูปแบบสถาปัตยกรรม REST เรียกว่า REST API บริการเว็บที่ใช้สถาปัตยกรรม REST เรียกว่าบริการเว็บ RESTful คำว่า RESTful API โดยทั่วไปหมายถึง API เว็บแบบ RESTful อย่างไรก็ตาม คุณสามารถใช้คำว่า REST API และ RESTful API แทนกันได้

โดยหลักการบางประการของรูปแบบสถาปัตยกรรม REST มีดังต่อไปนี้:

อินเทอร์เฟซรูปแบบเดียวกัน

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

โดยอินเทอร์เฟซรูปแบบเดียวกันกำหนดข้อจำกัดทางสถาปัตยกรรมไว้ 4 ประการ ได้แก่

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

ความไร้สถานะ

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

ระบบที่แบ่งออกเป็นชั้น

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

ความสามารถในการแคช

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

การปรับแต่งโค้ดได้ตามความต้องการ

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

RESTful API มีข้อดีใดบ้าง

RESTful API มีข้อดีต่างๆ ดังต่อไปนี้:

ความสามารถในการปรับขนาด

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

ความยืดหยุ่น

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

ความไม่ขึ้นกับระบบใด

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

RESTful API ทำงานอย่างไร

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

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

รายละเอียดคำขอและการตอบสนอง REST API จะแตกต่างกันเล็กน้อยโดยขึ้นอยู่กับวิธีการที่นักพัฒนา API ออกแบบ API

คำขอของไคลเอ็นต์ RESTful API มีอะไรบ้าง

RESTful API กำหนดให้คำขอมีส่วนประกอบหลักดังต่อไปนี้:

ตัวระบุทรัพยากรที่ไม่ซ้ำกัน

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

วิธีการ

นักพัฒนามักใช้ RESTful API โดยใช้เกณฑ์วิธีขนส่งข้อความหลายมิติ (Hypertext Transfer Protocol หรือ HTTP) วิธีการ HTTP จะบอกให้เซิร์ฟเวอร์ทราบถึงสิ่งที่ต้องทำกับทรัพยากร โดยวิธีการ HTTP ทั่วไปมี 4 วิธีดังต่อไปนี้:

GET

ไคลเอ็นต์ใช้ GET เพื่อเข้าถึงทรัพยากรที่อยู่ที่ URL ที่ระบุบนเซิร์ฟเวอร์ ซึ่งสามารถแคชคำขอ GET และส่งพารามิเตอร์ในคำขอ RESTful API เพื่อสั่งให้เซิร์ฟเวอร์กรองข้อมูลก่อนส่ง

POST

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

PUT

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

DELETE

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

ส่วนหัว HTTP

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

ข้อมูล

คำขอ REST API อาจรวมถึงข้อมูลสำหรับวิธีการ POST, PUT และ HTTP อื่นๆ เพื่อให้ทำงานได้สำเร็จ

พารามิเตอร์

คำขอ RESTful API อาจรวมถึงพารามิเตอร์ที่ให้รายละเอียดเพิ่มเติมกับเซิร์ฟเวอร์เกี่ยวกับสิ่งที่ต้องดำเนินการ โดยพารามิเตอร์ประเภทต่างๆ มีดังต่อไปนี้:

  • พารามิเตอร์พาธที่ระบุรายละเอียด URL
  • พารามิเตอร์การสอบถามที่ขอข้อมูลเพิ่มเติมเกี่ยวกับทรัพยากร
  • พารามิเตอร์คุกกี้ที่รับรองความถูกต้องของไคลเอ็นต์ได้อย่างรวดเร็ว

การตอบสนองของเซิร์ฟเวอร์ RESTful API มีอะไรบ้าง

หลักการ REST กำหนดให้การตอบสนองของเซิร์ฟเวอร์มีองค์ประกอบหลักดังต่อไปนี้:

บรรทัดสถานะ

บรรทัดสถานะประกอบด้วยรหัสสถานะสามหลักที่แจ้งว่าคำขอสำเร็จหรือล้มเหลว ตัวอย่างเช่น รหัส 2XX ระบุถึงความสำเร็จ แต่รหัส 4XX และ 5XX ระบุถึงข้อผิดพลาด รหัส 3XX ระบุถึงการเปลี่ยนเส้นทาง URL

โดยรหัสสถานะทั่วไปบางส่วนมีดังต่อไปนี้:

  • 200: การตอบสนองเพื่อระบุถึงความสำเร็จทั่วไป
  • 201: การตอบสนองเพื่อระบุถึงความสำเร็จของวิธีการ POST
  • 400: คำขอที่ไม่ถูกต้องที่เซิร์ฟเวอร์ไม่สามารถประมวลผลได้
  • 404: ไม่พบทรัพยากร

เนื้อความ

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

'{"name":"John", "age":30}'

ส่วนหัว

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

วิธีการรับรองความถูกต้อง RESTful API มีอะไรบ้าง

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

โดย RESTful API มีวิธีการรับรองความถูกต้องทั่วไป 4 วิธี ได้แก่

การรับรองความถูกต้อง HTTP

HTTP กำหนดรูปแบบการรับรองความถูกต้องบางส่วนที่คุณสามารถใช้ได้โดยตรงเมื่อคุณนำ REST API ไปใช้ โดยทั้งสองรูปแบบมีดังต่อไปนี้:

การรับรองความถูกต้องพื้นฐาน

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

การรับรองความถูกต้องของแบเรอร์

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

คีย์ API

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

OAuth

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

AWS จะช่วยคุณในการจัดการ RESTful API ได้อย่างไร

Amazon API Gateway เป็นบริการที่มีการจัดการเต็มรูปแบบ ซึ่งทำให้นักพัฒนาสามารถสร้าง เผยแพร่ บำรุงรักษา เฝ้าติดตาม และรักษาความปลอดภัยของ API ในทุกขนาดได้ง่าย การใช้ API Gateway ทำให้คุณสามารถสร้าง RESTful API สำหรับแอปพลิเคชันการสื่อสารสองทางแบบเรียลไทม์ได้:

การใช้ API Gateway ทำให้คุณสามารถ:

  • มอบประสิทธิภาพความเร็วสูงสำหรับทั้งคำขอและการตอบสนองของ API ให้แก่ผู้ใช้
  • อนุมัติการเข้าถึง API ของคุณด้วย AWS Identity and Access Management (IAM) และ Amazon Cognito ซึ่งทั้งสองอย่างนี้รองรับ OAuth แบบเนทิฟ
  • เรียกใช้ API เดียวกันได้หลายเวอร์ชันพร้อมกันด้วย API Gateway เพื่อทำซ้ำ ทดสอบ และเผยแพร่เวอร์ชันใหม่ได้อย่างรวดเร็ว
  • ตรวจสอบตัวชี้วัดประสิทธิภาพและข้อมูลเกี่ยวกับการเรียก API, เวลาแฝงของข้อมูล และอัตราข้อผิดพลาดจาก API Gateway 

เริ่มต้นใช้งาน API Gateway โดยใช้คำแนะนำทีละขั้นตอนของเรา และสร้างบัญชี AWS วันนี้

ขั้นตอนถัดไปสำหรับระบบเครือข่ายคอมพิวเตอร์ของ AWS

Standard Product Icons (Features) Squid Ink
ดูแหล่งข้อมูลที่เกี่ยวข้องกับผลิตภัณฑ์เพิ่มเติม
เรียนรู้เพิ่มเติมเกี่ยวกับบริการระบบเครือข่าย 
Sign up for a free account
ลงชื่อสมัครใช้บัญชีฟรี

รับสิทธิ์การเข้าถึง AWS Free Tier ได้ทันที

ลงชื่อสมัครใช้งาน Free Tier ของ API Gateway 
Standard Product Icons (Start Building) Squid Ink
เริ่มต้นการสร้างใน Console

เริ่มต้นสร้างด้วย Amazon Transcribe ใน AWS Management Console

ลงชื่อเข้าใช้