解説
Webサイトで使う「GET」と「POST」は、HTTPメソッドと呼ばれるものです。HTTPメソッドは、クライアントからサーバーに、HTTPでリクエストする際の方式です。
GETは、サーバーにリソースを要求するメソッドです。HTMLファイルや画像ファイルなどを受け取る際に使います。また、GETを利用したCGIでは、URLの?以降に値としてデータを付けて、サーバーにリソースを要求します。検索エンジンなどのように、URLにデータが含まれるのは、この方式です。
POSTは、サーバーにデータを投稿するメソッドです。また、その結果としてリソースを受け取ることもできます。POSTはCGIで用いられることが多いです。アップローダーなど、データをサーバーにアップロードする際は、この方式です。POSTを利用したCGIでは、URLではなく、サーバーに送るリクエストの本体に、データを含めて送信します。
サンプル
HTMLで、GETとPOSTを利用してみます。ファイルはUTF-8で保存してください。検証はGoogle Chromeで行なっています。
<html>
<head>
<title>「GETとPOST」のサンプル</title>
<meta charset="UTF-8">
</head>
<body>
<h1>GETの例</h1>
<form action="https://www.google.co.jp/search" method="get">
検索語
<input type="text" name="q" value="search">
<label>
<input type="radio" name="lr" value="" checked>
すべての言語
</label>
<label>
<input type="radio" name="lr" value="lang_ja">
日本語
</label>
<input type="submit">
</form>
<p>送信ボタンを押すと、遷移するURLの末尾に、データが付く。</p>
<p>※ Googleは、GETを使い外部から検索可能。</p>
<h1>POSTの例</h1>
<form action="http://ja.wikipedia.org/w/api.php" method="post">
データ
<input type="text" name="titles" value="翔泳社">
<input type="hidden" name="format" value="xml">
<input type="hidden" name="action" value="query">
<input type="hidden" name="prop" value="revisions">
<input type="hidden" name="rvprop" value="content">
<input type="submit">
</form>
<p>送信ボタンを押すと、遷移するURLの末尾に、データが付かない。</p>
<p>※ WikipediaのAPIは、GETでもPOSTでもデータを取得可能。</p>
</body>
</html>
