SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
A Web
Friendly
  API?
Javascript
   AJAX
Python Ruby
 PHP Perl
    Curl
The Best Web APIs are Web Sites
One Thing in
 common ...
They

HATE
SOAP!
But

!OVE
The Web
URIs
identify
 things
and they can be
  anywhere ..
The Best Web APIs are Web Sites
use
cool URIs
read
RFC 2616
Constrain
         Verbs
• GET / HEAD
• POST
• PUT          YAGNI?
• DELETE
• OPTIONS
ask
IS IT SAFE?
understand HTTP
             methods
method    safe    idempotent   semantics    resource     cacheable
           -----------------------------------------------------------
 GET       | X           X            X           X             X    |
 HEAD      | X           X            X           X             X    |
 PUT       |             X            X           X                  |
 POST      |                                                    *    |
 DELETE    |             X            X           X                  |
 OPTIONS   | X           X            X                              |
           -----------------------------------------------------------
 PROPFIND | X            X            X           X             *    |
 PROPPATCH |             X            X           X                  |
 MKCOL     |             *            X           X                  |
 COPY      |             X            X           X                  |
 MOVE      |             ?            X           X                  |
 LOCK      |                          X           X                  |
 UNLOCK    |             X            X           X                  |
 PATCH     |             *            X           X                  |
           -----------------------------------------------------------
think about
  representations
• HTML
• RSS/Atom
• XML
• JSON
• whatever
Warning!
You are about to see
       Naked
 Protocol Headers
Content-Negotiation
 HTTP GET:

 Accept: application/weatherml+xml; q=1.0,
         application/xml; q=0.8,
         text/html; q=0.5


 Apache Server .htaccess:

   AddType application/weatherml+xml wea
   Options +MultiViews


          ./index.wea
          ./index.xml
          ./index.html
enjoy the free
           caching
HTTP GET http://flickr.com/photos/psd/2450160
If-Modified-Since: Fri, 31 Dec 1999 23:59:59 GMT
If-None-Match: 'guid-21343244324'


!


HTTP/1.1 412 Precondition Failed
make Phone Call
HTTP POST http://example.com/calls
Content-Type: application/x-www-form-urlencoded
Accept: text/xml; charset=utf-8

callingParty=tel:+447918808
calledParty=sip:Merlin

!
HTTP 1.1 201 Created
Location: http://example.com/calls/123213
Content-Type: text/xml; charset=utf-8

<callInfo>
  <callId>http://example.com/calls/123213</callId>
  <callStatus>Initial</callStatus>
</callInfo>
get Call Info
HTTP GET http://example.com/calls/123213
Accept: text/xml

!

200 OK
Content-Type: text/xml; charset=utf-8

<callInfo>
  <callId> http://example.com/user/fred/calls/123213
  <callStatus> CallInitial </callStatus>
  <callingParty> tel:+447918880...
  <calledParty> tel:+447918880...
  <timeStarted> 2007-01-09 11:45:20
  <duration> 502
  <terminationStatus> CallNotTerminated
</callInfo>
end Call
HTTP POST http://example.com/calls/123213
Content-Type: application/x-www-form-urlencoded

callStatus=Terminated

!

202 Accepted
Location: http://example.com/calls/123213
list Recent Calls
HTTP GET http://example.com/calls/feed

!
200 OK
Content-Type: application/atom+xml

<feed xmlns=quot;http://www.w3.org/2005/Atomquot;>
  <title>Phonebox Calls</title>
  <link rel=quot;selfquot; href=quot;http://example.com/calls/quot;
        rel=quot;alternatequot; type=quot;text/htmlquot;/>
  <updated>2007-01-0911:45:02Z</updated>
  <author><name>Phonebox</name></author>
  <id>tag:example.com,2007-01-09:/calls</id>
  <entry>
   <link href=quot;http://example.com/user/psd/calls/1234567/quot;/>
    <title>Call 1234567</title>
    <id>tag:example.com/calls/1234567-200701091223313</id>
    <summary>CallInformation</summary>
    <updated>2005-10-13T18:30:02Z</updated>
  </entry>
  <entry>
   <link href=quot;http://example.com/user/fred/calls/17231667/quot;/>
    ...
Overall
http://example.com/calls
http://example.com/calls/feed
http://example.com/user/paul/calls/feed
http://example.com/user/paul/calls/7d6374da5
http://example.com/user/paul/calls/search?callingParty=tel:%3A44791888
http://example.com/sms
http://example.com/sms/feed
http://example.com/user/fred/sms/7d6374da5
http://example.com/user/fred/sms/inbox/feed
http://example.com/user/fred/sms/inbox/7d6374da5
http://example.com/user/fred/sms/inbox?search?from=tel:%3A44791888
....
Yes, Dear Reader,
there's no API as such

 it's just yet another
       Web site ..
Surf long and prosper ..

Contenu connexe

Similaire à The Best Web APIs are Web Sites

Caching with Varnish
Caching with VarnishCaching with Varnish
Caching with Varnishschoefmax
 
Hadoop - Lessons Learned
Hadoop - Lessons LearnedHadoop - Lessons Learned
Hadoop - Lessons Learnedtcurdt
 
20170504 - Warp 10 Tour, 42 USA
20170504 - Warp 10 Tour, 42 USA20170504 - Warp 10 Tour, 42 USA
20170504 - Warp 10 Tour, 42 USAMathias Herberts
 
HAProxy scale out using open source
HAProxy scale out using open sourceHAProxy scale out using open source
HAProxy scale out using open sourceIngo Walz
 
Fosscon 2012 firewall workshop
Fosscon 2012 firewall workshopFosscon 2012 firewall workshop
Fosscon 2012 firewall workshopjvehent
 
Keeping your rack cool
Keeping your rack cool Keeping your rack cool
Keeping your rack cool Pavel Odintsov
 
Keeping your rack cool with one "/IP route rule"
Keeping your rack cool with one "/IP route rule"Keeping your rack cool with one "/IP route rule"
Keeping your rack cool with one "/IP route rule"Faelix Ltd
 
HTTP/2 - How it's changing web performance
HTTP/2 - How it's changing web performanceHTTP/2 - How it's changing web performance
HTTP/2 - How it's changing web performanceMateus Prado
 
FOSDEM 2017 - RTC Services With Lua and Kamailio
FOSDEM 2017 - RTC Services With Lua and KamailioFOSDEM 2017 - RTC Services With Lua and Kamailio
FOSDEM 2017 - RTC Services With Lua and KamailioDaniel-Constantin Mierla
 
MikroTik & RouterOS
MikroTik & RouterOSMikroTik & RouterOS
MikroTik & RouterOSFaelix Ltd
 
OWASP Top 10 - Checkmarx Presentation at Polytechnic Institute of Cávado and Ave
OWASP Top 10 - Checkmarx Presentation at Polytechnic Institute of Cávado and AveOWASP Top 10 - Checkmarx Presentation at Polytechnic Institute of Cávado and Ave
OWASP Top 10 - Checkmarx Presentation at Polytechnic Institute of Cávado and AveCheckmarx
 
Application Integration with XProc
Application Integration with XProcApplication Integration with XProc
Application Integration with XProcVojtech Toman
 
Living With Legacy Code
Living With Legacy CodeLiving With Legacy Code
Living With Legacy CodeRowan Merewood
 

Similaire à The Best Web APIs are Web Sites (15)

Caching with Varnish
Caching with VarnishCaching with Varnish
Caching with Varnish
 
HTTP Potpourri
HTTP PotpourriHTTP Potpourri
HTTP Potpourri
 
Hadoop - Lessons Learned
Hadoop - Lessons LearnedHadoop - Lessons Learned
Hadoop - Lessons Learned
 
20170504 - Warp 10 Tour, 42 USA
20170504 - Warp 10 Tour, 42 USA20170504 - Warp 10 Tour, 42 USA
20170504 - Warp 10 Tour, 42 USA
 
WebRTC Conference and Expo (November 2013) - Signalling Workshop
WebRTC Conference and Expo (November 2013)  - Signalling WorkshopWebRTC Conference and Expo (November 2013)  - Signalling Workshop
WebRTC Conference and Expo (November 2013) - Signalling Workshop
 
HAProxy scale out using open source
HAProxy scale out using open sourceHAProxy scale out using open source
HAProxy scale out using open source
 
Fosscon 2012 firewall workshop
Fosscon 2012 firewall workshopFosscon 2012 firewall workshop
Fosscon 2012 firewall workshop
 
Keeping your rack cool
Keeping your rack cool Keeping your rack cool
Keeping your rack cool
 
Keeping your rack cool with one "/IP route rule"
Keeping your rack cool with one "/IP route rule"Keeping your rack cool with one "/IP route rule"
Keeping your rack cool with one "/IP route rule"
 
HTTP/2 - How it's changing web performance
HTTP/2 - How it's changing web performanceHTTP/2 - How it's changing web performance
HTTP/2 - How it's changing web performance
 
FOSDEM 2017 - RTC Services With Lua and Kamailio
FOSDEM 2017 - RTC Services With Lua and KamailioFOSDEM 2017 - RTC Services With Lua and Kamailio
FOSDEM 2017 - RTC Services With Lua and Kamailio
 
MikroTik & RouterOS
MikroTik & RouterOSMikroTik & RouterOS
MikroTik & RouterOS
 
OWASP Top 10 - Checkmarx Presentation at Polytechnic Institute of Cávado and Ave
OWASP Top 10 - Checkmarx Presentation at Polytechnic Institute of Cávado and AveOWASP Top 10 - Checkmarx Presentation at Polytechnic Institute of Cávado and Ave
OWASP Top 10 - Checkmarx Presentation at Polytechnic Institute of Cávado and Ave
 
Application Integration with XProc
Application Integration with XProcApplication Integration with XProc
Application Integration with XProc
 
Living With Legacy Code
Living With Legacy CodeLiving With Legacy Code
Living With Legacy Code
 

Plus de Paul Downey

ODI Lunchtime Talk, Creating an open register – what it takes and why
ODI Lunchtime Talk, Creating an open register – what it takes and whyODI Lunchtime Talk, Creating an open register – what it takes and why
ODI Lunchtime Talk, Creating an open register – what it takes and whyPaul Downey
 
Building systems with integrity
Building systems with integrityBuilding systems with integrity
Building systems with integrityPaul Downey
 
Building systems with integrity
Building systems with integrityBuilding systems with integrity
Building systems with integrityPaul Downey
 
Standards are Great, but Standardisation is a Really Bad Idea
Standards are Great, but Standardisation is a Really Bad IdeaStandards are Great, but Standardisation is a Really Bad Idea
Standards are Great, but Standardisation is a Really Bad IdeaPaul Downey
 
Who am I? Who are you? Who is anybody?
Who am I? Who are you? Who is anybody?Who am I? Who are you? Who is anybody?
Who am I? Who are you? Who is anybody?Paul Downey
 
Open Source Hardware at OTA11
Open Source Hardware at OTA11Open Source Hardware at OTA11
Open Source Hardware at OTA11Paul Downey
 
ETSI Hell's Kitchen Debate, Nice 2009
ETSI Hell's Kitchen Debate, Nice 2009ETSI Hell's Kitchen Debate, Nice 2009
ETSI Hell's Kitchen Debate, Nice 2009Paul Downey
 
XML Schema Patterns for Databinding
XML Schema Patterns for DatabindingXML Schema Patterns for Databinding
XML Schema Patterns for DatabindingPaul Downey
 
Publishing Web Services Policies
Publishing Web Services PoliciesPublishing Web Services Policies
Publishing Web Services PoliciesPaul Downey
 
The Web Is Agreement Opentech2008
The Web Is Agreement   Opentech2008The Web Is Agreement   Opentech2008
The Web Is Agreement Opentech2008Paul Downey
 
Versioning XML and Open Source Tools
Versioning XML and Open Source ToolsVersioning XML and Open Source Tools
Versioning XML and Open Source ToolsPaul Downey
 
Open Source, Agile, Life-Style
Open Source, Agile, Life-StyleOpen Source, Agile, Life-Style
Open Source, Agile, Life-StylePaul Downey
 
Extensibility And Versioning
Extensibility And VersioningExtensibility And Versioning
Extensibility And VersioningPaul Downey
 
Mashing up The Mobile
Mashing up The MobileMashing up The Mobile
Mashing up The MobilePaul Downey
 

Plus de Paul Downey (18)

ODI Lunchtime Talk, Creating an open register – what it takes and why
ODI Lunchtime Talk, Creating an open register – what it takes and whyODI Lunchtime Talk, Creating an open register – what it takes and why
ODI Lunchtime Talk, Creating an open register – what it takes and why
 
Building systems with integrity
Building systems with integrityBuilding systems with integrity
Building systems with integrity
 
Registers
RegistersRegisters
Registers
 
Building systems with integrity
Building systems with integrityBuilding systems with integrity
Building systems with integrity
 
Standards are Great, but Standardisation is a Really Bad Idea
Standards are Great, but Standardisation is a Really Bad IdeaStandards are Great, but Standardisation is a Really Bad Idea
Standards are Great, but Standardisation is a Really Bad Idea
 
Who am I? Who are you? Who is anybody?
Who am I? Who are you? Who is anybody?Who am I? Who are you? Who is anybody?
Who am I? Who are you? Who is anybody?
 
Open Source Hardware at OTA11
Open Source Hardware at OTA11Open Source Hardware at OTA11
Open Source Hardware at OTA11
 
I spy
I spyI spy
I spy
 
ETSI Hell's Kitchen Debate, Nice 2009
ETSI Hell's Kitchen Debate, Nice 2009ETSI Hell's Kitchen Debate, Nice 2009
ETSI Hell's Kitchen Debate, Nice 2009
 
Denver
DenverDenver
Denver
 
XML Schema Patterns for Databinding
XML Schema Patterns for DatabindingXML Schema Patterns for Databinding
XML Schema Patterns for Databinding
 
Publishing Web Services Policies
Publishing Web Services PoliciesPublishing Web Services Policies
Publishing Web Services Policies
 
The Web Is Agreement Opentech2008
The Web Is Agreement   Opentech2008The Web Is Agreement   Opentech2008
The Web Is Agreement Opentech2008
 
Vrm Wedding
Vrm WeddingVrm Wedding
Vrm Wedding
 
Versioning XML and Open Source Tools
Versioning XML and Open Source ToolsVersioning XML and Open Source Tools
Versioning XML and Open Source Tools
 
Open Source, Agile, Life-Style
Open Source, Agile, Life-StyleOpen Source, Agile, Life-Style
Open Source, Agile, Life-Style
 
Extensibility And Versioning
Extensibility And VersioningExtensibility And Versioning
Extensibility And Versioning
 
Mashing up The Mobile
Mashing up The MobileMashing up The Mobile
Mashing up The Mobile
 

Dernier

Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 

Dernier (20)

Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 

The Best Web APIs are Web Sites