2017-05-16 2 views
0

Also, wenn eine normale GET Anfrage über den Browser erfolgt, würde ich argumentieren, dass der Browser der Client ist. Aber wer ist der Kunde bei einer GET Anfrage über AJAX? Ich weiß, dass es immer noch über den Browser geschieht, aber ich würde gerne sehen, ob ich eine detailliertere Ansicht davon bekommen kann.(Konzeptionell) AJAX GET Request vs HTTP GET Request: Wer ist technisch der Client?

Können Sie sagen, dass die Javascript-Engine des Browsers der Client für eine AJAX GET Anfrage ist und für eine allgemeine GET Anfrage, dann ist der Browser als Ganzes ein Client? Ich würde behaupten, dass man das sagen könnte, vorausgesetzt, dass die Javascript-Engine eines Browsers in einem anderen Prozess ausgeführt wird.

Wer könnte etwas Licht darauf werfen?

Wikipedia sagt auf AJAX:

XMLHttpRequest (XHR) ein API in der Form eines Objekts, deren Methode Übertragung von Daten zwischen einem Web-Browser und einem Web-Server. Das Objekt ist , das von der JavaScript-Umgebung des Browsers bereitgestellt wird.

+0

Es sind genau die gleichen Dinge. Grundsätzlich in zwei Worten ist der Unterschied, dass normale Anfrage die Seite aktualisieren, während Ajax nicht –

+0

Sie können eine Menge Dinge sagen. Aber der Browser macht die Anfrage. –

Antwort

2

Sagen wir es in einem breiteren Szenario: Browser/Web-Server-Kommunikation folgen einem Client–server model. Aus Sicht des Servers ist der Client eine IP-Adresse + IP-Port, der eine http request gestartet hat.

Die Antwort auf die HTTP-Anfrage wird an die ursprüngliche IP-Adresse + IP-Port gesendet, wo der ursprüngliche Prozess sie verwaltet.

Dieser Prozess ist Ihr Browser. Es wird die Antwort akzeptieren und es intern verwalten.

Browser können Client-Anfragen für verschiedene Arten von Protokollen starten. Typischerweise HTTP oder HTTPS, sondern auch FTP, FILE ...

XMLHttpRequest ist 'nur' eine API, intern von aktuellen Browsern unterstützt, die ...

.. Bietet Client-Funktionalität für die Übertragung von Daten zwischen einem Client und einem Server.

[...] es kann jede Art von Daten abzurufen verwendet wird, nicht nur XML und unterstützt andere Protokolle als HTTP (einschließlich FILE und FTP).

Mehr über XMLHttpRequesthere.

So IMHO der Browser ist der Client für jede Art von Anfrage (HTTPGET, HTTPPOST ...), egal es über Ajax/XMLHttpRequest oder über einen direkten Zugang initiiert wurde, um eine URL Wie intern der Browser entscheidet, es zu verwalten, hängt nicht konzeptionell mit dem Client/Server-Modell zusammen.

+0

Ok das scheint vernünftig. Warum sagen meine Dev-Tools, dass es sich um eine xhr-Anfrage und nicht um eine GET-Anfrage handelt? Ich weiß, dass eine xhr-Anforderung kein HTTP-Verb ist, aber meine Chrome-Entwicklungstools geben mir den Eindruck, dass dies der Fall ist. –

+0

@MelvinRoest Mein Browser sagt, es ist eine XHR-Anfrage, sagt mir aber immer noch, welcher Typ. –

+0

@ MelvinRoest, bearbeitet, um zu klären. – MarcM