2017-08-18 4 views
0

Warum verwenden APIs unterschiedliche URLs? Gibt es zwei verschiedene Schnittstellen auf dem Webserver? Eine Verarbeitung von API-Anfragen und die anderen Web-HTTP-Anfragen? Zum Beispiel könnte es eine Website namens www.joecoffee.com geben, aber dann verwenden sie die URL www.api.joecoffe.com für ihre API-Anfragen. Warum werden hier unterschiedliche URLs verwendet?Warum haben APIs unterschiedliche URLs?

+0

Nicht alle APIs tun das, und ob die eine Technik oder die andere zu verwenden ist, ist [zur Diskussion] (https://stackoverflow.com/questions/14554943/is-it-better-to-place-a-rest -api-on-sub-domain-oder-in-einem-Unterordner) und meinungsbasiert, – James

Antwort

0

Wir trennen uns aus mehreren Gründen, und sie werden nicht immer zutreffen.

Trennung von Bedenken.

Wir schreiben API-Code in einem Projekt und stellen es in einer Einheit bereit. Wenn wir an der API arbeiten, kümmern wir uns nur darum und machen uns keine Sorgen um das Seitenlayout. Wenn wir im Internet arbeiten, ist das völlig separat

Verschiedene Authentifizierungsmechanismen.

Die Art, wie Sie einem Benutzer die Anmeldung mitteilen, unterscheidet sich erheblich davon, wie Sie einem API-Client mitteilen, dass er nicht authentifiziert ist.

Verschiedene Skalierbarkeitsanforderungen

Es könnte sein, dass die API viele komplexe Operationen der Fall ist, während die Bahn-Server mehr oder weniger statischen Inhalt dient. Vielleicht möchten Sie Hunderte von API-Servern auf der ganzen Welt hinzufügen, aber nur 10 Webserver haben.

Verschiedene Clients

Sie könnten eine API für den Web-Client und eine separate API für einen mobilen Client. Oder vielleicht eine öffentliche und eine private/authentifizierte. Dies trifft möglicherweise nicht auf Ihr Beispiel zu.

Verschiedene Technologies

Art einer Verlängerung der Trennung von Bereichen, aber es ermöglicht es Ihnen, Linux-Server für ein und verwenden Sie so etwas wie ein AWS Lambda für den anderen zu haben.

SSL Wrangling

Dies ist eher ein anti-Grund (insbesondere für das spezifische Beispiel Sie geben). Viele Websites verwenden SSL für Web und API. Die meisten Websites verwenden mindestens SSL für die API. Sie neigen dazu, SSL-Zertifikate auf Ihre URL abgestimmt zu haben, so dass ein Grund sein könnte. Das heißt, wenn Sie ein * .joecoffee.com-Zertifikat hätten, würden Sie api.joecoffee.com und nicht www.api.joecoffee.com verwenden (weil anscheinend ein zusätzliches '.' In Ihrer URL mehr kostet, oder so ähnlich).

Wie @james vorgeschlagen - es gibt keine wirklich rechts Antwort und einige Debatte.

Verwandte Themen