REST API là gì? Nguyên tắc hoạt động API

REST API không còn khái niệm xa lạ với mọi người, hiện nay được ứng dụng khắp mọi nơi từ hệ thống thương mại điện tử hay ứng dụng, thì bài viết dưới đây mình cung cấp thông tin REST API cho bạn.

1. REST API là gì? 

Rest API, hay còn gọi đầy đủ là RESTful API, đóng vai trò như cầu nối thông tin, cho phép hai ứng dụng hoặc ClientServer trao đổi dữ liệu một cách hiệu quả. Hiện nay, hầu hết các ứng dụng kinh doanh đều sử dụng Rest API để giao tiếp với các bên thứ ba hoặc xử lý các tác vụ, góp phần tạo nên hệ sinh thái ứng dụng linh hoạt và mạnh mẽ. Để hình dung cho bạn dễ hiểu thì mình có ví dụ dưới đây 

Ví dụ: Dữ liệu trên các trang web thương mại điện tử được cập nhật liên tục, theo dõi đơn hàng hay mua sắm nhanh chóng. 

2. Thành phần chính trong REST API

2.1 REST là gì

REST được viết tắt REpresentational State Transfer) là một kiến trúc phần mềm được sử dụng rộng rãi nhằm thiết kế các giao diện lập trình ứng dụng, cho phép truyền tải dữ liệu giữa các hệ thống.Trong đó, ClientServer hoàn toàn độc lập, mỗi một request REST API đều không mang trạng thái trước đó.

Dữ liệu được trao đổi giữa client và server dưới dạng các biểu diễn (representation), thường là JSON hoặc XML. Mỗi biểu diễn thể hiện trạng thái của một tài nguyên cụ thể tại một thời điểm nhất định. 

2.2 API là gì

API (Application Programming Interface) là một “bề mặt” cho phép các nhà phát triển phần mềm giao tiếp với các ứng dụng và dịch vụ khác. Nó hoạt động như một cầu nối, giúp các chương trình khác nhau có thể trao đổi dữ liệu và chức năng với nhau mà không cần biết chi tiết về cách thức hoạt động bên trong của nhau. 

3. Nguyên tắc hoạt động của REST API


REST API hoạt động tương tự như trình duyệt web. Khi client gửi yêu cầu (Request) lên server bằng phương thức HTTP/1, server sẽ xử lý yêu cầu và trả về dữ liệu dưới dạng JSON hoặc XML.

Client sẽ gửi Request với thông tin bao gồm phương thức HTTP, URL, headers và body. Server sẽ xác định tài nguyên được yêu cầu và thực hiện hành động tương ứng, sau đó tạo Response với mã trạng thái HTTP, headers và body. Cuối cùng, client sẽ nhận Response và xử lý dữ liệu được trả về.

4. Request và response trong REST API

Để trao đổi trạng thái (state) trong REST API, các tài nguyên (resource) sẽ được giao tiếp thông qua việc gửi các yêu cầu (request) và nhận phản hồi (response) bằng giao thức HTTP/1.

Việc giao tiếp này cần được chỉ định bởi các phương thức (method) tương ứng. Mỗi phương thức sẽ quy định một hành động cụ thể được thực hiện trên tài nguyên. Phương thức ( method ) bao gồm:

GET: Truy xuất tài nguyên trong dữ liệu.

POST: Tạo một tài nguyên mới.

PUT/PATCH: Cập nhật tài nguyên hiện có.

DELETE: Xóa một tài nguyên trong dữ liệu

4.1 Phương thức xác thực API RESTful

Đảm bảo an toàn cho dữ liệu là điều vô cùng quan trọng, đặc biệt là khi sử dụng REST API để trao đổi thông tin. Bảo vệ dữ liệu khỏi truy cập trái phép, bước xác thực danh tính đóng vai trò then chốt trước khi trả dữ liệu cho Client. Có 3 kiểu xác thực phổ biến

HTTP basic: HTTP Basic Authentication  là kiểu xác thực phổ biến của một Web server, yêu cầu mỗi Client nhập username và password, Sau đó mã hóa những thông tin này dưới dạng base64.

Token Authentication: là phương pháp thay thế cho HTTP basic, thay vì gửi trực tiếp tên người dùng và mật khẩu, phương pháp này sử dụng token để xác thực danh tính của Client.

API Key: Kiểu xác thực này như tên gọi nó, yêu cầu một chuỗi ký tự duy nhất được server cấp cho client để xác minh danh tính và cho phép truy cập dữ liệu API.

4.2 Phản hồi API RESTFUL bao gồm những gì

HTTP Status Code

HTTP Status Code là mã gồm 3 chữ số được server gửi trả về cho client để mô tả trạng thái của quá trình xử lý yêu cầu (request) từ client. Mã này giúp client hiểu được kết quả của request và cách xử lý tiếp theo.

Dưới đây là một số mã thông dụng:

00ContinueClient nên tiếp tục gửi yêu cầu.
200OKYêu cầu thành công và server đã trả về dữ liệu.
201CreatedYêu cầu thành công và tài nguyên mới đã được tạo.
204No ContentYêu cầu thành công nhưng không có dữ liệu trả về.
301Moved PermanentlyTài nguyên đã được di chuyển vĩnh viễn đến URL mới.
302FoundTài nguyên được tìm thấy tại URL mới.
400Bad RequestYêu cầu không hợp lệ do lỗi cú pháp.
401UnauthorizedClient không được phép truy cập tài nguyên.
403ForbiddenClient được phép truy cập server nhưng không được phép truy cập tài nguyên.
404Not FoundTài nguyên không được tìm thấy.
500Internal Server ErrorLỗi xảy ra trên server và không thể xử lý yêu cầu.
503Service UnavailableServer hiện không khả dụng để xử lý yêu cầu.
Một số mã phổ biến

Nội dung Thông báo

Dạng biểu diễn tài nguyên là định dạng dữ liệu được sử dụng để truyền tải thông tin từ server đến client. Máy chủ sẽ chọn định dạng phù hợp dựa trên các tiêu đề yêu cầu của client. Client có thể yêu cầu thông tin ở định dạng XML hoặc JSON như sau.

‘{“name”:”John”, “age”:30}’

Tạm kết

REST API là kiến trúc phổ biến xây dựng dịch vụ web, với khả năng liên kết linh hoạt và mạnh mẽ, cho phép API dễ dàng giao tiếp giữa ứng dụng với nhau. Trong bối cảnh phát triển của ứng dụng di động, dịch vụ web và IoT, kiến thức chắc về REST API đã trở thành một yếu tố quan trọng trong lĩnh vực phát triển phần mềm cho bạn.

Cảm ơn các bạn đã dành thời gian đọc bài viết của mình. Hy vọng những chia sẻ của mình sẽ giúp ích cho các bạn. Nếu có bất kỳ câu hỏi hoặc góp ý nào, vui lòng để lại bình luận bên dưới.

Các Bài viết liên quan

Bình luận về bài viết này

Blog tại WordPress.com.