LoginSignup
3
2

More than 1 year has passed since last update.

『Webを支える技術』を読んだまとめ

Last updated at Posted at 2019-07-08

初心者の自分が『Webを支える技術』を読んで、なるほど!と思ったことなどを箇条書きでまとめました。

image.jpg

さまざまなWebの用途

  • Webサイト
  • 各種デバイスからの設定画面などのインターフェイス
  • プログラムからの窓口であるAPI

Webの歴史

Web以前

  • 最初はインターネットにWebはなかった
  • 起源はARPANET
  • TCP/IPとバケツリレーのUUCP

Webの誕生

  • CERNのBerners-Lee
  • ブラウザMosaic

Webの標準化

  • HTTP
  • URI
  • HTML
  • W3C設立

RESTの誕生

  • Representational State Transfer

RESTとは

リソース

  • Web上に存在する、名前を使ったありとあらゆる情報
  • リソースの名前としてのURI

RESTの構成

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

  • クライアント/サーバ
  • データストレージの機能のみでよくなる
  • ステートレスサーバ
  • 実装を簡略化できる
  • 修正としてのCookieでのセッション管理
  • キャッシュ
  • 処理時間を短縮できる
  • 統一インターフェイス
  • アーキテクチャがシンプルになる
  • 独立性が向上する
  • 階層化システム
  • 負荷分散
  • アクセス制限
  • コードオンデマンド
  • 新しい機能を追加できる

WebはRESTという分散ネットワークシステムの理論があったからこそ成功した。

URIとは

  • Uniform Resources Identifier
  • 統一リソース識別子

基本構文

  • URIスキーム
  • ホスト名
  • パス

絶対に重複しない

URIの設計

URIの設計指針

  • プログラミング言語依存の拡張子を使わない
  • 実装依存のパス名を使わない
  • メソッド名を使わない
  • セッションIDを含めない
  • リソースを表現する名詞であること

URIとしての意識

  • リソースの名前である
  • 寿命が長い
  • ブラウザがアドレス欄に表示する

HTTPの基本

HTTPとはTCP/IPをベースにしたプロトコルである。

TCP/IPとは

  • 階層型プロトコル
  • ネットワークインターフェイス層
  • インターネット層
  • トランスポート層
  • アプリケーション層

HTTPはステートレス

  • ステートフル代表はFTP
  • スケールアウトさせにくい

HTTPメソッド

  • CRUDと対応

ステータスコード

  • 1xx: 処理中
  • 2xx: 成功
  • 3xx: リダイレクト
  • 4xx: クライアントエラー
  • 5xx: サーバエラー

後半に関しては今と状況が違う部分もあったのでまとめませんでした。
Webの歴史や技術の標準化の流れが生々しく、今のRESTが確立するまでにもたくさんの葛藤があったのが印象的です。
たしかに自分がインターネットを初めて体験した90年代中頃ではネットスケープが強かったり、ブラウザ間の表示が大きく違っていたりでホームページ(当時)を作るのに苦労したなと懐かしい気持ちになりました。
技術の進歩と、きちんとしたRESTやURIやHTTPの定義を改めて学べる書籍でした。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2