ホーム > ネットワーク管理 > curl

curl -I: HTTPヘッダー情報の確認

curl -I は、Webサーバーからの応答ヘッダーのみを取得して表示するために使用されます。これは、Webリソースの状態、キャッシュ情報、サーバーの種類などを素早く確認するのに役立ちます。実際のコンテンツをダウンロードしないため、高速かつ効率的です。

概要

curl -I は、HTTP HEADリクエストを送信してサーバーからの応答ヘッダーのみを取得します。これは、Webページの存在有無、リダイレクト情報、コンテンツタイプ、キャッシュ制御ディレクティブなどを確認するのに主に使われます。実際のボディデータを転送しないため、ネットワークトラフィックを節約し、応答時間を短縮できます。

主な特徴

  • HTTP HEADリクエストの送信
  • 応答ヘッダー情報のみ受信
  • コンテンツダウンロードなし(高速な応答)
  • Webサーバーの状態およびメタデータの確認に有用

主なオプション

curl -I と共に頻繁に使用されるオプションです。

リクエストと出力の制御

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`curl` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

curl -I コマンドを活用した様々なシナリオです。

基本的なHTTPヘッダーの確認

curl -I https://www.example.com

指定されたURLのHTTP応答ヘッダーのみを取得します。

リダイレクトを追跡してヘッダーを確認

curl -IL https://www.google.com

リダイレクトが発生した場合、最終的な宛先のヘッダーまで追跡して表示します。

サイレントモードでヘッダーのみ出力

curl -Is https://www.github.com

進捗表示なしで、応答ヘッダーのみを出力します。

詳細情報と共にヘッダーを確認

curl -Iv https://www.naver.com

リクエストと応答の詳細情報(例:SSLハンドシェイク、HTTPリクエストヘッダー)を共に表示します。

特定のヘッダーのみフィルタリング

curl -Is https://www.example.com | grep 'Content-Type'

grepと組み合わせて、特定のヘッダー情報のみを抽出できます。

インストール

curlはほとんどのLinuxディストリビューションにデフォルトで含まれていますが、含まれていない場合は次のコマンドでインストールできます。

Debian/Ubuntu

sudo apt update && sudo apt install curl

CentOS/RHEL/Fedora

sudo yum install curl

Arch Linux

sudo pacman -S curl

ヒントと注意点

curl -I 使用時の役立つヒントと注意点です。

HTTPステータスコードの確認

応答ヘッダーの最初の行にあるHTTPステータスコードを通じて、Webリソースの現在の状態(例:200 OK、404 Not Found、301 Moved Permanently)を素早く把握できます。

  • 200 OK: リクエスト成功
  • 3xx Redirection: リダイレクトが必要(-L オプションを活用)
  • 4xx Client Error: クライアント側のエラー(例:404 Not Found)
  • 5xx Server Error: サーバー側のエラー

キャッシュ制御ヘッダーの分析

Cache-Control、Expires、ETagなどのヘッダーを通じて、Webリソースのキャッシング戦略を理解し、デバッグできます。

  • Cache-Control: max-age、no-cache、no-storeなどのキャッシュポリシー
  • Expires: キャッシュの有効期限
  • ETag: リソースバージョンの識別子

セキュリティ上の考慮事項

一部のWebサーバーは、応答ヘッダーにサーバーバージョン、技術スタックなどの機密情報を含んでいる場合があります。これにより、潜在的な攻撃者がシステム情報を取得する可能性があるため、公開環境では不要な情報漏洩に注意が必要です。


同じカテゴリのコマンド