Web API là giao diện lập trình ứng dụng cho máy chủ web hoặc trình duyệt web. Đây là khái niệm phát triển web, thường giới hạn ở phía máy khách (client-side) của ứng dụng web (bao gồm mọi khung web đang được sử dụng) và do đó thường không bao gồm máy chủ web (web server) hoặc chi tiết triển khai trình duyệt như SAPI hoặc API trừ khi có thể truy cập công khai từ xa ứng dụng web.
Phía máy chủ
Một Web API phía máy chủ là một giao diện lập trình bao gồm một hoặc nhiều điểm cuối (endpoint) cho một hệ thống các thông báo, hệ thống thông báo này xác định các yêu cầu (request) - phản hồi (response). Các thông báo yêu cầu - phản hồi được định nghĩa, thể hiện, truyền đi dưới dạng XML hoặc JSON.
Web API thực hiện đặc tả giao thức và do đó nó kết hợp các khái niệm như bộ nhớ đệm, URI, lập phiên bản, tiêu đề yêu cầu / phản hồi và các định dạng nội dung khác nhau trong đó.
Điểm cuối
Điểm cuối là khía cạnh quan trọng của việc tương tác với các Web API phía máy chủ, vì chúng chỉ định vị trí tài nguyên mà phần mềm bên thứ ba có thể truy cập. Thông thường, để truy cập tới điểm cuối, chương trình bên thứ ba đẩy một request HTTP đến điểm cuối thông qua URI, và tiếp đó, chương trình sẽ mong đợi một response từ điểm cuối được trả về. API web có thể là công khai hoặc riêng tư; với API riêng tư, điểm cuối yêu cầu access token.
Các điểm cuối cần phải tĩnh, nếu không sẽ không thể đảm bảo hoạt động chính xác của chương trình phần mềm tương tác với nó. Nếu vị trí của tài nguyên thay đổi (tương ứng với việc đó là điểm cuối thay đổi) thì phần mềm được viết trước đó sẽ bị hỏng, vì tài nguyên cần thiết không còn được tìm thấy ở nơi đã được chỉ định nữa.
Tuy là tĩnh, nhưng các nhà cung cấp API vẫn muốn cập nhật các API web của họ, vậy nên các nhà phát triển đã giới thiệu hệ thống lập phiên bản trong URI trỏ đến một điểm cuối. Ví dụ với Clarifai API: điểm cuối cho chức năng gắn thẻ trong API web có URI sau: "https://api.google.com/v1/tag/". Trong URI đó, kí hiệu "/v1/" chỉ định quyền truy cập vào phiên bản đầu tiên của API web. Nếu Clarifai quyết định cập nhật lên phiên bản hai, họ có thể thực hiện việc này trong khi vẫn duy trì hỗ trợ cho phần mềm của bên thứ ba sử dụng phiên bản đầu tiên.
Tài nguyên so với dịch vụ
Web API Web 2.0 thường sử dụng các tương tác dựa trên máy như REST và SOAP. Các API web RESTful thường dựa trên các phương thức HTTP một cách lỏng lẻo để truy cập tài nguyên thông qua các tham số được mã hóa trong URL và sử dụng JSON hoặc XML để truyền dữ liệu. Ngược lại, các giao thức SOAP được W3C chuẩn hóa và bắt buộc sử dụng XML làm định dạng cho thông tin thực tế, thường là qua HTTP. Hơn nữa, các API Web dựa trên SOAP sử dụng xác thực XML để đảm bảo tính toàn vẹn của thông điệp cấu trúc, bằng cách tận dụng các lược đồ XML được cung cấp cùng với các tài liệu WSDL. Tài liệu WSDL xác định chính xác các thông điệp XML và các ràng buộc vận chuyển của một dịch vụ Web.
👁️
0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
**Web API** là giao diện lập trình ứng dụng cho máy chủ web hoặc trình duyệt web. Đây là khái niệm phát triển web, thường giới hạn ở phía máy khách (client-side) của ứng dụng
**Dịch vụ web** (tiếng Anh: **web service**) là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữ liệu và các mạng máy tính để tạo thành một
**Web 1.0** là giai đoạn phát triển đầu tiên của World Wide Web (Viết tắt: _www_)- được phát minh bởi Nhà khoa học người Anh Tim Berners-Lee, kéo dài khoảng từ năm 1997 đến năm
**Web 2.0** (còn được gọi là **web tham gia** hay **web xã hội**) cho phép người dùng tương tác và cộng tác với nhau thông qua đối thoại trên phương tiện truyền thông xã hội
**Amazon Web Services** (**AWS**) là một công ty con của Amazon cung cấp các nền tảng điện toán đám mây theo yêu cầu cho các cá nhân, công ty và chính phủ, trên cơ
**Duyệt web an toàn của Google** là một dịch vụ của Google nhằm cảnh báo người dùng khi họ cố gắng điều hướng đến một trang web nguy hiểm hoặc tải xuống các tệp nguy
**WebRTC** (**Web Real-Time Communication**) là một web API được phát triển bởi World Wide Web Consortium (W3C), khả năng hỗ trợ trình duyệt (browser) giao tiếp với nhau thông qua VideoCall, VoiceCall hay transfer data
**Phân tích website (Website analytics)** là việc đo lường, thu thập, phân tích và báo cáo dữ liệu web nhằm mục đích hiểu và tối ưu hóa việc sử dụng web. Tuy nhiên, phân tích
**MDN Web Docs**, trước đây là **Mozilla Developer Network** và trước đó nữa là **Mozilla Developer Center**, là trang web chính thức của Mozilla về tài liệu phát triển của các tiêu chuẩn web và
**Google Cloud Platform** (**GCP**), được cung cấp bởi Google, là một bộ dịch vụ điện toán đám mây chạy trên cùng một cơ sở hạ tầng mà Google sử dụng nội bộ cho các sản
**MediaWiki** là phần mềm wiki tự do nguồn mở được phát hành dưới Giấy phép Công cộng GNU (GPL). Nó được sử dụng trên Wikipedia và gần như tất cả các trang web Wikimedia khác,
nhỏ|Java 2 **Java 2 Platform, Enterprise Edition** (_Nền tảng Java, phiên bản 2 - phiên bản công nghiệp_ là công nghệ của Sun Microsystems) hay **Java EE** (gọi tắt là J2EE) là một nền lập
**Java** (phiên âm Tiếng Việt: "_Gia-va_") là một ngôn ngữ lập trình hướng đối tượng, dựa trên lớp được thiết kế để có càng ít phụ thuộc thực thi càng tốt. Nó là ngôn ngữ
Một **tiện ích mở rộng trình duyệt** hay **tiện ích mở rộng** (, đôi khi chỉ là _extension_) là một phần mềm nhỏ dùng để tùy biến một trình duyệt web. Trình duyệt thường có
Một **ứng dụng hỗn hợp** (hay còn gọi là **mashup** hoặc **mash-up**) là một ứng dụng kết hợp nội dung hoặc dịch vụ của nhiều ứng dụng khác nhau không đồng nhất, người ta thường
nhỏ|Amazon S3 là một dịch vụ lưu trữ được cung cấp bởi AWS **Amazon S3** hoặc **Amazon Simple Storage Service** là một "dịch vụ lưu trữ đơn giản" được cung cấp bởi Amazon Web Services
PWA (Progressive Web App) chính là một dạng webapp tân tiến. Được Google, Microsoft và các tập đoàn công nghệ lớn hỗ trợ phát triển. Đây là một chương trình hiện đại nhưng không cần
**Internet Explorer** (trước đây là **Microsoft Internet Explorer**; viết tắt là **IE**), là một dòng trình duyệt web giao diện đồ họa đã ngừng phát triển do Microsoft phát triển và là một thành phần
**C#** (**C Sharp**, đọc là _"xi-sáp"_) là một ngôn ngữ lập trình hướng đối tượng đa năng, mạnh mẽ được phát triển bởi Microsoft, C# là phần khởi đầu cho kế hoạch .NET của họ.
**Google Chrome** là một trình duyệt web miễn phí, được phát triển và vận hành bởi Google, sử dụng nền tảng V8 engine. Dự án mã nguồn mở đứng sau Google Chrome được biết với
**OpenGL** (**Open Graphics Library**) là một API đa nền tảng, đa ngôn ngữ cho kết xuất đồ họa vector 2D và 3D. API thường được sử dụng để tương tác với bộ xử lý đồ
**Google Maps** là một dịch vụ lập bản đồ web do Google phát triển. Nó cung cấp hình ảnh vệ tinh, chụp ảnh từ trên không, bản đồ đường phố, chế độ xem toàn cảnh
**Mozilla Firefox 4** là phiên bản mới nhất của trình duyệt web Mozilla Firefox, phát hành vào ngày 22 tháng 3 năm 2011. Phiên bản beta đầu tiên đã được phổ biến vào ngày 6
Với công nghệ PWA (Progressive Web App), website Hệ sinh thái số AGP trở thành “ứng dụng” thông minh ngay trên điện thoại và máy tính của bạn – không cần tải từ App Store
**Drupal** (/ˈdruːpəl/) là một hệ quản trị nội dung (CMS) mã nguồn mở miễn phí viết bằng PHP và phân phối theo giấy phép công cộng GNU. Drupal là nền tảng cho ít nhất 13%
**OpenDNS** là một dịch vụ Phân giải Hệ thống tên miền (DNS) do Tập đoàn Cisco quản lý. ## Giới thiệu Cisco OpenDNS là một công ty Mỹ chuyên cung cấp các giải pháp và
**Shopify Inc.** là một công ty thương mại điện tử đa quốc gia của Canada có trụ sở chính tại Ottawa, Ontario. Shopify là tên của nền tảng thương mại điện tử độc quyền dành
**WebSocket** là một giao thức truyền tin dựa trên kết nối TCP. Giao thức WebSocket tuân theo tiêu chuẩn IETF là RFC 6455 năm 2011 và WebSocket API sử dụng trên Web IDL đang được
**ActivityPub** là một giao thức truyền thông mạng xã hội liên hợp mã nguồn mở, phát triển dựa trên giao thức Pump.io. Nó mang tính chất là một API client-server phục vụ việc tạo, chỉnh
**Cookie** (hay còn gọi là **HTTP cookie**, **web cookie**, **Internetie**, **cookie trình duyệt**) là những tập tin một trang web gửi đến máy người dùng và được lưu lại thông qua trình duyệt khi người
**BitTorrent** là một giao thức chia sẻ tài nguyên trên mạng ngang hàng, đồng thời là tên của một chương trình chia sẻ tài nguyên ngang hàng được phát triển bởi lập trình viên Bram
**Chromium** là một trình duyệt web mã nguồn mở, là nền tảng để xây dựng nên Google Chrome. Những phần do Google viết nên được phát hành theo giấy phép BSD, còn những phần khác
**MyAnimeList**, thường được viết tắt là **MAL**, là một trang web mạng xã hội và ứng dụng danh mục xã hội về anime và manga. Trang web cung cấp cho người dùng một hệ thống
**NetBeans** là một môi trường phát triển tích hợp (IDE) cho Java. NetBeans cho phép các ứng dụng được phát triển từ một tập hợp các thành phần phần mềm được gọi là _modules_. NetBeans
**Firefox Focus** là một trình duyệt tập trung vào quyền riêng tư miễn phí và mã nguồn mở từ Mozilla, có sẵn cho điện thoại thông minh và máy tính bảng Android và iOS. Firefox
**RSS** là một định dạng tập tin thuộc họ XML dùng trong việc chia sẻ tin tức Web (_Web syndication_) được dùng bởi nhiều website tin tức và weblog. Công nghệ của RSS cho phép
**Salesforce.com, Inc.** hay **Salesforce** (tạm dịch: _Mại lực_, thường được viết tắt là **SF** hoặc **SFDC**) là một công ty phần mềm dựa trên đám mây của Mỹ có trụ sở tại San Francisco, California.
**Katalon Studio** là một giải pháp kiểm thử tự động được phát triển bởi Katalon LLC. Phần mềm này được xây dựng dựa trên các khung tự động hóa nguồn mở Selenium, Appium với giao
**Mozilla Firefox 3.0** là một phiên bản của trình duyệt web Mozilla Firefox, phát hành vào ngày 17 tháng 6, năm 2008 bởi Mozilla Corporation. Firefox 3 sử dụng phiên bản 1.9 của bộ engine
**Windows Live** là một thương hiệu bao gồm một nhóm các dịch vụ và sản phẩm phần mềm từ Microsoft. Đa số các dịch vụ này là các ứng dụng web, có thể truy cập
**Deezer** là một dịch vụ nghe nhạc trực tuyến trên Internet. Nó cho phép người dùng có thể nghe các bản nhạc từ các hãng thu như Sony, Universal Music, và Warner Music Group trên
phải **Apache Struts** (trước đây là thuộc dự án Apache Jakarta, Struts bây giờ là một dự án độc lập) là một bộ khung mã nguồn mở cho việc phát triển các ứng dụng web
**DuckDuckGo** là một công cụ truy vấn dữ liệu Internet đặt trọng tâm vào việc bảo vệ sự riêng tư người tìm kiếm và không cung cấp thông tin người dùng. DuckDuckGo nhấn mạnh lấy
**Closure Tools** là một công cụ do Google phát triển, giúp người lập trình giảm kích thước tập tin JavaScript mà vẫn thực thi các câu lệnh JavaScript như bình thường. Công cụ này được
**OpenShift** là một dịch vụ nền tảng điện toán đám mây của hãng Red Hat. Phần mềm chạy dịch vụ là mã nguồn mở và có sẵn trên GitHub với tên "OpenShift Origin". Người phát
**iWork** là một bộ ứng dụng văn phòng được phát triển bởi Apple Inc. cho hệ điều hành macOS và iOS, và cũng có sẵn trên những nền tảng khác thông qua trang web iCloud.
Trình quản lý mật khẩu của Chrome Google hiện có khả năng phát hiện mật khẩu yếu hoặc bị xâm phạm. Với tính năng mới, khi người dùng đăng nhập vào những trang web được
**Meebo** (phát âm như "My-bô") là dịch vụ nhắn tin nhanh dùng công nghệ Ajax và kết nối với những dịch vụ nhắn tin nhanh lớn. Website này có thể đăng nhập vào AIM, ICQ,
**Lemmy** là dịch vụ diễn đàn và đọc tin tức xã hội tự lưu trữ (_self-hosting_) tự do nguồn mở được LemmyNet phát triển. Các máy chủ của Lemmy, được gọi là _liên hợp_ (_instance_),
**Wikimedia Enterprise** là sản phẩm thương mại của Wikimedia Foundation nhằm cung cấp dữ liệu của các dự án Wikimedia bao gồm cả Wikipedia theo cách dễ tiêu thụ hơn. Nó cho phép khách hàng