HTTPプロトコルの基礎とjavawebエントリ--- Webサーバ

  最終的には基盤上のWebに関するウェブだけでなく、ローカルのJava開発者が習得するために必要なものです。この記事では、使用方法を、どのようなウェブサーバーにお答えしますか!httpプロトコルの基本があります。

Webサーバ

    大規模なWebサーバの概念は非常に広いですが、平野用語で、これはインターネット上で、いくつかのコンピュータ・プログラム上に構築されたウェブサイトのサーバーが、存在することを意味します。それとも、再びそれは単に、インストールするには、お使いのコンピュータサーバーソフトウェアを、インターネットに接続するには、あなたは、右のようにシンプルで、ロケット知識コンピュータサーバではないと言うことができます。しかし、パフォーマンスのすべての側面は、それが比較的低いです。一般的に企業が1つのブラックボックスがサーバーになるように誰かが、同社のエンジンルームを訪れた場合、強力な個性は、メモリー計算、大きなサーバソフトウェアをインストールすることができ特化して。

それは、私が赤マークところ、サーバソフトウェアは、はい、これは私たちの日常の開発は必然的に顧客を介してユーザの後の行に、開発完了した開発プロジェクトの後に、必要がサーバーソフトウェアにプロジェクトを構成するために使用されるであることが指摘されましたサーバープロジェクトにアクセスするためのエンド・パスまたはブラウザは、彼が必要とするリソースを要求するために、位置しています。

だから、サーバーソフトウェア市場のいくつかのそれは何ですか?ここでの理解など、いくつかの簡単な紹介は以下のとおりです。   

1は、Apacheは世界で最も広くWEBサーバで、主な利点は、オープンソースコードは、オープンな開発チームだけでなく、クロスプラットフォームのアプリケーションの移植性のサポートがあるということです。スピードとパフォーマンスで他の軽量WEBサーバよりも少ないが、ヘビー級の製品の一部であり、メモリの消費量は、他のWEBサーバよりも高くなっているものの、Apacheモジュールは、非常に豊富でサポートされています。

PS:Apache Software Foundationのは少しを見つけるために学生を必要とし、Apacheはオープンソースの公益団体で、開発は、ハードウェア、コミュニケーションツールとビジネスインフラストラクチャを提供することで、彼を知るためにそれを行うには、組織の目的を持っていた、オープンコラボレーションようにバックアップソフトウェア開発プロジェクト。プロジェクトの組織化と開発は、基本的に、このような多くのがありますなどのTomcatサーバー、Mavenのプロジェクト管理ソフトウェアなど、など、自由でオープンソース、です。

 

    2、Lighttpdのは、高性能、安全で、高速で、優れた互換性と柔軟なWebサーバ環境のために特別にウェブサイトで、それはそうでオーバーヘッドメモリ不足と低CPU占有率、良好なパフォーマンスだけでなく、モジュールとしています。サポートのFastCGI、CGI、認証、出力圧縮、URLの書き換えや、エイリアスなどの重要な機能、軽量WEBサーバです。

 

    3、Tomcatはオープンソース、サーブレットコンテナとJSPのWebアプリケーションを実行しているJavaベースのWebアプリケーションで、Tomcatサーバーは、サーブレットとJSPの仕様書に従って実施され、それは、Apache-ジャカルタの規範のTomcatサーバーの実装とすることができ、ほとんどの市販ソフトウェア・アプリケーション・サーバが優れているよりも、しかし、静的ファイルと高い同時実行のTomcatの取り扱いは比較的弱いです。

 

    図4は、IBM WebSphereは、インターネットおよびイントラネットのWebアプリケーションを構築、展開、および管理するための完全に機能する、オープンなWEBアプリケーションサーバ、そのJavaベースのアプリケーション環境です。他の人気のWEBサーバと比較すると、アプリケーションの数は非常に少ないです。

 

    5、IISのWEBは、WEBサーバー、FTPサーバー、NNTPサーバおよびSMTPサーバ、Webブラウジングのための1つ、ファイル転送、電子メール、ニュースサービスなど、WEBサーバは公共のイントラネットまたはインターネット上の情報を公開することを可能にするサービス・コンポーネントであります送信および他の態様、それは物事が非常に簡単になってきたインターネット上の情報を公開します。それは、拡張ISAPIプログラミングインターフェイスとしてWEBサーバ機能を提供するだけでなく、インターネットを提供し、クエリを達成し、データベースを更新することができます。

 

    6、nginxのは、高性能なHTTPサーバで、リバースプロキシ、高い同時接続の場合には、効率的なのepoll、kqueueの、eventportほとんどのネットワークI / Oモデルを選択することができ、最大50,000の同時接続数をサポートすることができますこれに応答して、メモリとシステムリソース、CPUや他の消費量が非常に安定して動作して、非常に低いです。

オンラインチュートリアルをダウンロードしてインストールする各サーバには、そこには困難がありませんが、ポイントは注意することは、非常に大きい:
サーバを起動しようとする、そのような一般的に使用されるTomcatサーバーとして、インストールが完了しダウンロードするには、binディレクトリのsatrtup.batでクリックすると、ウィンドウ全体で黒フラッシュ?注意すべき最初の事は何もJAVA_HOME変数が存在しないため、主に、パスJDKのbinペーストする前に、コンピュータの内容をコピーし、パソコンの電源を入れ高度な設定でJAVA_HOMEという名前の新しい環境変数を作成し、そして、TomcatのJDK環境を実行していることが必要です変数の値は、次に%のJAVA_HOME%の\ビンの先頭で、変数Pathの値を再編集し、変数値の先頭に。原理は、設定ファイルのserver.xml Tomcatのためのパス名JAVA_HOME環境にアクセスする必要があり、そしてあなたが設定されていない場合、エラーが発生します。

  例えばTomcatのプロジェクトを構成するいくつかの方法:

ディレクトリ:ビン:Tomcatは、ファイルのlibが実行します。jarパッケージには、confのTomcatを使用する必要があります:Tomcatのランタイムファイルが生成される
展開する最初の方法を:Webアプリケーション:ストレージ・プロジェクトの実行に必要な、動的な設定項目におけるWebアプリケーションは、WEB-INF WEBでなければなりません-INFファイルは、Webアプリケーションでプロジェクトのweb.xmlファイルにエクスポートする必要があります。戦争へのプロジェクトのエクスポートパッケージのリードサーバーが開始されたとき、戦争は自動的にパッケージを解凍します

あなたはWebアプリケーションにコピーされた項目に加えて、プロジェクト内のWebアプリケーションを設定しない場合

ホストのタグ内のserver.xmlの第二の方法、新しい:<コンテキスト文書ベース=パス「Dの \の=「/ ABC /プロジェクトパス」>
値文書ベースプロパティ:ブラウズ:プロジェクトパス属性はパスの値プロジェクトへのアクセスは、名前である
Tomcatのファイルフォルダ内のserver.xml confファイル

カタリナ\ localhostのディレクトリの下に、Tomcatのconfディレクトリの\の中第三の道のxxx.xmlファイルの作成
、プロジェクトのファイル名のxxx.xmlにアクセスするには、ブラウザに名前を

  

  HTTPプロトコル:

  ブラウザAccessプロジェクト:プロトコル+ IPアドレス、ポート番号+ + +プロジェクトファイルのパス名。

  通常、あなたはURLを入力する必要があり、インターネット、URLはhttpは言葉でいつも始まるとき、そして最終的にはHTTPそれは何ですか?

  

HTTP:ハイパーテキストは、プロトコル、ハイパーテキスト転送プロトコルを転送します。ブラウザとサーバプロトコルの
サーバへのブラウザ要求、サーバーブラウザの応答との間のHTTPプロトコルの送信
などの一般協定の条項として知られ、依頼者が認識し、それぞれの端に対応できるように、
1.高レベルのプロトコルのTCP / IPベースの
2。デフォルトのポート番号:80
の要求/応答モデルに基づいて3:要求に対応する一次応答

 

それは人気があるだけでなく、対応するファイルプロトコル、メッセージプロトコルとして、我々は右に書かれていますか?私たちは、テキストの先頭に、こんにちはxxxの2つの空白を開始し、最終的にはXXXとXXXX XX XX日、敬具を必要とする必要があります。これは私が理解することができ、プロトコル、受取人と人との間の合意の手紙、あなたが書いた唯一の方法は、言うことができる形式です。あなたは中国を話す外国人と通信し、彼は彼自身の言語は、あなたがプロトコルとしての英語の広い範囲を使用する必要があり、それは確かに異なっている、と述べ、我々はすべて、英語を話す英語の文法に準拠しなければならないので、二人がすることができます通信。

だから私はあなたのすべてを理解すると確信してこれを言う、httpプロトコルは、ブラウザからの要求を解決することができ、プロトコル・サーバーに準拠したブラウザ(クライアント)と中間サーバプロトコルであり、ブラウザがサーバーからの応答を解析することができます。

Google Chromeブラウザには、例えば、ウェブページを参照してください開発ツールのネットワークをクリックして開きます、あなたは明らかに頭responseHesdersの要求ライン全般、リクエストヘッダrequestHeaders、応答形式と内容を見ることができます。

クライアント要求メッセージ(要求):クライアントのようなHTTPサーバ形式に要求を送信する
要求ライン(リクエストライン):モードリクエストURL要求プロトコル要求/解放
要求ヘッダ(ヘッダ)要求ヘッダー名:要求ヘッダ値
要求空行:空の行
要求データ:要求パラメータポストカプセル化メッセージ

サーバ応答メッセージ(REPONSE)
ステータスライン
メッセージヘッダ
レスポンスボディ

リクエスト方法:7の実施形態がありますが、2は、一般的に存在しているHTTPプロトコルのリクエスト
要求行のリクエストパラメータ、投げるの後:取得
要求のURL長が制限されている
ポスト:リクエストパラメータを要求ボディに
要求のURLの長さではありません制限

 

HTTP注意すべき3つのことを:

HTTPはコネクションレスである:限定する接続ごとに1つだけの要求を取り付けていない意味します。クライアントサーバーは要求を処理し、応答クライアント受信した後、
切断されています。この方法では、伝送時間を節約することができます

HTTPはステートレスである:HTTPプロトコルはステートレスなプロトコルである、ステートレスつまり、トランザクション処理およびメモリのないプロトコル。状態の欠如があることを意味した場合
、その後の処理は、情報の前に必要な、各コネクションのためのデータの増加伝送をもたらす可能性が、再送されなければなりません。一方、それはサーバーを必要としない
時に以前の情報に対する応答が速いです

HTTPは、独立したメディアである:これは、限り、クライアントとサーバーがデータの任意のタイプのデータ・コンテンツを処理する方法を知っているようにHTTPを介して送信することができ、ということを意味します。
クライアントとサーバは、適切なMIMEタイプのコンテンツタイプを指定します

 

 

 一般的なリクエストヘッダ:

ユーザーエージェント:ブラウザがサーバーに伝え、私はあなたが情報を使用しているブラウザのバージョンにアクセス
便利に:あなたは頭のサーバ側の情報を得ることができ、互換性の問題ブラウザ解決
リファラー:リファラーキーと値ならば、要求のヘッダを、ページからの説明は、以上のジャンプ
を使用する:そのようなウェブサイトのBaiduの促進などの統計があり、ポイントから百度に、リファラー値がBaiduのウェブサイトで
映画の接続がムービーを再生するために思っているとジャンプに好意的に冷却が見つかりません、セキュリティチェーンなど、再生されません

 

 

簡単に紹介した後の結果、私たちは地図を読むことができる必要があります:

  赤い円と場所のうち、我々は基本的な理解を持っているサーバー側のプログラムに比べて。そして、後に黄色の丸の内容を説明するために、それは、サーバが要求を処理し、それに対応する方法ですか?

 

おすすめ

転載: www.cnblogs.com/zhengcheng-java/p/11260212.html