ウェブページの仕組み

前提ページ:なし
推奨ページ:なし

セキュアな Web サイトの作り方を学ぶ上で、Web ページがどのように構成されているかを知ることは、重要なことです。この章では Web ページを構成する言語、そしてブラウザについて学びます。


仕組み

私達はサーバというコンピュータから送られてきた、プログラムのファイル(主に HTML、CSS、JavaScript)をブラウザ上で実行し、結果を画面に出力することで、ウェブページを見ることができています。

HTML

HTML(HyperText Markup Language)とは、ウェブページを作るための言語です。 文字やボタン、画像をおくなどができます。

コード 1. HTML の例

以下の例では、h1 タグを用いて見出し(要は大きな文字)を、p タグを用いて文字列を画面上においています。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <!-- headで囲まれた部分は見えない -->
    <meta charset="UTF-8" />
    <title>Hello</title>
  </head>
  <body>
    <!-- 見出し -->
    <h1>Hello, everyone!</h1>
    <!-- 文字 -->
    <p>I'm akakou.</p>
  </body>
</html>

JavaScript

HTML によって表されるウェブページに動的な変更を加えるために利用される言語です。 例えば、ボタンを押したときに画面の一部が変更されるなどの処理は、JavaScript で記述されることが多いです。

コード 2. 動的に HTML を動かす例

以下のウェブページ例では、ボタンを押したときに画面の一部が変更されます。

/index.html
<!DOCTYPE html>
<html lang="ja">
  <head>
    <!-- headで囲まれた部分は見えない -->
    <meta charset="UTF-8" />
    <title>Hello</title>

    <!-- JavaScriptのファイルを読み込んでいる -->
    <script src="/script.js"></script>
  </head>
  <body>
    <!-- 見出し -->
    <p id="output">I'm akakou.</p>
    <!-- 入力フォーム -->
    <input id="input" type="text" />
    <!-- ボタン -->
    <button onsubmit="submit()">run</button>
  </body>
</html>
/script.js
function submit() {
  /**
   * 入力フォームの値を取得して、
   * 画面に文字列として表示する
   **/
  var input = document.getElementById("input");
  var output = document.getElementById("output");
  output.innerText = input.value;
}

CSS

CSS(Cascading Style Sheets)は、Web ページのスタイル(見た目)を決定するための言語です。 今回 CSS に関する例は割愛します。

ブラウザ

HTML、CSS、JavaScript を実行し、画面に結果を出力したりするプログラムであり、例としては Chrome、Firefox、Edge などが挙げられます。

備考

※ 特にセキュアプログラミングの章(未公開)脆弱性の章(未公開)を学びたい方は、これらの言語(HTML、CSS、JavaScript)をよく理解しておくと良いと思います。個人的なおすすめは、Progateです。