Was ist der Paket-Level-Unterschied zwischen einer XMLHttpRequest und einer regulären HTTP-Anforderung?
-
06-07-2019 - |
Frage
Ich frage mich: Wenn ich aa-Router bin, Paket Inspektor, Firewall oder anderes Paket-Sniffing-Gerät (was ich bin froh, dass ich bin nicht) würde ich den Unterschied zwischen einer traditionellen HTTP-Anforderung zu sagen, in der Lage und ein XMLHttpRequest? Weniger theoretisch ist es möglich, dass einige Internet-Anbieter oder (sagen wir mal) Handy Datenanbieter XMLHttpRequest Verkehr ohne Unterbrechung HTTP-Dienst beschränken könnte?
Danke.
Lösung
Es gibt nichts auf der Paketebene, sie zu unterscheiden, da und XMLHttpRequest ist eine HTTP-Anfrage. Der XML-Bit bezieht sich auf die Tatsache, dass, wenn die Antwort eines XML-Content-Type ist dann die responseXML Methode ein DOM-Objekt zurück.
Andere Tipps
Nach bestem Wissen und Gewissen, gibt es keinen grundlegenden Unterschied -. So aus der Sicht eines Routers usw. Sie nicht generell sagen können,
Aber ich glaube, dass die meisten populären Javascript Toolkits wird einen HTTP-Header, um ihre XMLHttpRequest
s fügen Sie sie als solche zu identifizieren. Ich vergesse den Namen, aber ...
EDIT : Hier ist ein Beispiel (oben Google für "jquery xmlhttprequest header" getroffen, ohne Anführungszeichen), das zeigt, dass jQuery X-Requested-With
offenbar setzt auf "XMLHttpRequest
".
auf Paket, Netzwerk, Sitzungsebenen: no.
auf Applikationsebene, das heißt mit einem HTTP-spezifischen Gerät wie eine Proxy-Filterung, vielleicht.
Ich würde überprüfen Sie die HTTP-Request-Header. sie könnten ( nur könnte ) haben einige Unterschiede. aber ich bin sicher, dass es ein Unterschied sehr browserspezifisch sein würde, und sehr wahrscheinlich die richtige JavaScript-Code die entsprechenden Header einfügen könnte, um es völlig ununterscheidbar zu machen.
kurzum: Überprüfen Sie die HTTP-Header; aber nicht erwarten, dass es allgemein üblich, viel weniger nützlich sein.