2009-06-21 7 views

答えて

10

接続が意味をなさないもののために使用されていたためです。

これはハイパーテキスト転送プロトコルとして設計されたもので、「文書Xを送ってください」と「ここでは文書Xを要求しました」という形式のメッセージの送信を許可することを意味しています。

どのようなプロトコルで永続的な接続を使用する必要がありますか?

+2

+1明確かつ歴史的な見通しです。私はまだアプリケーションプラットフォームとしてWebを使用する知恵について疑問を抱いています。 – cheduardo

+0

あなたが私に尋ねるならば、全体のウェブものはパンのフラッシュです。 –

2

スケーラビリティ上の理由から。接続を維持すると、リソースが消費されます。

4
  1. AJAXは、コネクション型のように動作するための回避策ではありません。ユーザーの操作に基づいて、サーバーから完全なマークアップを再度取得するのではなく、クライアント側のコンテンツの一部のみを更新する必要があります。あなたのブラウザとウェブサーバとの間の接続を確立するものではありません。

  2. すべてのサーバーがすべてのクライアントとライブ接続している場合、インターネットのサイズは数千万のユーザーに制限されています。

0

私は理由は非常に単純だと思う - HTTPを作成したとき:

1)ほとんど/全てのページが 2)インターネット上のほとんどの商業的存在と、それはリンクが同じくらい高かったと仮定した静的ました別のサイトを指差してはいけません。

したがって、静的ページ+非ローカルコンテンツ=接続フリープロトコルです。

4

HTTPはもともとHTTPであり、は依然としてです。 AJAXは現代のブラウザのJavaScript機能を利用して、ページをリロードせずにXML(またはJSON)をサーバーに送信するだけです。

前述のように、主な理由はスケーラビリティです。ウェブサイトの各視聴者にアクティブな接続を維持することは、非常にリソース集約的です。また、HTTPのオリジナルの作成者は、接続が維持されているシステムの必要性を想定していませんでした.HTTPのアイデアは、単にリクエストにテキスト応答を送信して終了することだけでした。

+0

HTTPはコネクションレスではありません。つまり、TCPではなくUDPを意味します。 HTTP v1.0以前では、デフォルトで永続接続を使用していなかったと言うのがより正確です。ただし、HTTP v1.1ではデフォルトで永続的な接続が使用されます。 –

+0

はい、それは基本的に私が意味することです。デフォルトでは、性質上、一般にコネクションレスなプロトコルです。 – Noldorin

6

そして簡単です。

HTTPはシンプルなので、簡単なものに簡単に使用できるという意味で、おそらくそれほど悪いことではありませんでした。 そして、それを上にレイヤーを構築することによって状態を必要とする、より難しい/より複雑なものに使うことができます。

HTTPを広く採用して魅力的にしたのは、このシンプルさです。 シンプルでなければ、n-oneが使用しなければならない限り、もう1つの複雑なプロトポコルになっています。 あなたが私のことを信じていない場合は、なぜcommにRPCと表示/レンダリングにRPCと言ってあなたのajaxアプリケーションを書かないのか教えていただけますか? :D

HTTPはもともとオンラインストア、銀行、ワープロなどではなく、読み取り/書き込み情報ストアなどのWikiを実装するように設計されていたことを覚えておいてください。 Tim Berniers-Leeとのインタビューを読んだことを思い出しました。ここでは、ウィキがWebをどのように動かすことが意図されているのかという言い方が広範に受け入れられていることが本当にうれしかったです。 実際には、これはより広いWeb上では発生せず、ほとんどのサイトではこの機能を有効にするためのHTTP PUTメソッドが無効になっています。