API là gì? Chi tiết về API
- Bùi Tấn Lực
- 378
- 15/05/2024
API là gì? Đó là phương thức kết nối trung gian cho phép các thành phần phần mềm giao tiếp với nhau giúp tăng hiệu quả và tiết kiệm thời gian trong việc phát triển ứng dụng, chi tiết như nào hãy cùng chúng tôi phân tích:
API là gì? Chi tiết về API
Mục Lục [Ẩn]
API là gì?
API (Application Programming Interface – giao diện lập trình ứng dụng) là phương thức kết nối trung gian cho phép các thành phần phần mềm giao tiếp với nhau giúp tăng hiệu quả và tiết kiệm thời gian trong việc phát triển ứng dụng, cung cấp và truy xuất những hàm thường dùng để trao đổi dữ liệu các ứng dụng một cách đơn giản.
Xem thêm bài viết Website là gì?
Cách API hoạt động
Hiểu một cách đơn giản, thông qua một hoặc nhiều câu lệnh khác nhau API cho phép ứng dụng này giao tiếp với các ứng dụng khác. Những lệnh này thông qua API khác với API SOAP hoặc REST có thể được gửi, định dạng và truy xuất dữ liệu, nhưng vẫn sẽ tuân thủ theo một số quy định và quy luật chung.
Giao diện API đặt lên trên các Server Side Scripts, Classes và Functions để hoạt động. Cho phép các ứng dụng, tập lệnh bên ngoài và bên trong yêu cầu API thông báo cho máy chủ thực hiện một số tác vụ nhất định, giao diện này sẽ thực hiện những tác vụ chi tiết hơn.
Một số hành động, phương thức API:
GET
POST
PUT
DELETE
API thường ứng dụng vào đâu?
Web API
Web API cho phép website kết nối, lấy dữ liệu hoặc cập nhật cơ sở dữ liệu. Một số chức năng login thông Google, Facebook, Twitter, Github… có nghĩa là chức năng đang gọi đến API.
API trên hệ điều hành
Có rất nhiều API trên Windows hay Linux, đặc tả các hàm, phương thức cũng như các giao thức kết nối là các tài liệu API họ cung cấp. Nó giúp 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 từ lập trình viên.
API của thư viện phần mềm hay framework
Các thư viện cung cấp được API mô tả và quy định các hành động mong muốn. Nó cũng giúp cho một chương trình viết bằng ngôn ngữ này có thể sử dụng thư viện được viết bằng ngôn ngữ khác hoặc có thể có nhiều cách triển khai khác nhau khác. Ví dụ một thư viện tạo file PDF được viết bằng C++ mà bạn vẫn có thể dùng Php để yêu cầu.
Xu hướng phát triển của API
Các công ty bảo vệ API của chính mình
Thường là những công ty sản xuất thiết bị, game, công nghệ, ví dụ như Sony cùng hệ thống playstation, họ sẽ chủ trương bảo vệ API và thu lời từ các nhà phát triển phần mềm thứ 3 đăng ký, xin phép họ.
Các công ty chuyên cung cấp API miễn phí
Để viết lên phần mềm bên thứ 3 người dùng có thể thoải mái sử dụng API này nhưng vẫn cần mua thêm phần mềm để sử dụng, nó cũng là nguồn lợi của các nhà cung cấp API miễn phí, đồng thời vừa có thể đem tới hiệu quả lan tỏa và marketing mạnh mẽ hơn.
Microsoft, Google hay Apple... hầu như đều cung cấp các API miễn phí, người dùng phải mua của Window, Google để có thể sử dụng phần mềm mà lập trình viên viết.
Làm sao để đảm bảo tính bảo mật cho API?
Vấn đề phổ biến nhất liên quan đến bảo mật API
SQL Injection
Để khai thác các thông tin nhạy cảm những kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web đến hệ thống quản lý cơ sở dữ liệu (DBMS).
Hướng khắc phục: 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, ràng buộc thật kỹ dữ liệu người dùng nhập vào.
Spam request
Những request rất dễ bị spam khi để chế độ công khai. Như lúc đăng ký tài khoản dù có yêu cầu xác thực tài khoản hay không chỉ cần hoàn thành username và password để đăng ký tài khoản. Server sẽ phải xử lý hết các request này và tiến hành đăng ký liên tục khi 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.
Hướng khắc phục: 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… để khiến cho những request này trở nên phức tạp hơn.
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
Xác thực người sử dụng cuối và xác thực ứng dụng. Vì 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
Để mã hóa các dữ liệu quan trọng hãy sử dụng chứng chỉ SSL (Secure Sockets Layer).
Chữ ký số
Các chuỗi ký tự duy nhất tượng trưng cho một người sử dụng là chữ ký số. Chỉ cung cấp nếu người sử dụng nhập đúng tên và mật khẩu và lưu trữ các chuỗi này trong cơ sở dữ liệu.
Tránh các mật khẩu cố định hoặc nhúng
Đừng sử dụng mật khẩu đơn giản chỉ vì lười biếng muốn rút gọn thao tác 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.
Ưu điểm và Nhược điểm của API
Ưu điểm của API:
Desktop, mobile và các ứng dụng trên website API được tích hợp trên hầu hết các ứng dụng này.
Khi được trả về client có sự linh hoạt trong việc định dạng dữ liệu khác nhau.
Hỗ trợ chức năng RESTful khi API là một công cụ có mã nguồn mở, việc này giúp bạn có thể sử dụng API mọi lúc bất kể đâu với điều kiện là phải có kết nối với internet.
Giúp đảm bảo được độ tin cậy cao vì hỗ trợ giao tiếp hai chiều và được xác nhận trong những giao dịch khác nhau.
Về cấu hình của API thì vô cùng thân thiện và đơn giản mang lại các trải nghiệm tuyệt vời cho người dùng khi so sánh với cấu hình của WCF.
Các thành phần MVC từ Model Binder, Action cho đến Unit Test,… được API hỗ trợ đầy đủ.
Giúp công việc lập trình đơn giản hơn vì API giúp người dùng nhanh chóng xây dựng HTTP service.
Nhược điểm của API:
Chưa hoàn toàn như là RESTful service thông thường và API chỉ hỗ trợ mặc định POST, GRT.
Việc sử dụng API mới thật sự hiệu quả khi bạn có một kiến thức chuyên sâu.
Tốn rất nhiều thời gian cũng cũng như chi phí để vận hành và phát triển API.
Nếu chủ sở hữu chưa giới hạn kỹ các điều kiện trên hệ thống thì hệ thống bảo mật sẽ bị tấn công.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết về API
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *