【Webを支える技術】第1部 Web概論 学習メモ

 

目次

はじめに

はじめまして、入社して間もない駆け出しのエンジニアです。エンジニアとして、基礎を磨くために今後定期的にブログを更新していきたいと考えています。というわけで、まずはWebからやっていきたいと思います!こちらの技術書はとても有名な本なので、個人的におすすめです!

そして、ブログを書くのは初めてなので、自分なりに理解してまとめたメモを書いてみたいと思います。皆さんお手柔らかに。。

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

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

 

第1部 Web概論 

第1章 Webとは何か

Webとは

一言で説明するのであれば、

WebWorld 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における重要な概念の一つ

  • リソースとは、Web上の情報のこと
  • 世界中の無数のリーソスは、それぞれURIで一意の名前を持つ
  • URIを用いることで、プログラムはリソースが表現する情報にアクセスできる

 

RESTは次の6つを組み合わせたアーキテクチャスタイル

  • クライアント/サーバユーザインタフェースと処理を分離する
  • ステートレスサーバ:サーバ側でアプリケーション状態を持たない
  • キャッシュ:クライアントとサーバの通信回数と量を減らす
  • 統一インタフェース:インタフェースを固定する
  • 階層化システム:システムを階層に分離する
  • コードオンデマンド:プログラムをクライアントにダウンロードして実行する

Cookie を使ったセッション管理はステートレスではないので、利用するときはステートレスの利点をあえて捨てることを理解したうえで、必要最低限利用しましょう。