Die Einführung eines Ajax Einkaufswagen

Ter Schwerpunkt dieses Artikels ist zu erklären, wie AWeb Anwendung, die einen Warenkorb implementiert. Ein Warenkorb ist eine persönliche Sache, aber es ist für jeden verfügbar. Dieser Artikel geht durch die Probleme der Handhabung von persönlichen und öffentlichen Daten. Dieser Artikel behandelt die folgenden Themen:

  

• Verständnis der Unterschiede zwischen einer persönlichen URL und eine allgemeine URL

• Kontrolle des Zugangs zu einer persönlichen URL

• Das Wissen um die HTTP-Verben mit einer persönlichen URL verwenden

• Verwenden Asynchronous JavaScript and XML (Ajax) zum Abrufen einer persönlichen URL

Problem Sie wollen eine robuste Warenkorb in Ihrem Web-Anwendung zu implementieren, so dass der Zugang der Daten, die veröffentlicht werden oder privat, ist konsequent und geradlinig.

Hinweis Dieser Artikel beschreibt zwei Beispiele: ein Warenkorb und ein Bankkonto Informationen anzuzeigen. Beide Beispiele zeigen, das gemeinsame Problem der Identität und Personalisierung.

Theory Wenn Sie gehen zu einem Lebensmittelgeschäft, packen Sie einen Einkaufswagen. Der Warenkorb ist einer von Tausenden gleich aussehenden Einkaufswagen. Nr. Kennung auf den Einkaufswagen macht es unterscheidet sich von anderen Warenkorb. Ein Warenkorb ist nicht wie ein Schlüssel, weil ein Schlüssel ist ein Unikat aus einem anderen Schlüssel aufgrund seiner Form. Die Einzigartigkeit des Einkaufswagens wird nicht durch den tatsächlichen Wagen, sondern durch die Elemente, die Sie auf dem Wagen Platz zu planen und zu kaufen.

In Europa ist diese Einzigartigkeit kritisch, weil die Europäer in den Abschnitten Shop neigen. Sie finden einen Ort, um ihre Warenkorb parken und von dort zu finden, was sie brauchen, tragen die Punkte zurück zu den Wagen, und legen Sie sie in den Warenkorb. Sie nehmen ein Jäger-und Sammler-Ansatz, bei dem die Beute der Lebensmittel im Supermarkt ist. Es gibt buchstäblich hunderte von Wagen ohne Besitzer, nicht aber die Menschen nicht an den falschen Wagen, noch haben sie anfangen, die Dinge aus der Karren anderer Leute, 1, noch gehen sie weg mit Wagen von jemand anderem mit Absicht. Ich sage mit Absicht ", weil die Leute gelegentlich do 10 Meter zu Fuß mit Wagen von jemand anderem, bevor Sie feststellen," Hoppla, das sind nicht meine Artikel. "Betrachtet man dies aus einer abstrakten Perspektive hat die Warenkorb persönlich ausgedrückt werden, auch wenn es sich Generika wieder, wenn die Person den Warenkorb getan. Web Einkaufswagen sind nicht wie Einkaufswagen im wirklichen Leben umgesetzt werden.

Am AWeb Website können Sie nur einen Warenkorb. Im wirklichen Leben konnte man Spaziergang mit mehreren Warenkörbe (was in der Tat, ich getan habe). Am AWeb Website können Sie nicht von Hand aus Ihrem Warenkorb an einen anderen Benutzer. Im wirklichen Leben können Sie Ihrem Warenkorb geben niemandem. Aus der Sicht eines Programmierers ist ein Warenkorb auf AWeb Seite mit einem Benutzer zugeordnet und erfordert die Gestaltung der Details eines einzelnen. Im wirklichen Leben aus der Perspektive der Kassiererin, keine persönlichen Informationen ausgetauscht werden. Die Wirklichkeit des Web-basierten Warenkörbe ist, dass sie die allgemeinen Angaben, z. B. welche Artikel gekauft wird, ist mit einem bestimmten Benutzer. Teil des Problems mit der aktuellen Implementierung von Einkaufswagen, die Webanwendungen nicht unterscheiden können URLs von einem anderen verknüpfen. Einkaufswagen sind implementiert durch Technologien, die Einkaufswagen schwer zu handhaben machen. Let's an einer anderen Situation, die einen Warenkorb ähnlich aussehen. Ein Bankkonto ist vergleichbar mit einem Warenkorb in diesem kann jeder ein Konto haben, und das Bankkonto kann manipuliert werden, genauso wie ein Warenkorb. Der große Unterschied zwischen einem Einkaufswagen und ein Bankkonto ist, dass ein Bankkonto Autorisierung erforderlich ist.

Nehmen wir an, dass eine Bank AWeb Anwendung, die Benutzer ihre Bankkonten aus dem Internet-Zugang entstehen lässt. Mit der gegenwärtigen Technologien, erlaubt die Anwendung Benutzer Zugriff auf sein Konto mit der gleichen URL und dann fordert sie auf, sich zu authentifizieren. Auf der Grundlage der Authentifizierung finden die Benutzer unabhängig von Kontoinformationen mit ihnen verbunden sind.

Ein Benutzer kann nur eine Datenmenge, denn es gibt keine Möglichkeit für einen Administrator zu existieren: Zum Beispiel würde ein Benutzer mit mehreren Konten nicht in der Lage, alle Konten zugreifen, wenn Sie Code schreiben, der Aggregate der kontrollierten Konten. Mit einer eindeutigen URL mit AWeb Service, kann der Benutzer die Nachrichten selbst Aggregat.

Sicherheit ist in die Hände des Web Application Developer setzen: Die Web-Anwendungsentwickler müssen Hindernisse hinzufügen, um sicherzustellen, dass nur berechtigte Personen Zutritt zu bestimmten Teilen von Informationen. Allzu oft kann jedoch die Schranken zu Sicherheitsproblemen führen. HTTP-Sicherheit bekannt ist, genau definiert und stabil, und diejenigen, die es Administratoren sind gut bekannt, dass Sicherheitslücken. Programmierer, aber intelligent und tüchtig, sind nicht-Security-Spezialisten.

Solution Die Lösung für beide den Warenkorb und Bankkonto Probleme besteht darin, eindeutige URLs zu verwenden. Zum Beispiel den Warenkorb URL sein könnten shoppingcart/12324, und das Bankkonto sein könnten Bankkonto / maryjane. Viele Menschen könnten bei dieser Lösung zurückschrecken, weil es bedeutet, jeder Benutzer eindeutige URL und Verwaltung, eindeutige URLs, fügt Komplexität. Zum Beispiel ergibt sich vorstellen, eine E-Mail, die sagt: "Hey, das kaufen, und Sie werden mit 1.000 Punkten auf Ihrem Bankkonto gutgeschrieben zu bekommen." Du hast wahrscheinlich fragen: "Was URL in der E-Mail gesendet werden?"

Umsetzung unterschiedlicher URLsUnique-URLs können im voraus zu bestimmen, oder sie können dynamisch generiert werden. Generell sind Sie in der Verwaltung der drei URL-Typen, die wie folgt definiert:

Root URL: Der Zweck der Root-URL wird in einen Rahmen für die Aktion und einzigartige URLs bereitstellen können. Die Wurzel kann nicht die Aktion URL. Stellen Sie sich eine Situation, in der Sie eine Liste aller verfügbaren Warenkörbe erhalten. Wenn die Root-URL ist die Aktion URL, eine eindeutige URL zurückgegeben werden, wenn die Stamm-URL abgefragt wird.

Action URL: Eine Aktion URL, z. B. / cart / abzurufen, wird die URL des Kunden verwiesen wird. Abhängig von der Verben unterstützt, ein Hinweis auf eine eindeutige URL zurückgegeben. Im Falle des Einkaufswagens, das einzige Verb vom Server unterstützt wird GET, die eine eindeutige URL beim Aufruf generiert. Im Falle des Bankkontos, unterstützt die Aktion der URL Postverb, die die einzigartige URL beim Aufruf generiert. Die Verben PUT und DELETE werden nicht unterstützt, weil sie keine Bedeutung haben.

Unique URL: Im Falle des Einkaufswagens, eine Kennung URL wie / cart/12345 hat eine Identifikationsnummer nach dem Root-URL des Warenkorb-Anwendung angehängt. Eine einzigartige URL muss nicht eine numerische Kennung angehängt haben, aber es kann alphanumerisch oder eine andere Kennung. Eine eindeutige URL können alle HTTP-Unterstützung Verben und hängt ganz vom Kontext ab. Jeder generierte eindeutige URL muss nicht in der Struktur identisch sein. Zum Beispiel könnte eine Anwendung verwenden beide URLs / cart/12234 und / big/cart/12/first. Die einzigartig generierten URLs müssen nicht vom Server überwacht werden, und oft liegen in der Verantwortung des Kunden. Der Server muss nur den Überblick über die eindeutige URL zum Löschen aufbewahren. Zum Beispiel, wenn der Einkaufswagen nicht für eine bestimmte Zeit benutzt worden ist, löscht der Server sie. Algorithmisch, liegt die Herausforderung bei der Umwandlung der Maßnahme URL in eine eindeutige URL. Eine Möglichkeit zur Lösung des Problems besteht darin, eine HTTP-Anforderung zu erstellen und dann die eindeutige URL in der Antwort zu definieren. Die HTTP 1.1-Protokoll bietet die Möglichkeit, die URL zu der Aktion eindeutige URL umzuleiten. Im HTTP-Protokoll zu sprechen, wird dies als Durchführung einer Umleitung.

Understanding HTTP-Umleitung

HTTP-Umleitung ist ein Handshake-Protokoll. Der Client stellt eine Anfrage, und der Server empfängt und verarbeitet die Anfrage. Wenn der Server eine Umleitung zeigt in Ordnung ist, dann ein HTTP-Status-Code in der 300-Spektrum zurückgegeben wird. Nach Erhalt der 300-Reihe Status-Code, prüft der Client die Antwort und können Maßnahmen durch das Laden der URL umgeleitet werden. Das folgende ist ein Beispiel HTTP-Gespräch, das eine HTTP-Umleitung führt. Wie üblich, stellt ein Client eine HTTP-Anfrage:

GET / resource / HTTP/1.1 Accept: * / * Accept-Language: de Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (compatible; PPC Mac OS X; en) AppleWebKit/412.6.2 (KHTML , like Gecko) Safari/412.2.2 Connection: Keep-Alive Host: 192.168.1.242:8100 Die URL / Mittel wird durch den HTTP-Server als generische URL, die Umleitung auf eine bestimmte URL aufgerufen wird, wenn erkannt. Der HTTP-Server antwortet mit einem HTTP-302 zu einer Umlenkung zeigen, wie aus der folgenden HTTP-Antwort dargestellt: HTTP/1.1 302 Found Datum: Di., 05 Sep 2005 16:29:04 GMT Server: Apache/2.0.53 (Ubuntu) PHP / 4.3.10-10ubuntu4 Ort: / resource / joesmith Content-Length: 346 Keep-Alive: timeout = 15, max = 100 Connection: Keep-Alive Content-Type: text / html; charset = "iso-8859-1

In dem Beispiel hat die entsprechende URL an den Client ist wie folgt definiert / resource / joesmith. Wenn entweder AWeb Browser oder ein XMLHttpRequest-Objekt eine Umleitung empfängt, wird der Kunde die Umleitung und versuchen, den Inhalt der umgeleiteten URL abrufen zu erkennen, wie die nach der endgültigen Antrag dargestellt:

GET / resource / joesmith HTTP/1.1 Accept: * / * Accept-Language: de Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (compatible; PPC Mac OS X; en) AppleWebKit/412.6.2 ( KHTML, like Gecko) Safari/412.2.2 Connection: Keep-Alive Host: 192.168.1.242:8100

Ein HTTP-Umleitung, sei es durch den Web-Browser oder XMLHttpRequest durchgeführt werden, können nur ausgeführt werden, wenn die Umleitung gleichen Ursprungs Politik folgt. Wenn eine Umleitung auf eine andere Domain mit XMLHttpRequest versucht wird, variieren die Ergebnisse. Beispielsweise gibt Microsoft Internet Explorer eine Status-Code von 0 und keine weiteren Daten. Mozilla-basierten Browsern Rückkehr der Status-Code 302 und die URL umgeleitet.

Obwohl die Verwendung von HTTP-Umleitung wirksam sein kann, kann es auch von einem Ajax Sicht problematisch. Bei der Verwendung des XMLHttpRequest-Objekt und den Aufruf einer URL, die eine Umleitung, die umgeleitete URL generiert werden automatisch geladen. Das ist schlecht, weil das Skript muss wissen, was die URL weitergeleitet, sondern das XMLHttpRequest-Objekt nicht geben, die URL. Daher ist in den Rahmen dieses Artikels können Sie nicht mit einem 300-Reihe HTTP-Statuscode.

Ein Artikel eingereicht von Sonja Lande


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Die Einführung eines Ajax Einkaufswagen" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 408 users browsing the articles directory