แนะนำ
ด้วยการคลิกไม่กี่ครั้งบนเดสก์ท็อปหรืออุปกรณ์ คุณสามารถซื้อ ขาย หรือเผยแพร่อะไรก็ได้ทุกเมื่อ มันเกิดขึ้นได้อย่างไร? อย่างไร ข้อมูล จากที่นี่ไปที่นั่น? ฮีโร่ที่ไม่รู้จักคือ API
API คืออะไร
API ย่อมาจาก อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน. API แสดงส่วนประกอบของซอฟต์แวร์ การทำงาน อินพุต เอาต์พุต และประเภทพื้นฐาน แต่คุณจะอธิบาย API เป็นภาษาอังกฤษได้อย่างไร API ทำหน้าที่เป็นผู้ส่งสารที่โอนคำขอของคุณจากแอปพลิเคชันและส่งการตอบกลับกลับมาให้คุณ
1 ตัวอย่าง: เมื่อคุณค้นหาเที่ยวบินออนไลน์ คุณโต้ตอบกับเว็บไซต์ของสายการบิน เว็บไซต์ให้รายละเอียดเกี่ยวกับที่นั่งและราคาของเที่ยวบินในวันและเวลานั้นๆ คุณเลือกอาหารหรือที่นั่ง สัมภาระ หรือคำขอสัตว์เลี้ยง
แต่ถ้าคุณไม่ได้ใช้เว็บไซต์โดยตรงของสายการบินหรือและกำลังใช้ตัวแทนการท่องเที่ยวออนไลน์ที่รวบรวมข้อมูลจากหลายสายการบิน ในการรับข้อมูล แอปพลิเคชันจะโต้ตอบกับ API ของสายการบิน API เป็นอินเทอร์เฟซที่นำข้อมูลจากเว็บไซต์ของตัวแทนการท่องเที่ยวไปยังระบบของสายการบิน
นอกจากนี้ยังใช้การตอบสนองของสายการบินและส่งกลับทันที สิ่งนี้อำนวยความสะดวกในการโต้ตอบระหว่างบริการการเดินทางและระบบของสายการบิน - เพื่อจองเที่ยวบิน API มีไลบรารีสำหรับรูทีน โครงสร้างข้อมูล คลาสออบเจกต์ และตัวแปร ตัวอย่างเช่น บริการ SOAP และ REST
2 ตัวอย่าง: Best Buy จัดทำราคาพิเศษ Deal of the Day ผ่านทางเว็บไซต์ ข้อมูลเดียวกันนี้อยู่ในแอปพลิเคชันมือถือ แอปไม่ต้องกังวลเกี่ยวกับระบบการกำหนดราคาภายใน – สามารถเรียก API ของดีลประจำวันและถามว่าราคาพิเศษคืออะไร Best Buy ตอบกลับด้วยข้อมูลที่ร้องขอในรูปแบบมาตรฐานที่แอปแสดงต่อผู้ใช้ปลายทาง
ตัวอย่างที่ 3: API สำหรับโซเชียลมีเดียมีความสำคัญ ผู้ใช้สามารถเข้าถึงเนื้อหาและรักษาจำนวนบัญชีและรหัสผ่านที่พวกเขาติดตามให้ต่ำ เพื่อให้พวกเขาสามารถทำสิ่งต่างๆ ได้ง่าย
- Twitter API: โต้ตอบกับฟังก์ชันส่วนใหญ่ของ Twitter
- Facebook API: สำหรับการชำระเงิน ข้อมูลผู้ใช้ และการเข้าสู่ระบบ
- Instagram API: แท็กผู้ใช้ ดูรูปภาพที่กำลังมาแรง
แล้ว REST & SOAP API ล่ะ?
สบู่ และ REST ใช้บริการที่ใช้ API ซึ่งเรียกว่า Web API บริการบนเว็บไม่ได้ขึ้นอยู่กับความรู้ล่วงหน้าของข้อมูลใดๆ SOAP เป็นโปรโตคอลบริการเว็บที่ไม่ขึ้นกับแพลตฟอร์มขนาดเล็ก SOAP เป็นโปรโตคอลการส่งข้อความที่ใช้ XML ซึ่งแตกต่างจากบริการเว็บ SOAP บริการ Restful ใช้สถาปัตยกรรม REST ซึ่งสร้างขึ้นสำหรับการสื่อสารแบบจุดต่อจุด
บริการเว็บ SOAP
- SOAP Sender – สร้างและส่งข้อความ
- SOAP Receiver – รับและประมวลผลข้อความ
- SOAP Intermediary- รับและประมวลผลบล็อกส่วนหัว
บริการเว็บ RESTful
Regentational State Transfer (REST) เกี่ยวข้องกับความสัมพันธ์ระหว่างไคลเอ็นต์และเซิร์ฟเวอร์และวิธีการประมวลผลสถานะ สถาปัตยกรรมส่วนที่เหลือ เซิร์ฟเวอร์ REST ให้การเข้าถึงทรัพยากรแก่ไคลเอ็นต์ ส่วนที่เหลือจัดการการอ่านและแก้ไขหรือเขียนทรัพยากร Uniform Identifier (URI) ระบุทรัพยากรเพื่อบรรจุเอกสาร สิ่งนี้จะจับภาพสถานะทรัพยากร
REST เบากว่าสถาปัตยกรรม SOAP โดยจะแยกวิเคราะห์ JSON ซึ่งเป็นภาษาที่มนุษย์อ่านได้ซึ่งช่วยให้สามารถแชร์ข้อมูลและใช้ข้อมูลได้ง่ายขึ้น แทนที่จะใช้ XML ที่สถาปัตยกรรม SOAP
มีหลักการหลายประการในการออกแบบ Restful Web Service ซึ่งได้แก่:
- ความสามารถในการระบุที่อยู่ – แต่ละทรัพยากรควรมี URL อย่างน้อยหนึ่งรายการ
- การไร้สัญชาติ – บริการพักผ่อนเป็นบริการไร้สัญชาติ คำขอไม่ขึ้นกับคำขอที่ผ่านมาโดยบริการ HTTP เกิดจากการออกแบบโปรโตคอลไร้สถานะ
- แคชได้ – ข้อมูลที่ทำเครื่องหมายว่าเก็บแคชได้ในระบบและนำมาใช้ใหม่ในอนาคต เป็นการตอบสนองต่อคำขอเดียวกันแทนที่จะสร้างผลลัพธ์เดียวกัน ข้อจำกัดของแคชช่วยให้สามารถทำเครื่องหมายข้อมูลการตอบสนองว่าแคชได้หรือแคชไม่ได้
- อินเตอร์เฟสแบบยูนิฟอร์ม – อนุญาตให้ใช้อินเตอร์เฟสทั่วไปและเป็นมาตรฐานสำหรับการเข้าถึง การใช้คอลเลกชันที่กำหนดของเมธอด HTTP การปฏิบัติตามแนวคิดเหล่านี้ทำให้มั่นใจได้ว่าการนำ REST ไปใช้นั้นมีน้ำหนักเบา
ข้อดีของ REST
- ใช้รูปแบบข้อความที่เรียบง่ายขึ้น
- ให้ประสิทธิภาพระยะยาวที่แข็งแกร่งกว่า
- รองรับการสื่อสารไร้สัญชาติ
- ใช้มาตรฐาน HTTP และไวยากรณ์
- ข้อมูลที่มีอยู่เป็นทรัพยากร
ข้อเสียของ REST
- ผิดมาตรฐานของ Web service เช่น Security Transactions เป็นต้น
- คำร้องขอ REST ไม่สามารถปรับขนาดได้
การเปรียบเทียบ REST กับ SOAP
ความแตกต่างระหว่างบริการเว็บ SOAP และ REST
บริการเว็บ SOAP | บริการเว็บพักผ่อน |
ต้องการเพย์โหลดอินพุตจำนวนมากเมื่อเทียบกับ REST | REST มีน้ำหนักเบาเนื่องจากใช้ URI สำหรับแบบฟอร์มข้อมูล |
การเปลี่ยนแปลงในบริการ SOAP มักจะนำไปสู่การเปลี่ยนแปลงรหัสที่สำคัญในฝั่งไคลเอ็นต์ | รหัสฝั่งไคลเอ็นต์ไม่ได้รับผลกระทบจากการเปลี่ยนแปลงบริการในการจัดเตรียมเว็บ REST |
ประเภทการส่งคืนเป็นประเภท XML เสมอ | ให้ความคล่องตัวตามรูปแบบของข้อมูลที่ส่งคืน |
โปรโตคอลข้อความที่ใช้ XML | โปรโตคอลสถาปัตยกรรม |
ต้องการไลบรารี SOAP ที่ส่วนท้ายของไคลเอนต์ | ไม่ต้องการการสนับสนุนไลบรารีที่ใช้โดยทั่วไปผ่าน HTTP |
รองรับ WS-Security และ SSL | รองรับ SSL และ HTTPS |
SOAP กำหนดความปลอดภัยของตัวเอง | บริการเว็บ RESTful สืบทอดมาตรการรักษาความปลอดภัยจากการขนส่งพื้นฐาน |
ประเภทของนโยบายการเผยแพร่ API
นโยบายการเผยแพร่สำหรับ API คือ:
นโยบายการเผยแพร่ส่วนตัว:
API มีให้ใช้งานภายในบริษัทเท่านั้น
นโยบายการเปิดตัวของพันธมิตร:
API มีให้สำหรับคู่ค้าทางธุรกิจรายใดรายหนึ่งเท่านั้น บริษัทต่างๆ สามารถควบคุมคุณภาพของ API ได้เนื่องจากการควบคุมว่าใครสามารถเข้าถึงได้
นโยบายเผยแพร่สู่สาธารณะ:
API มีไว้สำหรับการใช้งานสาธารณะ ความพร้อมใช้งานของนโยบายการเผยแพร่มีให้บริการแก่สาธารณะ ตัวอย่าง: Microsoft Windows API และ Cocoa ของ Apple
สรุป
API มีอยู่ทุกที่ ไม่ว่าคุณจะจองเที่ยวบินหรือมีส่วนร่วมกับแอปพลิเคชันโซเชียลมีเดีย SOAP API ขึ้นอยู่กับการสื่อสาร XML ซึ่งแตกต่างจาก REST API ตรงที่ไม่ต้องมีการกำหนดค่าพิเศษใดๆ
การออกแบบบริการ Rest Web ควรยึดตามแนวคิดบางอย่าง รวมถึงความสามารถในการระบุที่อยู่ ความเป็นไร้สถานะ ความสามารถในการแคช และอินเทอร์เฟซมาตรฐาน กฎการเผยแพร่ API อาจแบ่งออกเป็นสามประเภท: API ส่วนตัว, API คู่ค้า และ API สาธารณะ
ขอบคุณที่อ่านบทความนี้ ตรวจสอบบทความของเราเกี่ยวกับคำแนะนำเกี่ยวกับ ความปลอดภัยของ API 2022.