【Webを支える技術】第1部 Web概論 学習メモ
目次
はじめに
はじめまして、入社して間もない駆け出しのエンジニアです。エンジニアとして、基礎を磨くために今後定期的にブログを更新していきたいと考えています。というわけで、まずはWebからやっていきたいと思います!こちらの技術書はとても有名な本なので、個人的におすすめです!
そして、ブログを書くのは初めてなので、自分なりに理解してまとめたメモを書いてみたいと思います。皆さんお手柔らかに。。
Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)
- 作者: 山本陽平
- 出版社/メーカー: 技術評論社
- 発売日: 2010/04/08
- メディア: 単行本(ソフトカバー)
- 購入: 143人 クリック: 4,320回
- この商品を含むブログ (183件) を見る
第1部 Web概論
第1章 Webとは何か
Webとは
一言で説明するのであれば、
Web(World Wide Web, WWW)とは、「蜘蛛の巣」をイメージした世界中の人々と情報を繋げる場所のことです。
そして、Webを閲覧できるソフトウェアがブラウザ(Browser)です。
Webを支える最も基本的な技術
- URI(Uniform Resource Identifier):世界中のあらゆる情報を指し示せる
- HTML(Hypertext Markup Language):それらの情報を表現する文章フォーマット
- HTTP(Hypertext Transfer Protocol):それらの情報を取得したり発注したりできる
Webは、情報システムとして見ると2つの側面を持つ
- ハイパーメディアシステム(Hypermedia System):テキストや画像、音声、映像など様々なメディアをハイパーリンク(Hyper Link)で結び付けて構成したシステム
- 分散システム(Distributed System):複数のコンピュータを組み合わせて処理を分散させるシステム
第2章 Webの歴史
Web以前
- Web以前のハイパーメディア
- 問題点:高機能ゆえの複雑さ
- Web以前の分散システム
- 問題点
- ネットワークのオーバーヘッドが呼び出し回数分かかるという性能劣化問題
- プログラミング言語ごとのデータ型変換の問題
- インターフェースバーションアップ時の互換性の問題
- 多数サーバの負荷分散の問題
Webの誕生
- ハイパーメデイアとしてのWeb
- Webはインターネットを使ったハイパーメディアとして設計された
- 利点:不特定多数の情報をリンクさせ合うことができ、システムを大規模化しやすい
- 欠点:情報の集中的な管理が難しく、リンク切れを起こしやすい
- 分散システムとしてのWeb
- 利点:分散システムを実現するための技術の一つであるRPCは閉じたネットワーク環境で、あらかじめ想定した数の種類のクライアントを相手にサービスを提供するシステムとしては優れている
- 欠点:オープンなネットワーク環境で、不特定多数のクライアントに対してサービスを提供するシステムには向いていない
第3章 REST ―― Webのアーキテクチャスタイル
RESTとは
RESTとは、Webのアーキテクチャスタイルです。
アーキテクチャスタイルは複数のアーキテクチャに共通する性質、様式、作法あるいは流儀を指す言葉です。
リソース ―― RESTにおける重要な概念の一つ
RESTは次の6つを組み合わせたアーキテクチャスタイル
- クライアント/サーバ:ユーザインタフェースと処理を分離する
- ステートレスサーバ:サーバ側でアプリケーション状態を持たない
- キャッシュ:クライアントとサーバの通信回数と量を減らす
- 統一インタフェース:インタフェースを固定する
- 階層化システム:システムを階層に分離する
- コードオンデマンド:プログラムをクライアントにダウンロードして実行する
※ Cookie を使ったセッション管理はステートレスではないので、利用するときはステートレスの利点をあえて捨てることを理解したうえで、必要最低限利用しましょう。