私が気にする限り、AjaxはHTTPプロトコルとの接続指向のように動作するための回避策を提供します。しかし、なぜHTTPプロトコルが最初にコネクションオリエンテッドに設計されていないのですか?HTTPプロトコルが最初にコネクションレスであるように設計された理由
答えて
接続が意味をなさないもののために使用されていたためです。
これはハイパーテキスト転送プロトコルとして設計されたもので、「文書Xを送ってください」と「ここでは文書Xを要求しました」という形式のメッセージの送信を許可することを意味しています。
どのようなプロトコルで永続的な接続を使用する必要がありますか?
スケーラビリティ上の理由から。接続を維持すると、リソースが消費されます。
AJAXは、コネクション型のように動作するための回避策ではありません。ユーザーの操作に基づいて、サーバーから完全なマークアップを再度取得するのではなく、クライアント側のコンテンツの一部のみを更新する必要があります。あなたのブラウザとウェブサーバとの間の接続を確立するものではありません。
すべてのサーバーがすべてのクライアントとライブ接続している場合、インターネットのサイズは数千万のユーザーに制限されています。
私は理由は非常に単純だと思う - HTTPを作成したとき:
1)ほとんど/全てのページが 2)インターネット上のほとんどの商業的存在と、それはリンクが同じくらい高かったと仮定した静的ました別のサイトを指差してはいけません。
したがって、静的ページ+非ローカルコンテンツ=接続フリープロトコルです。
HTTPはもともとHTTPであり、は依然としてです。 AJAXは現代のブラウザのJavaScript機能を利用して、ページをリロードせずにXML(またはJSON)をサーバーに送信するだけです。
前述のように、主な理由はスケーラビリティです。ウェブサイトの各視聴者にアクティブな接続を維持することは、非常にリソース集約的です。また、HTTPのオリジナルの作成者は、接続が維持されているシステムの必要性を想定していませんでした.HTTPのアイデアは、単にリクエストにテキスト応答を送信して終了することだけでした。
HTTPはコネクションレスではありません。つまり、TCPではなくUDPを意味します。 HTTP v1.0以前では、デフォルトで永続接続を使用していなかったと言うのがより正確です。ただし、HTTP v1.1ではデフォルトで永続的な接続が使用されます。 –
はい、それは基本的に私が意味することです。デフォルトでは、性質上、一般にコネクションレスなプロトコルです。 – Noldorin
そして簡単です。
HTTPはシンプルなので、簡単なものに簡単に使用できるという意味で、おそらくそれほど悪いことではありませんでした。 そして、それを上にレイヤーを構築することによって状態を必要とする、より難しい/より複雑なものに使うことができます。
HTTPを広く採用して魅力的にしたのは、このシンプルさです。 シンプルでなければ、n-oneが使用しなければならない限り、もう1つの複雑なプロトポコルになっています。 あなたが私のことを信じていない場合は、なぜcommにRPCと表示/レンダリングにRPCと言ってあなたのajaxアプリケーションを書かないのか教えていただけますか? :D
HTTPはもともとオンラインストア、銀行、ワープロなどではなく、読み取り/書き込み情報ストアなどのWikiを実装するように設計されていたことを覚えておいてください。 Tim Berniers-Leeとのインタビューを読んだことを思い出しました。ここでは、ウィキがWebをどのように動かすことが意図されているのかという言い方が広範に受け入れられていることが本当にうれしかったです。 実際には、これはより広いWeb上では発生せず、ほとんどのサイトではこの機能を有効にするためのHTTP PUTメソッドが無効になっています。
- 1. プロセスがカーネルモードで最初に実行される理由
- 2. HTTPプロトコルでは、ファイルパスにエンコードされたスペースが必要ですか? HTTPプロトコルで
- 3. 最初に表示されたウィンドウのみがフォーカス可能な理由
- 4. Angularjs:他の関数の前に$ watchが最初に実行される理由
- 5. 無線プロトコルの名前が802.11である理由
- 6. OleDbでExcelのインポートで最初の空行が無視される理由
- 7. 契約による設計:プロトコルとのインターフェースがありますか?
- 8. NullReferenceException - 初期化されたオブジェクトがnullにリセットされる理由を理解できません。
- 9. ローテーブルが自動的にサマリーテーブルに反映されるようにするための最適なデータベース設計/アーキテクチャ
- 10. System.IOがこのように実装されている理由
- 11. DOMContentLoadedの前に最初のペイントが起きる理由
- 12. 携帯電話用に設計されたウェブサイトにはどのようなビデオ形式が最適ですか?
- 13. 最初に処理されるもの:aspxまたはaspx.vbコード?
- 14. PHPセッション、配列が1に設定されている理由
- 15. ストーリーボード経由でロードされたときにビューがどのように初期化されますか?
- 16. がどのように設計最後に恐ろしいビーイング
- 17. 最初のiPhoneアプリが不明な理由でクラッシュする
- 18. 私はこのように設計されたチェックアウトページ持っフォーム
- 19. golangヒーププロファイルの「合計MB」が「RES」よりも上にある理由
- 20. WSDLの最初のWSのprepの理解と設計のスキル
- 21. Divがページにプッシュダウンされる理由
- 22. STDERRがSTDOUTにリダイレクトされる理由
- 23. cicsから取った値の最後に0が追加される理由
- 24. HTTP/SOAPが「厚い」とみなされる理由
- 25. 最後の2桁が奇数である最初の完全な正方形が印刷されない理由を理解できません
- 26. httpプロトコルの代わりにsvn経由でSVNアップデート
- 27. Android GPSの最初の位置変更がonLocationChangedになった理由は?
- 28. PostmanでHTTPプロトコルのバージョンを設定するにはどうすればよいですか?
- 29. Windows CEデバイスでうまく動作するように設計されたJavascriptフレームワークはありますか?
- 30. HTTPプロキシ経由でバッファリングされたアップロード
+1明確かつ歴史的な見通しです。私はまだアプリケーションプラットフォームとしてWebを使用する知恵について疑問を抱いています。 – cheduardo
あなたが私に尋ねるならば、全体のウェブものはパンのフラッシュです。 –