1
0

More than 1 year has passed since last update.

Webを支える技術のまとめ(1部)

Last updated at Posted at 2022-10-26

はじめに

「Webを支える技術」を読んで,その内容を自分の知識と織り交ぜながら自分なりにまとめました.
(「Webを支える技術」のリンクは最後の参考文献に記載しています.)

Webとは何か

文書を公開,閲覧するためのシステム.
Web上の文章は,ハイパーテキストという言語で記述されている.
World Wide Webの略.

Webの用途

  1. Webサイト
    • 検索サイト,ブログ,etc
  2. UI
    • デバイスの設定画面,HTMLを用いたファイルの記述
  3. API
    • Web API

Webを支える技術

  1. HTTP,URI,HTML
    • HTTP:Webサーバがクライアントとやりとりする際の通信プロトコル(get,post etc)
    • URI:Web上のあらゆる情報を識別するための識別子のようなもの
    • HTML:ハイパーテキストを記述するための言語
  2. ハイパーメディア
    • 色々なメディアをハイパーリンク(Webページの参照)で繋げて構成したシステム
  3. 分散システム
    • 複数のコンピュータによって構成されたシステム
    • 負荷分散,故障・障害に強い,低コスト

REST

Webのアーキテクチャスタイル.
クライアントサーバ方式にいくつかの制約を追加してできたアーキテクチャスタイル.

リソースについて

RESTにおける重要な概念の一つ.
WEB上に存在する名前をもったありとあらゆる情報.

RESTの構成

RESTは,次の6つを組み合わせたアーキテクチャスタイルのこと.
一部の構成要素を除外しても,RESTと呼んでも問題ない.
次節以降にこの6つの要素について説明する.

  1. クライアント/サーバ
  2. ステートレスサーバ
  3. キャッシュ
  4. 統一インタフェース
  5. 階層化システム
  6. コードオンデマンド

クライアント/サーバ

ネットワークシステムのアーキテクチャ.
HTTPでクライアントとサーバが通信している.
クライアントとサーバにわけて処理を行う.

ステートレスサーバ

クライアント/サーバに最初に追加するアーキテクチャスタイル
サーバ側でアプリケーションの状態を管理しない方式.
→サーバ側での実装を簡略化できる.
逆のステートフルの方式として,Cookieなどが挙げられる.

キャッシュ

一度取得したリソースをクライアントサイドで再利用する方式.
→サーバとクライアント間の通信を減らすことができ,ネットワークの帯域の利用や処理時間の縮小に貢献.効率的な処理が可能に.

統一インタフェース

URIで指し示したリソースに対する操作を統一した限定的なインターフェースで実施すること.
HTTP1.1では,GET,POSTなど8メソッドに限定されている.
→全体のアーキテクチャがシンプルになる

階層化システム

システムをいくつかの階層にわけるアーキテクチャスタイルのこと.
ex)サーバとクライアントの間にロードバランサを入れる場合,クライアントは同じインタフェースから接続できるため,サーバかproxyかを考えなくてよい.

コードオンデマンド

プログラムコードをサーバからダウンロードし、クライアント側でそれを実行するアーキテクチャスタイルのこと.
ex)Jsなど
→メリット:クライアントを後から拡張できる.
→デメリット:ネットワークの可視性が低下する

参考文献

Webを支える技術:
https://www.amazon.co.jp/Web%E3%82%92%E6%94%AF%E3%81%88%E3%82%8B%E6%8A%80%E8%A1%93-HTTP%E3%80%81URI%E3%80%81HTML%E3%80%81%E3%81%9D%E3%81%97%E3%81%A6REST-WEB-PRESS-plus/dp/4774142042

1
0
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
1
0