協定の締結

公開日: 2026-07-29 10:25 更新日: 2026-07-29 10:25 1777文字 9 min read ... ページビュー

この記事では、HTTPプロトコルの基本概念、リクエストとレスポンスの構造、一般的なリクエストメソッドとレスポンスステータスコードを紹介し、HTTPのステートレス特性と接続再利用メカニズムを強調します。HTTPSがTLSを介して機密性、完全性、認証を提供することを説明し、セキュリティはプロトコルとビジネスレベルの保護を組み合わせる必要があることを指摘します。最後に、IntelliJ IDEAでMaven Webプロジェクトを設定し、Tomcatにデプロイする手順を詳細に説明します。

HTTPプロトコル

HTTPの概要

HTTPはHypertext Transfer Protocolの略で、中国語名はHypertext Transfer Protocolです。これは、クライアントとサーバ間のリクエストとレスポンスの形式と相互作用規則を規定します。

HTTPは通常 TCP 上で動作します。クライアントはまずサーバにHTTPリクエストを送信し、サーバは処理後にHTTPレスポンスを返します。

HTTPの主な特徴

ステータスなし

HTTPプロトコル自体は、以前のリクエストからのビジネスステータスを自動的に記憶しません。サーバーは、Cookie、セッション、トークン、データベースなどのメカニズムを通じてログインステータスとビジネスデータを維持できます。

リクエストとレスポンスのパターン

HTTPインタラクションには通常、リクエストとレスポンスが含まれます。HTTP/1.1はデフォルトで永続的な接続をサポートしているため、単に“リクエストの終了後にTCP 接続を切断する”と解釈できません。接続が多重化されるかどうかは、プロトコルバージョン、要求ヘッダ、サーバ構成、ネットワーク環境にも依存します。

HTTPリクエストメッセージ

HTTPリクエストメッセージは通常、以下の要素から構成されます。

  • LINEのリクエスト。

  • ヘッドを参照。

  • 空の空。

  • オプションのリクエスト体。

リクエスト·ライン

要求ラインには、要求メソッド、要求ターゲット、およびHTTPバージョンが含まれます。次に例を示します。

GET /users?id=10 HTTP/1.1

クエリパラメータは要求ターゲットにあり、要求ヘッダーに属しません。

共通のリクエスト方法

GET

通常は資源の取得に使用されます。クエリパラメータはURLの後ろに書かれることが多いため、アドレスバー、ブラウザ履歴、サーバーログなどに簡単に表示されます。

GETはPOSTよりも自然に“安全でない”わけではありません。安全性はHTTPSの使用、機密パラメータの公開、サーバー側の権限検証などに依存します。URLの長さにはHTTPで統一された固定上限はありませんが、ブラウザ、サーバー、プロキシはそれぞれ制限を設定できます。

POST

通常、サーバにデータを送信したり、処理操作をトリガーしたりするために使用されます。フォームmethod="post"を使用する場合、フォームデータは通常リクエスト本体に配置されます。

GETに似ていますが、サーバーはレスポンスヘッダーのみを返し、レスポンスボディは返さず、リソースメタデータを取得するためによく使用されます。

PUT

指定されたリソースを作成または全体的に置換するために使用され、RESTfulインタフェースでは一般的です。

DELETE

通常、指定したリソースを削除するために使用します。サーバは引き続き認証、権限チェック、およびビジネス検証を行う必要があります。

一般リクエストヘッダー

リクエストヘッド作用
Acceptクライアントが受信できる応答コンテンツタイプの宣言
Accept-Languageクライアントの好みを宣言する言語
Content-Type要求本体のデータ型の宣言
クッキー適格なCookieをサーバーに送信する

一般的なリクエストの種類

フォームのエンコード

Content-Type: application/x-www-form-urlencoded

リクエスト本体の例:

username=tom&password=123

ファイルのアップロード

Content-Type: multipart/form-data

このフォーマットは、共通のフィールドとファイルコンテンツを同じリクエストで送信することができ、実際のリクエストヘッダーにはセクションを分離するためのboundaryが含まれます。

XML

Content-Type: application/xml

JSON

Content-Type: application/json

JSONはオブジェクトの属性名と文字列値を二重引用符で表します。

{
    "username": "tom",
    "password": "123",
    "name": "tom"
}
{
    "name": "财务部",
    "id": 5001,
    "employees": [
        {
            "name": "tom",
            "age": 20
        },
        {
            "name": "jack",
            "age": 23
        }
    ]
}

HTTPレスポンス·メッセージ

HTTPレスポンスメッセージは通常以下の要素から構成されます。

  • ステータス·ライン。

  • 頭に応答する。

  • 空の空。

  • 任意の応答体。

Status Lineの例:

HTTP/1.1 200 OK

HTTPステータスコード

ステータスコードは3 桁で構成され、最初の数字はレスポンスクラスを表します。

ステータスコード名称意味
『 200 』OKです。リクエスト成功。
『 400 』Bad Requestより要求形式またはパラメータがサーバ要件に適合していません
『 40 1 』authorized有効な認証は完了していません
『 40 3 』Forbiddenのサーバはリクエストを理解するが、パーミッション不足のために実行を拒否する。
『 40 4 』見つからなかった要求されたリソースが存在しないか、アドレスが正しくない
『 40 5 』方法は許可しないリソースは現在の要求メソッドをサポートしていません
『 500 』内部サーバエラーサーバ内部処理エラーが発生しました
502さんバッド·ゲートウェイゲートウェイまたはプロキシがアップストリームサーバから無効な応答を受信

4xxは通常、クライアントの要求に問題があることを示し、5xxは通常、サーバが要求を処理する際に問題が発生したことを示します。

一般的な応答ヘッダ

応答ヘッド作用
Content-Typeレスポンスボディのデータ型と文字エンコーディングの宣言
Content-レスポンスボディ長の宣言
Locationリダイレクト、新しいリソースアドレスの指定によく使用されます。
Set-Cookieブラウザに規則に従ってCookieを保存するよう求める

リクエスト内のCookieはCookieリクエストヘッダーを使用し、サーバーはCookieを設定するときにSet-Cookieレスポンスヘッダーを使用します。

HTTPSプロトコル

HTTPS 概要

HTTPSは、TLSセキュアチャネル内でHTTPを送信することと理解できます。SSLはTLSの歴史的な前身であり、関連する証明書はまだSSL 証明書と呼ばれています。

TLSには以下のセキュリティ機能がある。

  • **機密性:送信データを暗号化し、盗聴のリスクを低減します。

  • 完全性:送信内容が改ざんされていないかを検出する。

  • 認証:デジタル証明書を介してサーバーの身元を検証します。特定のシナリオでは、クライアントの身元も検証できます。

HTTPSとHTTPの違い

の比較HTTPHTTPS
デフォルトポート『 80 』#44 3さん
トランスポート保護暗号化されないTLSを使用した暗号化と整合性の検証
アイデンティティ認証プロトコル自体は証明書認証を提供しない通常、デジタル书によるサーバIDの
アドレスプレフィックスhttp//https//

HTTPSを使用することは、ビジネスシステムの絶対的なセキュリティと同等ではなく、サーバーは認証、権限制御、入力チェック、機密データストレージを正しく処理する必要があります。

IntelliJ IDEAでTomcatを設定する

次の手順は、従来のMaven Webプロジェクトに適用されます。IntelliJ IDEAのバージョンによってメニュー名が若干異なります。

ステップ1:Maven Webプロジェクトを作成する

Mavenプロジェクトを作成し、Webリソースディレクトリとサーブレット関連の依存関係を準備します。

ステップ2 Web Facetの設定

Project Structureを開き、FacetsでWeb 構成を追加または確認してから、設定を適用します。

手順 3 Tomcat 実行構成の追加

“実行”メニューで“Edit Configurations”を開き、Tomcat Serverの下にローカル構成を追加します。

image-001
image-001

ステップ4:プロジェクトアーティファクトのデプロイ

Tomcat 実行構成のDeploymentページに現在のWebプロジェクトのArtifactを追加し、アプリケーションコンテキストパスを確認します。

image-002
image-002
image-003
image-003

ステップ5:プロジェクトを開始してアクセスする

Tomcatを起動し、コンソールに配備エラーがないことを確認してから、ブラウザで次のようにアクセスします。

http://localhost:8080/pjt0721/index.html

ここで、pjt0721はアプリケーションコンテキストパス、index.htmlはアクセスするリソースです。実際のアドレスは、展開構成と一致している必要があります。

気に入ったならばコメントを残してくださいね~

... ページビュー
© 2026 跨越星轨的客 @Hoshiumi
Powered by theme astro-koharu · Inspired by Shoka