Frage

Soweit ich bin besorgt, Ajax bietet einen workaround für Sie, sich wie verbindungsorientiert mit HTTP-Protokoll.Aber warum war nicht das HTTP-Protokoll entwickelt, um Anschluss-oriended zuerst?

War es hilfreich?

Lösung

Denn es war beabsichtigt zu sein verwendet für Dinge, bei denen verbindungen nicht sinnvoll.

Es wurde als HyperText Transfer Protocol", was bedeutet, dass seine Aufgabe war einfach, um das senden von Meldungen der form "bitte senden Sie mir Akte X", und "hier ist ein Dokument X, wie von Ihnen gewünscht".

Was sollte ein solches Protokoll verwenden eine dauerhafte Verbindung für?

Andere Tipps

Und Einfachheit.

Es war im Nachhinein wohl nicht so eine schlechte Sache, da es bedeutet, dass HTTP ist einfach, was bedeutet, es kann verwendet werden für einfache Sachen leicht.Und Sie können es für den Einsatz schwerer/komplexer Zeug, das braucht Zustand von Gebäude-Schichten auf top von es.

Es ist genau diese Einfachheit, bekam HTTP weit verbreitet und machte es attraktiv.Wenn es war nicht einfach, dann ist es woud wurden nur ein weiterer Komplex protpocol, dass n-man benutzt, es sei denn, Sie müssen.Wenn Sie mir nicht glauben, können Sie mir sagen, warum Sie nicht schreiben Sie Ihre ajax-Anwendungen mithilfe sagen RPC für die Kommunikation und X11 für die Darstellung/rendering?:D

Denken Sie daran HTTP wurde ursprünglich entworfen, um zu implementieren, ein wiki wie Lesen/SCHREIBEN von Informationen speichern, nicht nur online-Shops, Banken, Textverarbeitung, etc.Ich erinnere mich an das Lesen ein interview mit Tim Berniers-Lee, wo er war wirklich froh, dass wikis wurden gewinnt Breite Akzeptanz als (zu paraphrasieren) das ist, wie er beabsichtigte, das web zu arbeiten.In der Praxis ist dies nicht geschehen auf die größeren web-und die meisten Websites deaktivieren Sie die HTTP PUT-Methode, die beabsichtigt war, um diese Funktionalität zu aktivieren.

  1. AJAX ist KEINE Abhilfe für Sie, sich wie verbindungsorientiert.Es ist zu gewährleisten, dass, basierend auf Benutzer-Interaktion, die Sie aktualisieren möchten, nur ein TEIL des Inhalts auf der client-Seite, anstatt die volle markup wieder vom server.Es nicht zu schaffen, eine to-and-fro Verbindung zwischen Ihrem browser und web-server.

  2. Wenn jeder server eine live-Verbindung mit jedem client die internet-Größe haben würde beschränkt sich auf ein paar Millionen von Nutzern.

HTTP wurde ursprünglich und noch ist conectionless.AJAX macht einfach verwenden, der modernen browser, die JavaScript-Funktionalität zum senden von XML (oder JSON oft) an den server, ohne die Seite neu zu laden.

Wie bereits erwähnt, der Hauptgrund ist die Skalierbarkeit.Die Aufrechterhaltung einer aktiven Verbindung für jeden Betrachter der website wäre unglaublich resource-intensive.Auch, die Tatsache war, dass die ursprünglichen Schöpfer von HTTP nicht vorstellen, keine Notwendigkeit für ein system mit einer gepflegt-Verbindung - die Idee von HTTP war einfach nur zu senden eine textuelle Antwort auf eine Anforderung und anschließend auf fertig stellen.

Aus Gründen der Skalierbarkeit.Die Aufrechterhaltung von verbindungen verbraucht Ressourcen.

Ich denke, die Gründe sind ziemlich einfach - wenn http erstellt wurde:

1) die Meisten / alle Seiten wurden statische 2) Mit fast keine kommerziellen Präsenz im internet, es wurde angenommen, dass die links wurden mit hoher Wahrscheinlichkeit hingewiesen werden auf eine andere Website.

So, statische Seiten + nicht-lokalen content = Verbindung frei-Protokoll.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top