この記事の概要
以下のそれぞれのToolでHTTPリクエストを確認する方法を記載しています。
実際に実行し、HTTPリクエストを確認します。
これでWebサービスの基本である、リクエスト、レスポンスのイメージが分かるかと思います。
■ブラウザ(Chrome)でリクエストを確認する
■curlコマンドでリクエストを送付
■JMeterでリクエストを送付
HTTPリクエスト(GETメソッド)とは
インターネットが世界に普及したのは、このHTTPプロトコルがシンプルな仕様だからと言われています。分かりやすいルールなので、みんなが使用できた。みんなが使用できたから広がった。シンプルisベストということです。
すなわち、「情報を取得する」、「情報を格納する」という2つだけでこの世界が成り立っています。
以下の通り、その一翼になります。
■Webサーバから情報を取得する
HTTPリクエスト(GETメソッド)を使用して、これを実現しています。
情報を持っているWebサーバに依頼をすると、そのファイルが返却されます。
これが、htmlファイルなら、ブラウザでその情報を表示すれば画面として認識できます。
■PCからサーバに情報を格納する
HTTPリクエスト(POSTメソッド)を使用して、これを実現しています。
ブラウザ(Chrome)でリクエストを確認する
ブラウザにURLを入力し、画面が表示される時には、裏でHTTPリクエスト(GETメソッド)が実行されています。
そのことを以下の手順で確認します。
【操作】
1.ブラウザを起動しGoogleのトップページを表示
2.「F12」キーを押下し、ChromeのDevToolsを起動
「ChromeのDevTools」が起動される
【操作】
1.上段の画面キャプチャのように「Network」タブを選択
2.ここで、「Ctrl +R」ボタンを押下
画面がリフレッシュされます。
画面がリフレッシュされ、色々情報が出てきます。
PCとWebサーバとのやり取りが出力されます。
【操作】
1.左のNameの部分のスクロールを一番上にもっていく
2.ここで一番上のNameにフォーカスをあてて、クリック
3.右側の「Headers」タブの最上段にスクロールすると以下の記述があります。
以下の内容のGETメソッドが送付され、Status Code: 200 なので、正常のレスポンスが
サーバからあったことが分かります。
===========================
Request URL: https://www.google.com/
Request Method: GET
Status Code: 200
===========================
curlコマンドでリクエストを送付
【操作】
1.コマンドプロンプトを起動
2.以下のコマンドを実行
※curlコマンドが使用可能か確認する。情報が表示されればコマンドが存在
表示されない場合はコマンドが存在しない。
===========================
curl –version
===========================
【操作】
1.以下のコマンドを実行
===========================
curl –http1.1 –get -v https://www.google.com/
===========================
以下のような表示があります。
PC側からサーバに送付したHTTPリクエストの内容です。
===========================
> GET / HTTP/1.1
> Host: www.google.com
> User-Agent: curl/7.55.1
> Accept: */*
===========================
以下のような表示があります。
サーバ側からの応答でその結果になります。ステータス200という意味で正常がレスポンスされています
===========================
HTTP/1.1 200 OK
===========================
JMeterでリクエストを送付
【JMeterとは】
HTTPリクエストを作成し、それを連続で送信できます。
Webアプリを開発した時の負荷試験や、WebAPIをキックする時に使用したりします。
【前提】
JMeter(オープンソース)を実行環境にDLできており、その実行環境が整っていること
【操作】
1.JMeterを起動
bin配下のApacheJMeter.jarをダブルクリック
===========================
格納パス\apache-jmeter-5.4.1\bin\ApacheJMeter.jar
===========================
全体の流れとしては、以下になります。
・テストシナリオの作成
・HTTPリクエストの作成
・テストの結果を確認するためのリスナーの設定
・試験のループ回数の設定
・テストの実行
・実行結果をリスナーで確認
【作業内容】
テストシナリオの作成
【操作】
1.左の「テスト計画」にフォーカスを当てて、「右クリック」
2.追加 > Threads(Users)> スレッドグループ
3.左の「スレッドグループ」にフォーカスを当てて、「右クリック」
4.追加 > サンプラー> HTTPリクエスト
【作業内容】
HTTPリクエストの作成
【操作】
1.左の「HTTPリクエスト」をクリック
2.右の「HTTPリクエスト」画面に以下を入力
GoogleのURL: https://www.google.com/
===========================
プロトコル https
サーバ名またはIP www.google.com
===========================
3.下段の「追加」ボタンを押下
【作業内容】
・テストの結果を確認するためのリスナーの設定
【操作】
1.左の「スレッドグループ」にフォーカスを当てて、「右クリック」
2.追加 > リスナー> 結果をツリーで表示
【作業内容】
・試験のループ回数の設定
【操作】
1.左の「スレッドグループ」をクリック
2.右の「スレッドグループ」画面に以下を入力
今回は、負荷試験を実施する分けではないので、デフォルトの1のまま
負荷試験を実施する場合は、ここで負荷を決定する
===========================
スレッド数 1
Ramp-Up期間(秒) 1
ループ回数 1
===========================
【作業内容】
・テストの実行
【操作】
1.左の「結果をツリーで表示」をクリックし、結果画面を表示
「結果をツリーで表示」画面が左に表示される
2.上段の「実行」アイコンをクリック
【作業内容】
・実行結果をリスナーで確認
【操作】
1.「結果をツリーで表示」画面の「HTTPリクエスト」をクリック
【作業内容】
・実行結果をリスナーで確認
【操作】
1.「リクエスト」タブをクリックし、「Result Body」タブをクリック
===========================
GET https://www.google.com/
===========================
上記のGETリクエストが実行されていることを確認
2.「応答データ」タブをクリックし、「Response headers」タブをクリック
===========================
HTTP/1.1 200 OK
===========================
上記のように200番の正常コードが返却されていることを確認