Web開発基盤(1)

Web開発基盤

ブラウザ

ブラウザは、Web情報用のクライアントブラウザプログラムです。ブラウザを介して、さまざまな要求をWebサーバーに送信したり、サーバーから送信されたハイパーテキスト情報やさまざまなマルチメディアデータ形式を解釈、表示したり、再生したりできます。ブラウザは、主にHTTPプロトコルを介してWebサーバーと対話し、URLによって決定されるWebページを取得します。

パソコンの一般的なブラウザには、MicrosoftのInternet Explorer、MozillaのFirefox、AppleのSafari、GoogleのChrome、Opera、Hot Browser、360セキュリティブラウザ、Sogouブラウザ、Maxthonブラウザなどがあります。

ウェブサーバー

WWWはインターネットのマルチメディア情報クエリツールであり、インターネット上で最も急速に成長し、現在最も広く使用されているサービスです。

WWWサービスはWebサーバーなしでは実行できません。WebサーバーはHttpリクエストの処理に特化し、クライアントのブラウザが閲覧できるようにページをクライアントに送信します。WebサーバーがHttp要求を受信すると、HTMLページなどのHTTP応答を返します。

Webサーバーは、サーバー側プログラムを実行し、プログラムによって生成された応答を返すことができる環境のみを提供し、通常、トランザクション処理、データベース接続、メッセージ送信などの機能を備えています。

UNIXおよびLINUXプラットフォームで最も広く使用されているWebサーバーはApacheサーバーですが、WindowsプラットフォームはIIS(Internet Information Serbices)サーバーです。最も一般的に使用される2つのWebサーバーを次に示します。

  • (1)Micorosoft IIS
    IISは、インターネットサービスの監視、構成、および制御に使用されるインターネットサービスマネージャと呼ばれるグラフィカルインターフェイス管理ツールを提供します。同時に、IISはWebサーバー、FTPサーバー、NNTPサーバー、SMTPサーバーなどのWebサービスコンポーネントであり、Webブラウジング、ファイル転送、ニュースサービス、メール送信に使用されます。
  • (2)Apache HTTPサーバー
    Apacheは現在、世界で最も使用されているWebサーバーソフトウェアであり、NCSA httpdサーバーに由来します。その成功は、オープンソースコード、成功した開発チーム、およびクロスプラットフォームアプリケーションのサポートにあります。 (ほとんどすべてのUNIX、Windows、Linuxシステムプラットフォームで実行できます)とその移植性。

HTTP

HTTPの概要

ハイパーテキスト転送プロトコルは、インターネットで最も広く使用されているネットワークプロトコルで、World Wide Web AssociationとInternet Working Groupが共同で策定しました。
HTTPは、要求/応答モデルを使用して、クライアントとサーバー間で要求と応答を実装する方法を説明する標準です。HTTPサーバーは、指定されたポート(デフォルトのポート番号は80)でクライアントから送信された要求を待機します。HTTPクライアントは、Webブラウザー、Webクローラー、またはその他のツールを使用して、HTTPサーバー上の指定されたポートへのHTTP要求を開始します。次に、HTTPクライアントとHTTPサーバーの指定ポート間でTCP接続が確立されます。
HTTPプロトコルの主な機能は、次のように要約できます
。1.シンプルで高速なHTTPプロトコルはシンプルであるため、HTTPサーバープログラムの規模は小さく、通信は高速です。
2柔軟なHTTPにより、あらゆるタイプのデータオブジェクトの送信が可能
3コネクションレスコネクションレスの意味は、各リンクを1つの要求のみを処理するように制限することです。このようにして、伝送スペースを節約することができます。
4ステートレス:HTTPプロトコルはステートレスプロトコルです。ステートレスとは、プロトコルにトランザクション処理のためのメモリ容量がないことを意味します。

Uniform Resource Positioning

ブラウザのアドレスバーに入力したWebサイトアドレスは、URL(Uniform Resource Locator)と呼ばれます。URLは特別なタイプのURI(Uniform Resource Identifier)であり、インターネット上でインターネットリソースを見つけるのに十分な情報が含まれています。URLの形式は次のとおりです。

http:// host [":" port] [abs_path]

HTTPは、HTTPプロトコルを介してネットワークリソースを検索することを意味します。Hostは正当なインターネットホストドメイン名またはIPアドレスを表します。Portはポート番号を指定します。空白の場合、デフォルトのポート80が使用されます。abs_pathは、要求されたリソースのURIを指定します。

URLの具体例は次のとおりです:http://www.baidu.com/china/index.htm。その中で:
1. http://は、ハイパーテキスト転送プロトコルを表し、baidu.comサーバーにWebページを表示するよう通知します。
2.wwwはWeb(World Wide Web)サーバーを表し
ます
。3.baidu.com/は、Webページのあるサーバーのドメイン名を表します。4.china /は、サーバー上のサブディレクトリを
表します。5.index.htmは、HTMLファイル(Webページ)を表します。

HTTPリクエスト

HTTPリクエストは、リクエストライン、ヘッダー、ボディの3つの部分で構成されています。

request-line
ヘッダー(0以上)
<空白行>
本文(POSTメソッド操作でのみ有効)

HTTP応答

要求メッセージを受信して​​解釈した後、HTTPサーバーはHTTP応答メッセージを返します。HTTP応答メッセージは、ステータス行、メッセージヘッダー、応答本文の3つの部分で構成されています。

ステータス行
ヘッダー(0以上)
<空の行>
本文

HTTPレスポンスボディは、サーバーから返されるリソースコンテンツです。

HTTPメッセージヘッダー

HTTPメッセージは、クライアントからサーバーへの要求メッセージとサーバーからクライアントへの応答メッセージに分けることができます。要求メッセージと応答メッセージは両方とも、開始行(要求メッセージの場合、開始行は要求行、応答メッセージの場合、開始行はステータス行)、メッセージヘッダー(オプション)、空白行(CRLF行のみ)、およびメッセージ本文で構成されます。 (オプション)構成済み。HTTPメッセージヘッダーは、通常のヘッダー、リクエストヘッダー、レスポンスヘッダー、エンティティヘッダーの4つのタイプに分類されます。各ヘッダーフィールドは、「名前」+「:」+スペース+「値」で構成されます。メッセージヘッダーフィールドの名前はサイズに依存しません。書く。

共通ヘッダー:一般的に、共通ヘッダーはすべての要求および応答メッセージに使用できます。共通共通ヘッダーフィールドには、Cache-Control共通ヘッダーフィールド、Date共通ヘッダーフィールド、およびConnection共通ヘッダーフィールドが含まれます。

要求ヘッダー:要求ヘッダーにより、クライアントは要求された追加情報とクライアント自身の情報をサーバーに渡すことができます。一般的に使用されるリクエストヘッダーフィールドには、Acceptリクエストヘッダーフィールド、Accept-Charsetリクエストヘッダーフィールド、Accept-Encodingリクエストヘッダーフィールド、Accept-Languageリクエストヘッダーフィールド、Hostリクエストヘッダーフィールド、User-Agentリクエストヘッダーフィールドがあります。

応答ヘッダー:応答ヘッダーを使用すると、サーバーは、ステータス行に配置できない追加の応答情報、およびサーバーに関する情報と、Request-URIで識別されるリソースへの次のアクセスに関する情報を渡すことができます。一般的に使用される応答ヘッダードメインは、ロケーション応答ヘッダードメイン、サーバー応答ヘッダードメイン、WWW-Authenticate応答ヘッダードメインです。

エンティティヘッダー:HTTP要求メッセージと応答メッセージの両方でエンティティを伝達できます。エンティティはエンティティヘッダーフィールドとエンティティボディで構成されますが、エンティティヘッダーフィールドとエンティティボディを一緒に送信する必要があるという意味ではなく、エンティティヘッダーフィールドのみを送信できます。エンティティヘッダーは、エンティティ本体と、リクエストで識別されるリソースに関するメタ情報を定義します。一般的に使用されるエンティティヘッダーフィールドには、Content-Encodingエンティティヘッダーフィールド、Content-Languageエンティティヘッダーフィールド、COntent-Typeエンティティヘッダーフィールド、Last-Modifiedエンティティヘッダーフィールド、およびExpiresエンティティヘッダーフィールドがあります。

おすすめ

転載: blog.csdn.net/qq_48455306/article/details/108678599