🥬
FreshForFresh
  • ✌️Xin chào!
  • Overview
    • 💡Data structures and Algorithms
    • 👀Programming
    • 🧠Database
    • 🦴Back-End
    • ✨Front-End
    • 💐Spring Framework
    • 🛠️Tool
  • Data structures and Algorithms
    • 🎰Data Type
    • 🗑️Garbage collection
    • 🧩Data structures
    • 🎲Algorithms
  • Programming
    • 🧮Compiler
      • 🤖Tại sao phải cần compiler?
      • 📠Java Virtual Machine
  • 📈Thread
  • 🔐Lock & Deadlock
  • 🏇Race condition & Data Race
  • 🧯Synchronized
  • 🗜️Blocking IO và Non Blocking IO Client Server Socket
  • 🌐Languages
    • 🎛️Programming Language
    • 📑Client-Side & Server-Side
    • ⁉️Why java? Why javascript?
  • 🗼Design pattern
    • 🎨Front-End Design Pattern
    • 🏗️Back End Design Pattern
      • 🐴with Java
      • 🦄with Spring Boot
      • 🐖with Modern Backend Development
      • 🐁with Microservice
  • 🍀Clean Code
    • 🌊Chương 1: Code sạch
    • 📐Chương 2: Quy tắc đặt tên rõ nghĩa
    • 🚧Chương 3: Cách viết hàm
    • 👻Chương 4: Comments thế nào cho chuẩn?
    • 🥳Chương 5: Định dạng code.
    • 😈Chương 6: Đối tượng và cấu trúc dữ liệu
    • 🐛Chương 7: Xử lí lỗi
    • ☦️Chương 8: Ranh giới code
    • 🧪Chương 9: Unit test
    • 🥂Chương 10: Lớp đối tượng
    • 🥡Chương 11: Code sạch cấp hệ thống
  • Database
    • 🐔Giới thiệu
    • 📰Các loại cơ sở dữ liệu
    • 🐘Các loại DBMS phổ biến
    • 🕵️‍♀️SQL và cách sử dụng với relational database
      • 👺Lệnh SQL
      • 🛢️JOIN trong SQL
      • 🛕GROUP BY trong SQL
      • 🐼ORDER BY trong SQL
      • 🐣Truy vấn con SUBQUERY trong SQL Server
      • 🏦Transaction Trong SQL
      • 🇲🇰ACID
    • ☢️Thiết kế cơ sở dữ liệu
    • 🕍Consistency and concurrency handling
      • 🔒Database locking
      • 🎮Concurrency Control
      • 🙀Isolation Level
    • 🎨Performance & Scability
      • ☝️Indexing
      • 👯‍♂️Partitioning
      • 💅Các tips tăng hiệu suất SQL
      • 🇲🇬Kiểm tra và Xác thực việc Sao lưu và Phục hồi CSDL
      • 🌠Database sharding
      • 🧘‍♂️REPLICATION
      • 😁Các vấn đề ảnh hưởng đến performance.
  • Back-End
    • 🔫API?
    • 🐕‍🦺Web Services
    • 💾Phân biệt API và web service
    • 🙆‍♂️Tìm hiểu về RestAPI
    • 🧦SOAP
    • ✈️GraphQL API
    • 📊Compared GraphQL & REST
    • 📄Phân biệt HTTP & HTTPS
    • 🚵Client & Server
    • 🇩🇲DOM
  • Front-End
    • 🦑User Interface (UI)
    • 🛰️State Management
  • Spring Framework
    • 🔐Spring Security
      • 🌅Đơn giản hoá Spring Security
      • 🌸Spring Security: Authentication and Authorization In-Depth
      • 🚻OAuth2 Basic
      • 🀄JWT + Spring Security Oauth
      • 📤Logout trong ứng dụng sử dụng bảo mật Oauth
      • 🔂Reset Password
      • 🎗️OAuth2 Remember Me với Refresh Token
      • ⛓️OAuth2 cho một Spring REST API
  • Network
    • 💸Mạng máy tính căn bản
  • Tool
    • 🦏Các câu lệnh Docker cơ bản
    • 🦧Github
      • 🐰Các lệnh Git cơ bản
      • 🐇Một số trường hợp khi sử dụng Git
    • 🏚️WebServer
      • 🪂Tổng quan về kiến trúc hệ thống
      • 🔃Cơ bản về WebServer Nginx
  • Tài nguyên
    • 👨‍🏫Course
    • 📖Docs
Powered by GitBook
On this page
  • Về khái niệm
  • API
  • Web service
  • Về bản chất
  • Khả năng giao tiếp qua mạng
  • Định dạng và kiến trúc
  • Hỗ trợ
  • Lưu trữ
  • Khả năng truy cập hạn chế
  • Mã nguồn mở
  1. Back-End

Phân biệt API và web service

PreviousWeb ServicesNextTìm hiểu về RestAPI

Last updated 1 year ago

Về khái niệm

API

API - Application Programming Interface, là giao diện lập trình ứng dụng, đây sẽ là không gian hỗ trợ việc tương tác giữa hai ứng dụng mà không cần bất kỳ sự hỗ trợ nào từ User.

API sẽ cung cấp sản phẩm - dịch vụ phục vụ cho việc giao tiếp với các sản phẩm cũng như dịch vụ khác, mà không cần quan tâm đến quá trình triển khai của chúng.

Web service

Là một tập hợp các giao thức và tiêu chuẩn mở được sử dụng rộng rãi, phục vụ cho quá trình trao đổi dữ liệu trong các hệ thống hay ứng dụng.

Các phần mềm ứng dụng được tạo ra bởi nhiều loại ngôn ngữ và có thể vận hành trên các nền tảng. Đồng thời, cho phép sử dụng các dịch vụ web nhằm mục đích trao đổi dữ liệu thông qua mạng máy tính.

Về bản chất

Mọi web service đều có thể được coi là API, nhưng tất cả API không hẳn sẽ là web service.

Khả năng giao tiếp qua mạng

API có thể hỗ trợ tối đa việc giao tiếp giữa các thiết bị, dù cho có kết nối mạng hoặc không.

Còn web service cần phải sử dụng hệ thống kết nối hai hay nhiều ứng dụng trên các máy khác nhau gọi là mạng, để phục vụ cho quá trình giao tiếp.

Định dạng và kiến trúc

API hoạt động tuân thủ các thiết khác nhau, bao gồm REST, SOAP, XML-RPC hay thậm chí là JSON-RPC. Còn web service sẽ chỉ hoạt động dựa trên SOAP, bởi xu hướng an toàn và tốt hơn trong việc bảo đảm sự nguyên vẹn của dữ liệu so với các dịch vụ khác.

Nếu như API có thể sử dụng bất kỳ loại ngôn ngữ nào để lưu trữ dữ liệu, thì web service thường có xu hướng sử dụng XML phục vụ cho việc mã hóa dữ liệu.

Hỗ trợ

API hỗ trợ giao thức HTTP, kèm theo URL, tiêu đề yêu cầu / phản hồi, bộ nhớ đệm, version và cả định dạng nội dung.

Web service chỉ hỗ trợ giao thức HTTP.

Lưu trữ

Các API có thể được lưu trưc trong một ứng dụng hay trên IIS.

Còn web service chỉ có thể được lưu trữ trên IIS.

Khả năng truy cập hạn chế

API có thể được chia thành các loại dựa trên phạm vi người dùng của chúng. Trong đó, một số cho phép các nhà phát triển xử lý chúng với sự giám sát hạn chế, số còn lại sẽ bị hạn chế đối với những khách hàng trả phí.

Còn web service chỉ có thể truy cập được đối với các đối tác đã được phê duyệt, nhờ đó chủ sở hữu web service có quyền kiểm soát tốt hơn đối với những người truy cập dữ liệu, cũng như cách họ sử dụng dịch vụ và các chức năng đi kèm.

Mã nguồn mở

API là mã nguồn mở và có thể sử dụng bởi bất kỳ người dùng nào hiểu được JSON hay XML.

Web service không phải là mã nguồn mở và chỉ có thể sử dụng khi người dùng hiểu về XML.

💾