Please enable JavaScript.
Coggle requires JavaScript to display documents.
API (Application Programming Interface) Giao diện lập trình ứng dụng -…
API
(Application Programming Interface)
Giao diện lập trình ứng dụng
Định nghĩa
: is a software intermediary that enables two applications to communicate with each other.
**API là cơ chế cho phép 2 thành phần phần mềm giao tiếp với nhau bằng một tập hợp các định nghĩa và giao thức.
Ứng dụng API
WEB API
Web API hay ASP.NET Web API là một framework dùng để xây dựng và lập trình các dịch vụ web HTTP. Nó có dạng là một RESTful API hiện đại, hội tụ đủ các điều kiện của REST cũng như các tiêu chuẩn tương tự, được tối ưu cho các dịch vụ trực tuyến cũng như ứng dụng web hiện nay
XML/JSON as formatting language
Simple URI as the address for the services
Stateless communication
Hypertext Transfer Protocol (HTTP)
HTTP works as a request-response protocol between a client and server.
HTTP tạo ra Request - Response giữa Client và server
HTTP Method
Phương thức giao tiếp
POST
POST được sử dụng để gửi dữ liệu tới một server để tạo hoặc cập nhật tài nguyên trên đó.
Dữ liệu được gửi tới server với method POST được lưu trữ trong request body của truy vấn HTTP
Khi tạo dữ liệu nên dùng POST để bảo mật dữ liệu hơn
Lưu ý khi Truy vấn post
không bao giờ bị cached lại
không được duy trì trong lịch sử trình duyệt
không thể được đánh dấu bookmark
không có giới hạn độ dài
PUT
PUT được sử dụng để gửi dữ liệu tới server để tạo hoặc cập nhật tài nguyên trên đó.
Truy vấn POST gọi nhiều lần ra 1 kết quả
HEAD
HEAD gần giống giống với lại GET, tuy nhiên nó không có response body.
Truy vấn HEAD hữu ích khi chúng ta sử dụng nó để kiểm tra những gì mà một truy vấn GET sẽ trả về trước khi thực hiện truy vấn GET – kiểu như trước khi download một file lớn về máy hay response body.
DELETE
DELETE được sử dụng để xóa tài nguyên cụ thể nào đó.
PATCH
Truy vấn PATCH dùng để cập nhật tài nguyên giống PUT nhưng:
1
. PUT
update: Nếu chỉ gửi 1 số field nhất định thì những field còn lại sẽ bị xóa (tức bị null) -
Chú ý rằng, nếu như ban đầu chúng ta không có sẵn resource mà sử dụng method PUT. Nó sẽ thực hiện chức năng như POST để tạo mới một resource.
2.PATCH
Update: PATCH được dùng để thay đổi data thế nhưng nó chỉ thay đổi những field được yêu cầu thay đổi thay vì toàn bộ resource
Chú ý rằng, bạn không thể dùng method PATCH cho một resource không tồn tại như PUT (Kết quả sẽ trả về FAIL và không có resource mới được tạo ra
OPTIONS
OPTIONS được sử dụng để mô tả các tùy chọn trong quá trình giao tiếp cho tài nguyên đích.
CONNECT
Thiết lập một tunnel tới Server được xác định bởi URI đã cung cấp.
TRACE
Trình bày một vòng lặp kiểm tra thông báo song song với path tới nguồn mục tiêu.
GET
GET được sử dụng để request dữ liệu từ một nguồn dữ liệu cụ thể.
Khi lấy dữ liệu nên dùng GET để truy xuất và xử lí nhanh hơn.
Lưu ý khi Truy vấn Get:
vẫn duy trì trong lịch sử trình duyệt
có thể được đánh dấu bookmark
không bao giờ nên được sử dụng khi xử lý các dữ liệu nhạy cảm
có độ dài giới hạn
chỉ có thể được sử dụng để yêu cầu dữ liệu
có thể bị cache lại
Ưu/ Nhược điểm của Web API
NHƯỢC ĐIỂM
Khó sử dụng
Tốn thời gian, chi phí phát triển, nâng cấp và vận hành
Dễ bị tấn công nếu không có giới hạn điều kiện kỹ
ƯU ĐIỂM
Mới chỉ hỗ trợ mặc định các phương thức GET, POST
Cần phải có kiến thức chuyên sâu, kinh nghiệm backend tốt để có thể sử dụng hiệu quả API -> Khó sử dụng
Tốn thời gian, chi phí phát triển, nâng cấp và vận hành cả 1 hệ thống server
Hệ thống dễ bị tấn công nếu không có giới hạn điều kiện kỹ -> Khó khăn trong việc nâng cao độ bảo mật của hệ thống
API trên hệ điều hành
API của thư viện phần mềm hay framework:
Hoạt động API
Kiến trúc API thường được giải thích dưới dạng máy chủ và máy khách. Ứng dụng gửi yêu cầu được gọi là máy khách, còn ứng dụng gửi phản hồi được gọi là máy chủ.
Client > Request
Server > Response