Đó thực sự là một câu hỏi rất rộng. Theo nghĩa cơ bản nhất, API web hoạt động khi máy khách (như trình duyệt Web) thực hiện một yêu cầu HTTP nào đó với máy chủ Web. Máy chủ kiểm tra yêu cầu đó để tìm ra những gì người dùng muốn, sau đó trả lại dữ liệu ở một số định dạng (như một trang) mà khách hàng sau đó kiểm tra để có được những gì họ muốn. Đây chỉ là những điều duy nhất mà các API Web có điểm chung; Tôi nhận ra rằng điều này không thực sự trả lời câu hỏi của bạn, nhưng tôi muốn đưa ra lý do tại sao câu hỏi quá rộng.
Có tất cả các cách mà khách hàng có thể định dạng yêu cầu của mình hoặc máy chủ có thể định dạng phản hồi của mình và do đó, để bất kỳ cách nào có ý nghĩa, khách hàng và máy chủ phải đồng ý với một số quy tắc cơ bản. Nói chung, ngày nay có hai phong cách rất chung được sử dụng cho loại điều này.
Cuộc gọi thủ tục từ xa (RPC)
Trong API kiểu RPC, thường chỉ có một URL cho toàn bộ API. Bạn gọi nó bằng cách POST một tài liệu thuộc loại nào đó chứa thông tin về những gì bạn muốn làm và máy chủ trả về tài liệu có những gì bạn muốn. Trong thuật ngữ điện toán chung, tài liệu yêu cầu thường có tên hàm và một số đối số.
Một số tiêu chuẩn cho kiểu API này bao gồm XML-RPC và SOAP. Các tiêu chuẩn này cố gắng tạo một định dạng có thể được sử dụng để mô tả chức năng gọi bạn đang thực hiện hoặc thậm chí để mô tả toàn bộ API.
Chuyển giao nhà nước liên quan (REST)
Trong API kiểu REST, bạn không có nhiều URL cho API dưới dạng không gian tên : máy chủ hoặc thư mục bên trong máy chủ, nơi có rất nhiều đối tượng khác nhau và mọi URL trong không gian tên này trở thành một phần của API. Thay vì nói với máy chủ rằng bạn muốn sử dụng API, URL sẽ cho máy chủ biết bạn muốn sử dụng API trên . Sau đó, bạn sử dụng phương thức HTTP và có thể là cơ quan yêu cầu để giải thích những gì bạn muốn làm với đối tượng đó: GET (lấy một cái gì đó đã có), POST (tạo một cái gì đó mới), PUT (thay thế một cái gì đó đã có), hoặc XÓA (loại bỏ một cái gì đó đã có). Có một vài động từ khác bạn có thể sử dụng, nhưng đó là những động từ phổ biến nhất.
Cho đến nay, tôi đã không đề cập đến các định dạng tiêu chuẩn cho REST. Về lý thuyết, bạn có thể sử dụng bất kỳ định dạng nào. HTTP đã cung cấp để nói những gì bạn muốn làm và những gì bạn muốn làm, vì vậy định dạng của phần yêu cầu có thể là bất cứ thứ gì: một số đại diện của đối tượng bạn muốn tạo hoặc thay thế. Nhưng trong thực tế, các tác giả REST có xu hướng đồng ý về một định dạng, bởi vì sẽ rất khó để hiểu được mọi định dạng có thể.