Web API

Web API là giao 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ủ 
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 đó.

Điểm cuối 
Đ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.

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ụ 
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.

Xem thêm 

 Giao diện lập trình ứng dụng 
 Trang web động 
 HTML5 trong thiết bị di động 
 Tổng quan về ngôn ngữ mô tả API RESTful 
 REST 
 Dịch vụ web 
 Web API Tutorial  
 Web API Interview Questions and Answers

Tham khảo

Đọc thêm 

 
 
 
 
 

Phát triển Web
Kiến trúc phần mềm