「Web開発」カテゴリーアーカイブ

HTTP:GETとPOSTの違い

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に加えて暗号化などの処置を施す必要があります。

HTML:<br>と<br /> タグの違いとは

HTMLでコーディングしているときに、改行を表すタグとして
<br><br /> のどちらを使えばよいか迷ったことはありませんか?

結論から言えば、<br> は HTML、<br /> は XHTML の書き方 という違いがあります。
それぞれの特徴や使い分けについて整理してみましょう。


1. <br><br /> の基本的な違い

  • <br>

    • HTMLの標準的な改行タグ

    • 開始タグだけで完結する「空要素」として扱われる

  • <br />

    • XHTML(XMLベースのHTML)の書き方

    • XMLのルール上「空要素は終了スラッシュ / を付ける」ため、この形式が推奨された


2. XHTMLでの記述例

XHTMLでは以下のように書きます。


さらに古いブラウザとの互換性を考慮し、

<br /> のスラッシュ前には スペースを入れる ことが推奨されていました。


3. HTML5における扱い

現在主流の HTML5 では、<br><br /> もどちらも有効です。
ただし、HTML5はXML準拠を必須としていないため、よりシンプルな <br> が一般的に使われています。


4. 実務での使い分け

  • HTML5での新規コーディング<br> を使用すれば十分

  • XHTML文書やXML互換を意識したプロジェクト<br /> を使用

プロジェクトのコーディング規約に合わせることが最優先です。


まとめ

  • <br>:HTMLで使うシンプルな改行タグ

  • <br />:XHTMLやXML互換を意識した書き方

  • HTML5ではどちらも有効だが、通常は <br> で問題なし

初心者は「基本は <br>、XHTMLの場合は <br />」と覚えておくと安心です。

JBossのインストール後にrun.batが実行されない

JBossの起動で少しハマったのでメモしておきます。

JBossのインストール状態

  • 【前提】javaがインストールされていること
  • JBossサイトからzipファイルをダウンロード
  • ダウンロードしたzipファイルを解凍して配置

これだけでJBossのインストールとしては完了となります。
この後に[JBossのホームディレクトリ]\bin\run.batを実行すれば起動するはずなのですが、一瞬コマンドプロンプトの画面が表示されるだけでエラーメッセージも表示せずに即終了してしまい、JBossが起動しないという事象が発生しました。

原因

  • 環境変数「JAVA_HOME」の設定
    「JAVA_HOME」へ「C:\Java\jdk1.6.0_45\bin」と指定していたのが原因でした(「\bin」が余計でした・・・)。
    「C:\Java\jdk1.6.0_45」へ修正したら正常に起動しました。