自動テストチュートリアル

Playwright、Seleniumなどの自動テストツールを学ぼう

HTTPとは?

HTTPとは?

HTTP(Hypertext Transfer Protocol)は、WebブラウザとWebサーバーがデータをやり取りするための通信ルールです。

WebページがWeb表示される仕組み

1. ブラウザで URL を入力
   ↓
2. ブラウザが HTTP リクエストを送信
   ↓
3. サーバーが処理して HTTP レスポンスを返す
   ↓
4. ブラウザがHTMLを解釈して表示

HTTPの基本概念

クライアントとサーバー

  • クライアント: Webブラウザ(データを要求する側)
  • サーバー: Webサーバー(データを提供する側)
クライアント(ブラウザ)
  ↓ リクエスト「このページをください」
サーバー
  ↓ レスポンス「はい、HTMLをどうぞ」
クライアント(ブラウザ)

HTTPとHTTPS

HTTP HTTPS
通信が暗号化されていない 通信が暗号化されている
http:// で始まる https:// で始まる
盗聴のリスク 安全
⚠️ セキュリティ
ログインページやクレジットカード情報を扱うページは、必ずHTTPSを使います。現在ではほとんどのサイトがHTTPSです。

Playwrightとの関係

Playwrightでテストを書く際、HTTPの知識が役立つ場面:

1. ページ遷移の理解

// HTTPリクエストが発生
await page.goto('https://example.com');

2. APIリクエストの検証

// APIリクエストの待機
const response = await page.waitForResponse('**/api/users');
console.log(response.status()); // HTTPステータスコード

3. Cookieの操作

// Cookieを設定(ログイン状態の再現など)
await context.addCookies([{
  name: 'session',
  value: 'abc123',
  domain: 'example.com',
  path: '/',
}]);

よく使うHTTPメソッド

メソッド 用途
GET データ取得 ページ表示、検索
POST データ送信 フォーム送信、ログイン
PUT データ更新 プロフィール編集
DELETE データ削除 アカウント削除
💡 覚えておくポイント
  • GET: データを「見る」だけ
  • POST: データを「送る」

実際のHTTPリクエスト例

ブラウザがGoogleにアクセスする場合:

GET / HTTP/1.1
Host: www.google.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: text/html

サーバーからのレスポンス:

HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 12345

<!DOCTYPE html>
<html>
...
</html>

次のチャプターでは、リクエストとレスポンスについて詳しく学びます。