User Agent
Coddyの「ターミナルで学ぶネットワーク」コースのレッスン 44/47。
すべてのリクエストは、User-Agent ヘッダーで、何が送信したのかを示します。curl は自身の名前とバージョンを送信し、ブラウザーは長い歴史的な文字列を送信します。
これは見た目以上に重要です。サーバーは通常、この情報に基づいて異なる動作をします。たとえば、モバイルレイアウトを提供したり、不明なクライアントをブロックしたり、自動化されたものに見えるリクエストを拒否したりします。そのため、「ブラウザーでは動くのに curl では動かない」という場合、多くはまさにこのヘッダーが原因であり、それ以上に深い問題ではありません。
curl -s -A 'my-monitor/1.0' http://127.0.0.1:9133/-A で設定でき、これは単に -H 'User-Agent: ...' の短縮形です。
サービスに対して自動化されたリクエストを実行する場合は、使用するツール名を示す正直な User-Agent を設定するのがマナーです。トラフィックが問題を引き起こしたとき、当番の担当者はそれが何で、誰に尋ねればよいのかを把握できます。
チャレンジ
難しい正直に自分自身を紹介してください。
- ポート 9133 でキャプチャリスナーを起動します
my-monitor/1.0として自身を識別するリクエストを送信しますreq.txtから User-Agent 行を出力します
期待される出力:
User-Agent: my-monitor/1.0自分で試してみよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ターミナルで学ぶネットワークのすべてのレッスン
自分で練習してみよう: Terminalプレイグラウンド