十の並列した脳

何でも勉強する,毎週月木曜に投稿予定

「プロになるためのWeb技術入門」まとめと感想 #1

「プロになるためのWeb技術入門」

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

 

 Webアプリケーションの基礎知識について簡潔にまとめられた本である。初学者が用語と流れをおさえるのに向いている。

 

 目次

  1. 「Webアプリケーション」とは何か
  2. Webはどのように発展したか
  3. HTTPを知る
  4. CGIからWebアプリケーションへ
  5. Webアプリケーションの構成要素
  6. Webアプリケーションを効率よく開発するための仕組み
  7. セキュリティを確保するための仕組み 

本記事ではWebアプリケーションの概要について,私の本書への備忘録に代えて説明しようと思う。#1ではLesson1~3までを扱う。

 

 

Lesson1とLesson2

 Lesson1はWebアプリケーションとは何なのかについて,Lesson2は歴史背景について簡単に説明している。この辺はキーワードをおさえた上で読み流してもよいと思う。

 

Lesson3

Lesson3からが本番である。まずはHTTPを知るところからである。

 

HTTP(Hyper Text Transfer Procotol)とは,簡単に言えばHTMLをやり取りするためのプロトコルである。どんなものなのか,まずは実際にHTTP通信を体験してみよう。厚生労働省のホームページへのアクセスを例として説明する。なお,本では「横取り丸」と「InetSpy」が使われているが,ここではChromeデベロッパーツールを用いることにする。

https://www.mhlw.go.jp/index.html

Chromeでアクセスしたら,右クリック→検証→Network→index.htmlを開く。そしてHeaderへ移動すると,HTTPリクエストやHTTPレスポンスの様子が見れる。

f:id:ryosuke_okubo:20190125151407p:plain
f:id:ryosuke_okubo:20190125151414p:plain
f:id:ryosuke_okubo:20190125151418p:plain
図1 Chromeデベロッパーツールへの移動

GeneralにはHTTP通信の基本情報が表示されている。

リクエス

Request Method: GET →URLの情報をください,の意

Request URL: https://www.mhlw.go.jp/index.html →具体的なURL

レスポンス

Status Code: 200 OK →ステータス・コードとレスポンス・コード。200はリクエスト成功を意味する。

IPアドレス

Remote Address: 114.179.132.88:443 →サーバのグローバルIPアドレス

Referrer Policy: origin →次に詳述 Referrer Policy

 

その下にはヘッダの情報が表示される(説明は省略)。ではもう少し中身を追うことにする。

 

IPアドレス

IPアドレスとは,コンピュータの住所にあたる番号である。IPアドレスがわかることで,相手に情報を送ることができる。「TCP/IP」は情報伝達のプロトコルであり,HTTPリクエストの情報を「パケット」に分割して送信する。インターネットに接続するごとに,インターネット・サービス・プロバイダにより「グローバルIPアドレス」が割り当てられる。入力されたURLからIPアドレスへの変換は「DNS(Domain Name System)」による。インターネットではHTTP以外のプロトコルもやり取りがされており,「ポート」という数字がそれらを識別している。

 

GETメソッドとPOSTメソッド

p79 表3-5より編集

  GETリクエス POSTリクエス
パラメータの格納場所 URL メッセージ・ボディ
サーバのログに 残る 残らない
パラメータの保存 しやすい しにくい

GETリクエストでは「クエリ文字列」を利用して,例えばテキストフィールドに文字列が代入された,という情報をサーバへ送信する。一方でPOSTリクエストでは「メッセージ・ボディ」にパラメータを代入して送信する。GETリクエストはパラメータがURLに書かれているため第三者に見られるリスクがある反面,パラメータの記憶がしやすい。

 

ステータスライン

代表的なものをあげておく。 p56表3-2より編集

ステータス・コード 意味 説明ト
200 OK リクエストが正常に完了
302 Found リクエストされたリソースが一時的に別のURLに属している
401 Unauthorized ユーザー認証の失敗
403 Forbidden ユーザー認証の失敗
404 Not Found リクエストURLに一致するリソースが見つけられなかった
500 Internal Server Error サーバ内部のプログラム実行におけるエラー

 

まとめ

HTTPはWebアプリケーション技術の根幹として重要である。本記事でまとめた内容はそのほんのわずかにすぎない。以下書籍等を参考にして,詳細を理解していきたい。 

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

 

 

マスタリングTCP/IP 入門編 第5版

マスタリングTCP/IP 入門編 第5版

 

 

次回↓

 

ryosuke-okubo.hatenablog.com