Web関連の開発をしていると必ずと言っていい程「GET」と「POST」という言葉が出てくるかと思います。
今回はHTTPの「GET」と「POST」の違いについてまとめてみます。
基本事項として
「GET」も「POST」もクライアントPCなどからサーバーに送信するデータ「リクエストパラメーター」を送信する方式となります。
Web開発初心者の方だと「GET」という言葉からサーバーからデータを取得するのかなあと勘違い(私だけ?)してしまうかもしれませんが、どちらも入力フォームのデータをサーバへリクエスト送信する際に使用します。基本的に以下の特徴を踏まえて、用途別に応じて適切に使い分ける必要があります。
GET送信の特徴
- HTMLの<form>タグの属性に「<form method=”get”>」のように指定して送信します。
- 「https://write-remember.com?id=abc&data1=123」のようにHTTPリクエストヘッダへリクエストパラメータが付与されます。
URLの後の「?」がgetパラメータ開始という意味となり、パラメータが複数ある場合は「&」で区切って指定されます。
- データをリクエストURLの末尾に付与して送信する方式となるため、Webサーバやプロキシサーバのアクセスログなどに残ることになります。
- 他の人がURLを見ると、入力したデータが丸見えになってしまうリスクがあるので、ログイン画面などではIDやパスワードが他者から丸見えになるのでGET送信は使用するべきではありません。
- URLの後に付与するのでデータ量(文字数)に制限が掛かる。(Internet Explorer のURLに使用できる最大文字数は最大2,048 文字)
- GETはHTTPヘッダ情報に含まれるため、簡単に取得することが可能。
- テキストデータのみ送信可能。
POST送信の特徴
- HTMLの<form>タグの属性に「<form method=”post”>」のように指定して送信します。
- HTTPのBODY部にリクエストパラメータが格納されます。
- GETのようにURLの末尾にパラメータは付与されません。
- 個人情報などの重要な情報や、データ量が多い場合はPOST送信を使用します。
- POSTはBODY部分(form)に含まれるため、取得がちょっと面倒。
- テキスト、バイナリどちらでも送信可能。
- POST送信後にブラウザの戻るボタン押下で有効期間切れが発生する場合がある。
- GETのように容易に他者からパラメータはわかりませんが、安全に個人情報を送信する際はPOSTに加えて暗号化などの処置を施す必要があります。
Eclipseを起動すると「4.2 JUNO」といったようにバージョンの後にコードネームと呼ばれる文字列が表示されています。
Eclipseでは「コードネーム=Eclipseのバージョン」となっているのでコードネームだけでEclipseのバージョンを判断する事が可能となります。
バージョン | リリース日 | コードネーム | 備考 |
3.2 | 2006/06/30 | Callisto(カリスト) | 木星の第4衛星。 |
3.3 | 2007/06/29 | Europa(エウロパ) | 木星の第2衛星。 |
3.4 | 2008/06/25 | Ganymede(ガニメデ) | 木星の第3衛星。 |
3.5 | 2009/06/24 | Galileo(ガリレオ) | ガリレオ衛星の発見者。 |
3.6 | 2010/06/23 | Helios(ヘーリオス)
| ギリシア神話の太陽神。 |
3.7 | 2011/06/22 | Indigo(インディゴ) | 藍色。 |
4.2 | 2012/06/27 | Juno(ユーノー) | ローマ神話に出てくる、女性と結婚を守護する女神。 |
4.3 | 2013/06/26 | Kepler(ケプラー) | ドイツの天文学者。 |
4.4 | 2014/06/25(予定) | Luna(ルナ) | 月。 |
本日、 マイクロソフト認定資格試験 (MCP) 70-480を受験してきました。
結果は合格。
得点:740点、合格点が700点以上なのでギリギリセーフ?といったところでした^^;
出題形式は四問択一形式、複数選択形式、プログラム構文の穴埋め(プルダウン選択 or ドラッグ&ドロップ式)で出題されていました。
試験時間は2時間以上ある内、見直し含めても1時間程度で終わったので試験時間は問題ないかと思います。
試験結果はレポートを見ての通り、合格はしたもののまだまだ理解不足が多かった感が否めないです。もっと精進せねば!
※試験内容/対策などの詳細についてはこちら「MCP「070-480」資格取得情報」へまとめています。
HTMLでコーディングしていると、改行コードとして使用する<br>と<br />の違いって何だろうと思った事はないでしょうか。
いきなり結論を言ってしまえば<br>はHTML、<br />はXHTMLでの書式という違いになります。
XHTMLでは以下の様に終了タグ(省略式も可)を必ず記述しなければいけません。
XHTMLでは古いブラウザとの互換性を考慮して、/> の前にはひとつスペースを設けることが推奨されています。
例えば、あなたが訪問したホームページでこの用語でサイト内検索したいけどサイト内検索ボックスが設置されてなくて検索出来ない!と思うことがあると思います。こういう場合はGoogleの検索オプションを使用すると簡単にサイト内検索が実施出来ます。検索オプションは他にも色々と用意されているので覚えておくと便利かも。
No | 検索オプション | 用途(概要) | 使用例 |
1 | allintitle: | ページのタイトルのみを検索対象とします。 | allintitle:資格 |
2 | allinurl: | 指定したURLを検索対象とします。 | allinurl:write-remember.com |
3 | cache: | キャッシュされた文書内で検索語を強調表示します。 | cache:write-remember.com |
4 | define: | クエリの先頭に 「define:」 と付けると、
その後に書かれた単語群の定義を検索します。 | define:資格 |
5 | filetype: | 指定した種類のファイルのみ表示します。 | filetype:pdf |
6 | info: | 指定したウェブページについてのバックグラウンド情報を
表示します。 | info:write-remember.com |
7 | intitle: | ウェブページのタイトルでのみ検索します。 | intitle:資格 |
8 | inurl: | URLに含まれるべき単語に一致するページを表示します。 | inurl:write |
9 | site: | 指定したドメイン内でのみ検索する。(サイト内検索用) | site:write-remember.com "資格"
資格 site:write-remember.com |
10 | stocks: | 株式市場での銘柄略称として検索します。 | site:google |
11 | related: | 指定したウェブページに「似ている」ウェブページを
一覧表示します。 | related:write-remember.com |
当初WordPressを使用し始めていた時期に、jQueryを動作させようとしたら全く反応しないという事象が発生しました。その時の対処方法をメモしておきます。
原因
WordPressではjQuery以外にも「prototype.js」や「mootools」といった他のライブラリも読み込まれています。これらのライブラリでも「$」関数が使用されている為、conflictが発生してjQueryが動作しなくなってしまいます。
対処方法
jQueryで以下の様に「$」を「jQuery」へ書き換えて「$」関数を使用しないように変更します。
変更前
|
$(function() { $("#sample").click(function() { }); }); |
変更後
|
jQuery(function($) { jQuery("#sample").click(function() { }); }); |
最近WordPressのバージョンアップを3.8へアップデートしてサイトを表示してみたら、プラグインを使用している箇所で「Warning: Missing argument 2 for wpdb::prepare()」というワーニングメッセージが表示されていました。どうもこの事象は3.5へアップデートした時から発生している事象のようで、当方は3.4→3.8へのバージョンアップだったので今頃遭遇しました・・・。
放置しても動作はしますが、見栄えが悪いので対処方法を調べてみました。
原因
WordPressの3.5以上では「wp-db.php」で定義されているFunction「prepare」の引数の数が2つ必要になっています。
|
function prepare( $query, $args ) { |
今回Warningが発生した原因はこの「prepare」をプラグインのphpから呼び出す際に引数が1つしか指定されていない為にWarningが表示されたみたいです。
対処方法
原因は明確なので、function「prepare」を使用しているphpを修正します。function「prepare」を使用している箇所へダミー引数となる「null」を2つ目の引数として指定すれば対応完了です。(もちろんプラグインが正式対応したらバージョンアップしましょう)
変更前
|
$wpdb-&gt;get_row($wpdb-&gt;prepare($sql)); |
変更後
|
$wpdb-&gt;get_row($wpdb-&gt;prepare($sql, null)); |
「駑馬十駕」 IT系情報を中心に調べた事をコツコツ綴っています。