Ajaxのショッピングカートを実装する商品彼はこの記事の焦点をどのようにショッピングカートを実装してaWebアプリケーションを作成する方法について説明することです。ショッピングカートは、個人的なことですが、まだ誰にでも入手可能です。この資料では、個人および公共データ処理の問題点を通過します。この資料には、次のトピックについて説明します:
•個人用のURLと一般的なURLの間の違いを理解する 個人のURLを•アクセス制御 •これはHTTP個人のURLで使用する動詞を知る •を使用して非同期JavaScriptとXML(アヤックス)個人のURLを取得する 問題 あなたは公開される可能性がありますまたはプライベートデータのアクセス、一貫性と簡単なようにWebアプリケーションの堅牢なショッピングカートを実装する。 注意してください この記事は、2つの例:ショッピングカートや銀行口座情報の表示について説明します。両方の例のアイデンティティとパーソナライズの一般的な問題を示しています。 理論 いつの食料品店に行くと、ショッピングカートをつかむ。ショッピングカートに1つの同一のショッピングカートを探して何千ものです。ショッピングカートではありません識別子は別のショッピングカートに区別できます。これは、キーからユニークなショッピングカートの鍵のように、されていない別の形のためにキーです。ショッピングカートの一意性は、実際のカートではなく、定義されてですが、商品はカートでは、場所やプランを購入することによる。 ため、ヨーロッパのセクションで買い物をする傾向があるヨーロッパでは、この一意性が重要です。彼らは、してはショッピングカートの公園には、必要なものを見つける場所を見つけるに戻るカートにそれらの項目を実行すると、カートに置いてください。彼らと採集方法ここでは、獲物を食料品店で食べ物は狩猟を取る。文字通りの所有者なしで荷車の何百も、まだの人は、間違った注文をしていないことは、他の人のカート、1のものを取り始めるもかれらは故意に他人のカートで散歩をするか。ため、人々を実現する前に、誰か他の人のカートで10フィートの散歩をする私は"目的"、"おっと、ここに私の項目はありません。"これでは抽象的な観点から見ると、ショッピングカートにもかかわらず、それになるパーソナライズとなっていると言う一般的なときに再度一人行われるショッピング。 Webショッピングカートは、実生活でのショッピングカートのように実装されていません。 aWebサイトでは、1つだけのショッピングカートがあることができます。実際の生活では、複数のショッピングカート(実際には、私)がやったと散歩することができます。 aWebサイトでは、別のユーザーにあなたのショッピングカートに引き渡すことはできません。実際の生活では、誰にもあなたのショッピングカートを与えることができます。プログラマーの観点から、aWebサイト上のショッピングカートは、ユーザーに関連付けされ、個人の詳細な管理が必要です。実際の生活では、レジの観点から、個人情報は交換されます。 Webの現実のショッピングカートのベースには、一般的なデータなど、これは商品を購入されている、ショッピングカートの現在の実装では、問題の特定のユーザーと。パーツは、Webアプリケーションの1つの他のURLを区別することはできません関連付けることです。ショッピングカート、ショッピングカートの管理を困難にする技術を使用して実装されます。のは、ショッピングカートに似ている別の状況を見てみましょう。銀行口座は誰もがアカウントを持ってするには、ショッピングカートには、銀行口座に似ていると同じように操作することができるショッピングカートなど。ショッピングカートや銀行口座の間で大きな違いは、銀行口座の承認が必要です。 のは、銀行は、ユーザーがインターネットから自分の銀行口座にアクセスすることができますaWebアプリケーションを作成しましょう。現在の技術を使用して、アプリケーションのユーザーが同じURLを使って自分のアカウントにアクセスし、許可を自分自身を認証するよう求められます。認証に基づいて、ユーザーが任意の銀行口座情報に関連付けられている参照してください。 • ユーザは1つのデータセットがあるので、管理者が存在することはできませんを使用することができます場合を除き、コードを記述します:たとえば、複数のアカウントを持つユーザーはすべてのアカウントにアクセスすることができないことを集約する制御占めている。 aWebサービスとユニークなURLを使用して、ユーザーアカウント自体を集計できます。 • セキュリティは、Webアプリケーション開発者の手に入れられます:Webアプリケーション開発者にのみ許可を受けた者が許可されるように障壁を追加する必要がある情報の特定の部分にアクセスできます。あまりにも多くの場合は、障壁のセキュリティ問題が発生することができます。 HTTPセキュリティだけでなく、よく定義されて知られ、安定性、およびそれらの人が管理者を管理するだけでなく、セキュリティホールを認識しています。プログラマができると、インテリジェントなセキュリティの専門家ではありません。 ソリューション 両方のショッピングカートや銀行口座の問題を解決するにユニークなURLを使用しています。たとえば、ショッピングカートのURLがあります/ shoppingcart/12324、および銀行口座のかもしれない/ / maryjaneこのソリューションでは尻込みするかもしれない多くの人々のために、および管理する固有のURLごとに、すべてのユーザー固有のURLを持つことを意味追加けbankaccount複雑。たとえば、との意見、電子メール、"ねえ、この購入を送信することは想像に1000ポイントを使って銀行口座に入金するよ"おそらく、"URLを電子メールでは何が送信される要求ですか?" 一意のURLを実装する一意のURL先の時間を決定することができるか、または動的に生成することができます。一般的に言えば、あなたのように定義3のURLタイプを管理される次のとおり: • ルートURL:URLは、アクションとユニークなURLのためのコンテキストを提供することは、ルートの目的。ルートは、アクションURLをすることはできません。状況を想像してここで利用可能なすべてのショッピングカートのリストを取得します。場合は、ルートのURLは、アクションURLのたびに、ルートURLが照会されます返される一意のURLです。 • アクションURL: アクションURL /カート/取得などのURLは、クライアントによって参照されます。動詞で、ユニークなURLへの参照が返されますサポート応じて。ショッピングカートの例では、唯一の動詞は、サーバーによっては、固有のURLが呼び出されたとき生成されますがGETサポート。銀行口座の例では、アクションURLは、ユニークなURLが呼び出されたとき生成されるPOST動詞をサポートしています。 DELETEとPUTはサポートされている動詞は、彼らは何の意味があります。 • 固有のURL: ショッピングカート/ cart/12345としての識別子のようなURLの場合は、数字の識別子は、ショッピングカートアプリケーションのルートURLの後に追加しています。固有のURLを数値識別子を追加する必要がありますされませんが、英数字を使用できますまたは他の識別子です。一意のURLはすべて、HTTPをサポートすることができます動詞とは完全に文脈に依存します。生成された各一意のURL構造で同一である必要はありません。たとえば、1つのアプリケーションの両方のURL / cart/12234および/ big/cart/12/firstを使用することができます。一意に生成されたURLは、サーバーが追跡するには、必要がない多くの場合、クライアントの責任です。サーバーのみを削除目的のために一意のURLを追跡する必要があります。場合には、ショッピングカートには一定の期間使用されていないたとえば、サーバーが削除されます。アルゴリズムの課題は、一意のURLには、アクションのURLに変換することにある。問題を解決する方法の一つとしてHTTPリクエストを作成するためのレスポンスにはユニークなURLを定義します。 HTTP 1.1プロトコルは、ユニークなURLには、アクションURLリダイレクトするための手段を提供します。 HTTPプロトコルでは、この呼ばれ話す リダイレクトを実行する。 HTTPリダイレクトを理解する HTTPリダイレクトのハンドシェークプロトコルです。クライアントは、要求をサーバーが受信し、要求を処理します。場合は、サーバーのリダイレクトを示し、300の範囲でHTTPステータスコードを注文し、で返されます。 300の範囲のステータスコードを受け取ると、クライアントとの応答を検査し、リダイレクトされたURLをロードすることによって行動をとることができます。以下は、HTTPリダイレクトを実行する例ではHTTPの会話です。いつものように、クライアントがHTTP要求を行う: のGET /リソース/ HTTP/1.1の受入:* /受入*言語:ja受入のエンコーディング:gzipで、ユーザデフレートエージェント:Mozilla/5.0(Macintoshの場合;ロ; PPCのMac OS Xの;アン)AppleWebKit/412.6.2(KHTMLのGeckoのような)Safari/412.2.2接続:keep - aliveのホスト:192.168.1.242:8100のURL /リソースは、特定のURLが呼び出されたときにリダイレクトされる一般的なURLとして、HTTPサーバによって認識されます。 HTTPサーバのHTTPの302は、次のHTTPレスポンスで示さリダイレクトを示すために:HTTP/1.1では、302が見つかりました日付:火、05 2005午前16時29分04秒次サーバー:Apache/2.0.53(Ubuntuの)PHPの9月で応答/ 4.3.10 - 10ubuntu4場所:/リソース/ joesmith Content - Lengthを:346 Keep - Aliveを:タイムアウト= 15、最大= 100接続:Keep - AliveをのContent - Type:テキスト/ HTML;セット=のISO - 8859 - 1 この例では、特定のURLとしてクライアントに定義されて/リソース/ joesmith送信されます。どちらかaWebブラウザまたはXMLHttpRequestオブジェクトのリダイレクトを受け取ると、クライアントとしては、次の最終的な要求によって示さリダイレクトしようとリダイレクトされたURLの内容を取得するために認識されます: のGET /リソース/ joesmith HTTP/1.1の受入:* /受入*言語:ja受入のエンコーディング:gzipで、ユーザデフレートエージェント:Mozilla/5.0(Macintoshの場合;ロ; PPCのMac OS Xの;アン)AppleWebKit/412.6.2(ヤモリのようにKHTMLの)Safari/412.2.2接続:keep - aliveのホスト:192.168.1.242:8100 HTTPリダイレクトかどうか、WebブラウザまたはXMLHttpRequestをによって実行される場合のみ、リダイレクトが同じ起源ポリシー以下のように実行することができます。もしリダイレクトXMLHttpRequestをと試みている別のドメインに、その結果は異なります。たとえば、Microsoft Internet Explorerの0のステータスコードとそれ以上のデータを返します。 MozillaベースのブラウザとリダイレクトされたURLは、ステータスコード302が返されます。 HTTPリダイレクトを使用しているが、それもAjaxの観点から問題が発生することが効果的であることができます。ときに、XMLHttpRequestオブジェクトを使用してURLにリダイレクト、リダイレクトされたURLを生成呼び出しが自動的にロードされます。これは、スクリプトでは、リダイレクトされたURLとは何か知っている必要がありますこれは、しかし、悪いことは、XMLHttpRequestオブジェクトを与えていない、そのURL。したがって、この資料のコンテキスト内では、300の範囲のHTTPステータスコードを使用することはできません。 記事は、ソニアLandeを提出 免責事項:弊社のウェブサイトは、この資料の内容については責任を負いません。 Webarticles無料の情報リソースです。 重要: この記事は、"Ajaxのショッピングカート"自動ソフトウェアによって翻訳された実装する。大変申し訳ございませんが発生した可能性があります任意のスペルミスを感じている。お客様のご理解いただき、ありがとうございます。
|
|||||
| Online: 261 users browsing the articles directory |
|
|