実践 Webアプリ「HTTPリクエスト(GETメソッド)」

JMeter

この記事の概要

以下のそれぞれの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番の正常コードが返却されていることを確認

タイトルとURLをコピーしました