Bước tới nội dung

Web API

Bách khoa toàn thư mở Wikipedia

Web APIgiao diện lập trình ứng dụng cho máy chủ web hoặc trình duyệt web. Đây là khái niệm phát triển web, thường giới hạn ở phía máy khách (client-side) của ứng dụng web (bao gồm mọi khung web đang được sử dụng) và do đó thường không bao gồm máy chủ web (web server) hoặc chi tiết triển khai trình duyệt như SAPI hoặc API trừ khi có thể truy cập công khai từ xa ứng dụng web.

Phía máy chủ

[sửa | sửa mã nguồn]

Một Web API phía máy chủ là một giao diện lập trình bao gồm một hoặc nhiều điểm cuối (endpoint) cho một hệ thống các thông báo, hệ thống thông báo này xác định các yêu cầu (request) - phản hồi (response). Các thông báo yêu cầu - phản hồi được định nghĩa, thể hiện, truyền đi dưới dạng XML hoặc JSON.

Web API thực hiện đặc tả giao thức và do đó nó kết hợp các khái niệm như bộ nhớ đệm, URI, lập phiên bản, tiêu đề yêu cầu / phản hồi và các định dạng nội dung khác nhau trong đó.[1]

Điểm cuối

[sửa | sửa mã nguồn]

Điểm cuối là khía cạnh quan trọng của việc tương tác với các Web API phía máy chủ, vì chúng chỉ định vị trí tài nguyên mà phần mềm bên thứ ba có thể truy cập. Thông thường, để truy cập tới điểm cuối, chương trình bên thứ ba đẩy một request HTTP đến điểm cuối thông qua URI, và tiếp đó, chương trình sẽ mong đợi một response từ điểm cuối được trả về. API web có thể là công khai hoặc riêng tư; với API riêng tư, điểm cuối yêu cầu access token.[2]

Các điểm cuối cần phải tĩnh, nếu không sẽ không thể đảm bảo hoạt động chính xác của chương trình phần mềm tương tác với nó. Nếu vị trí của tài nguyên thay đổi (tương ứng với việc đó là điểm cuối thay đổi) thì phần mềm được viết trước đó sẽ bị hỏng, vì tài nguyên cần thiết không còn được tìm thấy ở nơi đã được chỉ định nữa.

Tuy là tĩnh, nhưng các nhà cung cấp API vẫn muốn cập nhật các API web của họ, vậy nên các nhà phát triển đã giới thiệu hệ thống lập phiên bản trong URI trỏ đến một điểm cuối. Ví dụ với Clarifai API: điểm cuối cho chức năng gắn thẻ trong API web có URI sau: "https://api.google.com/v1/tag/". Trong URI đó, kí hiệu "/v1/" chỉ định quyền truy cập vào phiên bản đầu tiên của API web. Nếu Clarifai quyết định cập nhật lên phiên bản hai, họ có thể thực hiện việc này trong khi vẫn duy trì hỗ trợ cho phần mềm của bên thứ ba sử dụng phiên bản đầu tiên.

Tài nguyên so với dịch vụ

[sửa | sửa mã nguồn]

Web API Web 2.0 thường sử dụng các tương tác dựa trên máy như REST và SOAP. Các API web RESTful thường dựa trên các phương thức HTTP một cách lỏng lẻo để truy cập tài nguyên thông qua các tham số được mã hóa trong URL và sử dụng JSON hoặc XML để truyền dữ liệu. Ngược lại, các giao thức SOAP được W3C chuẩn hóa và bắt buộc sử dụng XML làm định dạng cho thông tin thực tế, thường là qua HTTP. Hơn nữa, các API Web dựa trên SOAP sử dụng xác thực XML để đảm bảo tính toàn vẹn của thông điệp cấu trúc, bằng cách tận dụng các lược đồ XML được cung cấp cùng với các tài liệu WSDL. Tài liệu WSDL xác định chính xác các thông điệp XML và các ràng buộc vận chuyển của một dịch vụ Web.

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ “REST API vs Web API (vs SOAP API) [What's the Difference?] | RapidAPI”. The Last Call - RapidAPI Blog (bằng tiếng Anh). 3 tháng 9 năm 2019. Truy cập ngày 15 tháng 2 năm 2022.
  2. ^ “Changes coming in Version 1.1 of the Twitter API”. blog.twitter.com (bằng tiếng Anh). Truy cập ngày 15 tháng 2 năm 2022.

Đọc thêm

[sửa | sửa mã nguồn]