API là gì? 4 đặc điểm nổi bật của API
Mục Lục
API là gì? 4 đặc điểm nổi bật của API
API là viết tắt của “Application Programming Interface” (Giao diện Lập trình Ứng dụng). Đây là một tập hợp các quy tắc và giao thức mà phần mềm và ứng dụng sử dụng để giao tiếp với nhau. API cho phép các phần mềm khác nhau trao đổi dữ liệu và tương tác với nhau một cách hiệu quả. Dưới đây là bốn đặc điểm nổi bật của API:
- Tích hợp và Kết nối: API cho phép các ứng dụng và phần mềm khác nhau kết nối với nhau, cho phép truyền dữ liệu và thực hiện các tác vụ cụ thể. Điều này tạo điều kiện cho tích hợp dễ dàng giữa các ứng dụng khác nhau để cung cấp các tính năng mạnh mẽ và toàn diện hơn cho người dùng.
- Tính Phân tán: API cho phép ứng dụng hoạt động phân tán, nghĩa là chúng có thể hoạt động từ xa trên các máy chủ khác nhau. Điều này làm cho việc phát triển ứng dụng có thể được thực hiện một cách linh hoạt và tiết kiệm chi phí.
- Mức Độ Tùy chỉnh: API thường cho phép các phần mềm tùy chỉnh và mở rộng các chức năng của ứng dụng khác một cách dễ dàng. Điều này giúp các nhà phát triển xây dựng các ứng dụng phức tạp hơn và tuỳ chỉnh theo nhu cầu cụ thể.
- Bảo mật và Quyền Truy Cập: API có thể điều chỉnh quyền truy cập và bảo mật, cho phép quản lý đối tượng và đảm bảo rằng chỉ những người dùng có quyền truy cập được phép sử dụng các dịch vụ và dữ liệu cụ thể.
API chơi một vai trò quan trọng trong việc phát triển ứng dụng, tạo ra các tích hợp dễ dàng giữa các dịch vụ và hệ thống khác nhau, và cung cấp tính linh hoạt và mở rộng cho các ứng dụng và phần mềm.
Sử dụng API giúp developer đẩy nhanh quy trình tăng trưởng ứng dụng, tạo ra sự nhanh gọn, thuận tiện để hướng đến tiềm năng cuối là nâng cao hiệu suất việc làm .
Đọc bài viết của ITviec để tìm hiểu và khám phá xem :
- API là gì? Web API là gì? 4 đặc điểm nổi bật của API là gì?
- Ưu, nhược điểm của API và các ứng dụng của API
- Làm thế nào để đảm bảo tính bảo mật cho API
- Những API miễn phí cho developer thực hành
Xem thêm việc làm Developer trên ITviec
Bạn đang đọc: API là gì? 4 đặc điểm nổi bật của API
API là gì?
API là viết tắt của Application Programming Interface – phương pháp trung gian liên kết những ứng dụng và thư viện khác nhau .
Nó phân phối năng lực truy xuất đến một tập những hàm hay dùng, từ đó hoàn toàn có thể trao đổi tài liệu giữa những ứng dụng .
Thi thoảng vẫn có người lầm tưởng API là một ngôn từ lập trình nhưng thực ra, API chỉ là những hàm hay thủ tục thường thì. Các hàm này được viết trên nhiều ngôn từ lập trình khác nhau .
Để hiểu rõ hơn API là gì, hãy tưởng tượng bạn đang ngồi trong một nhà hàng quán ăn, trước mặt bạn là menu để gọi thức ăn. Nhà bếp là một phần của “ mạng lưới hệ thống ”, nơi sẽ chuẩn bị sẵn sàng những món ăn mà bạn gọi. Tuy nhiên, làm thế nào để phòng bếp biết được bạn muốn ăn món nào ? Và làm thế nào để họ phân phối thức ăn đến bàn của bạn ? Đây là lúc cần đến sự Open của người Giao hàng, đóng vai trò như API .
Người ship hàng ( hay API ) sẽ nhận nhu yếu từ bạn và truyền đạt với phòng bếp ( mạng lưới hệ thống ) những thứ cần làm. Sau đó người Giao hàng sẽ phản hồi ngược lại cho bạn, trong trường hợp này, họ sẽ mang thức ăn sau khi căn phòng nhà bếp hoàn thành xong đến tận bàn cho bạn .
4 đặc điểm nổi bật của API
- API sử dụng mã nguồn mở, dùng được với mọi client hỗ trợ XML, JSON.
- API có khả năng đáp ứng đầy đủ các thành phần HTTP: URI, request/response headers, caching, versioning, content forma…. Bạn có thể sử dụng các host nằm trong phần ứng dụng hoặc trên IIS.
- Mô hình web API dùng để hỗ trợ MVC như: unit test, injection, ioc container, model binder, action result, filter, routing, controller. Ngoài ra, nó cũng hỗ trợ RESTful đầy đủ các phương thức như: GET, POST, PUT, DELETE các dữ liệu.
- Được đánh giá là một trong những kiểu kiến trúc hỗ trợ tốt nhất với các thiết bị có lượng băng thông bị giới hạn như smartphone, tablet…
Ưu và nhược điểm của API
Ưu điểm
- Giao tiếp hai chiều phải được xác nhận trong các giao dịch sử dụng API. Cũng chính vì vậy mà các thông tin rất đáng tin cậy.
- API là công cụ mã nguồn mở, có thể kết nối mọi lúc nhờ vào Internet.
- Hỗ trợ chức năng RESTful một cách đầy đủ.
- Cấu hình đơn giản khi được so sánh với WCF (Window Communication Foundation). Cung cấp cấp trải nghiệm thân thiện với người dùng.
Nhược điểm
- Tốn nhiều chi phí phát triển, vận hành, chỉnh sửa.
- Đòi hỏi kiến thức chuyên sâu.
- Có thể gặp vấn đề bảo mật khi bị tấn công hệ thống.
Mình sử dụng API trong hầu hết những dự án web application và mobile application. Mục đích là để kết nối thư viện, dữ liệu giữa những nền tảng khác nhau. Tuy nhiên, tính bảo mật của API còn kém, khiến mình đau cả đầu (cười). – Ngọc Thái chia sẻ –
Ứng dụng của API
- Web API: Là hệ thống API được sử dụng trong các hệ thống website, chẳng hạn: Google, Facebook… Hầu hết các website đều cung cấp hệ thống API cho phép bạn kết nối, lấy dữ liệu hoặc cập nhật cơ sở dữ liệu. Đa số Web API được thiết kế theo tiêu chuẩn RESTful.
- API trên hệ điều hành: Windows hay Linux có rất nhiều API. Họ cung cấp các tài liệu API là đặc tả các hàm, phương thức cũng như các giao thức kết nối. Nó giúp lập trình viên có thể tạo ra các phần mềm ứng dụng có thể tương tác trực tiếp với hệ điều hành.
- API của thư viện phần mềm (framework): API mô tả và quy định các hành động mong muốn mà các thư viện cung cấp. Một API có thể có nhiều cách triển khai khác nhau, giúp cho một chương trình viết bằng ngôn ngữ này có thể sử dụng được thư viện viết bằng ngôn ngữ khác.
Làm sao để đảm bảo tính bảo mật cho API?
2 vấn đề phổ biến nhất liên quan đến bảo mật API
1. SQL Injection
Injection hay SQL Injection là một lỗi khá thông dụng. Những kẻ tiến công tận dụng lỗ hổng của việc kiểm tra tài liệu nguồn vào trong những ứng dụng web đến mạng lưới hệ thống quản trị cơ sở tài liệu ( DBMS ) để khai thác những thông tin nhạy cảm .
Hướng khắc phục: Ràng buộc thật kỹ dữ liệu người dùng nhập vào. Có thể dùng Regular Expression để loại bỏ đi các ký tự lạ hoặc các ký tự không phải là số hoặc dùng các hàm có sẵn để giảm thiểu lỗi.
2. Spam request
Những request để chính sách công khai minh bạch rất dễ bị spam .
Ví dụ : chỉ cần hoàn thành xong username và password để ĐK thông tin tài khoản ( dù sau đó có nhu yếu xác thực tài khoản hay không ) .
Những người thích “nghịch” sẽ viết một đoạn script gửi request liên tiếp cho server. Server sẽ phải xử lý hết các request này và tiến hành đăng ký liên tục.
Hướng khắc phục: Hãy khiến cho những request này trở nên phức tạp hơn. Chẳng hạn: thêm câu hỏi bảo mật, yêu cầu người dùng chờ trong giây lát để thực hiện các thao tác tiếp theo…
Một số phương án ngăn rò rỉ lỗ hổng thông tin trong API
- Kiểm tra thẩm quyền người sử dụng và xác thực ứng dụng: Ngoài xác thực người sử dụng cuối, bạn cần phải xác thực ứng dụng. Ví dụ nếu bạn đang sử dụng ứng dụng AirBnB hoặc Uber, những ứng dụng này sẽ gọi các API của chúng và vì vậy ứng dụng được xác thực.
- Mã hóa dữ liệu được truyền đi: Sử dụng chứng chỉ SSL (Secure Sockets Layer) để mã hóa các dữ liệu quan trọng.
- Chữ ký số: Các chữ ký số là các chuỗi ký tự duy nhất tượng trưng cho một người sử dụng. Bạn lưu trữ các chuỗi này trong cơ sở dữ liệu và chỉ cung cấp nếu người sử dụng nhập đúng tên và mật khẩu.
- Tránh các mật khẩu cố định hoặc nhúng: Đừng vì lười biếng muốn rút gọn thao tác mà sử dụng mật khẩu đơn giản hoặc lấy thông tin ID và mật khẩu được lưu cục bộ trên một ứng dụng di động.
Những API miễn phí dành cho developer
- Dog API: API Dog hoàn toàn miễn phí, cung cấp các endpoints cho các ảnh và dữ liệu văn bản về chó. Nó hỗ trợ CORS do đó chúng ta có thể dùng trực tiếp từ các ứng dụng front-end.
- Petfinder: API này cung cấp các dữ liệu về nhận nuôi thú cưng, yêu cầu xác thực bằng OAuth để truy cập dữ liệu. API này cũng hỗ trợ CORS như Dog API.
- shibe.online: shibe.online cung cấp URL cho các hình ảnh về những chú chó dễ thương để làm dữ liệu. Nó dùng các chuỗi truy vấn để lấy dữ liệu từ API.
- Anime News Network API: Nếu bạn thích Anime thì API này chính là dành cho bạn. Nó trả về dữ liệu ở các định dạng khác nhau như HTML hoặc XML. Do đó, nếu bạn cần thao tác và hiển thị dữ liệu thì bạn sẽ phải chuyển đổi từ XML sang JSON.
- Jikan: Đây là một API dữ liệu anime khác, có 1 REST API hỗ trợ CORS bên cạnh các thư viện được tạo cho các nền tảng khác nhau như Python, Ruby và JavaScript.
- JSONPlaceholder: Cung cấp một API với các yêu cầu GET, POST, PUT và DELETE có hỗ trợ CORS. Các endpoints được cung cấp với dữ liệu được tải sẵn mà chúng ta có thể dùng để hiển thị và cập nhật.
- REQ|RES: Cũng giống như JSONPlaceholder, REQ|RES cung cấp 1 API thực sự để bạn xây dựng giao diện người dùng. Nó có các endpoints cho tất cả các thao tác HTTP được sử dụng để nhận và thao tác dữ liệu người dùng fake. Các dữ liệu này đã được chuẩn bị trước nên bạn cũng không phải tự thêm vào nữa.
Bạn thấy bài viết hay và cần thiết với nhiều người? Đừng ngại nhấn nút Share bên dưới nhé.
Và đừng quên tham khảo việc làm Developer trên ITviec
Source: https://dvn.com.vn
Category: Hỏi Đáp