0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Webを支える技術 アウトプット メモ

Last updated at Posted at 2023-01-16

第一部 Web概論 (第一章 Webとは何か? ) アウトプットメモ

Webはすべての基盤である

現在のコンピュータにとって、最も大切なソフトウェアはブラウザである。

私たちは、ブラウザを通じてインターネットの向こう側にあるWebサーバーとやりとりして、ショッピングサイトで買い物をしたり、地図や乗り換え情報を得たりしている

Webは現在の生活に根付いているため、すべての基盤であるといえる

※10年前であれば、最も大切なソフトウェアはワープロ(ワードプロセッサー)や基幹業務のソフトウェア

Webは様々な用途で使われている

※同じWebの技術でも、その用途は多岐にわたる

Webサイト

最も身近な例
ex) Amazon、Google、Wikipedia、SNS...ect.

Webサイトのシステム構成は、PCベースのUNIX 1台のケースから、何千・何万ものサーバーを繋ぎわせたケースまで、多くのバリエーションがある

Webサイトの裏側までクライアントが意識しないで済むことが、Webの大きな特徴といえる

Webは多様な種類のブラウザに加え、多くのソフトウェアやハードウェアから利用されている
ex) 携帯電話、ゲーム機、そのほかデバイス...ect.

UI

意外に思うかもしれないが、リモコンやハードウェアの限定されたボタンで設定するよりもPCのキーボードで操作したほうが効率的のため

別例) htmlでのヘルプ記述
windowsにはhtmlヘルプと呼ばれる機構があり、htmlベースでソフトウェアやハードウェアのヘルプが作成可能

写真管理ソフトが配布用に画像にリンクしたHTMLを生成するのものWeb技術をインターフェース面で応用した例

このような応用がされるのは、HTMLが記述・編集しやすいことと、多様な環境でブラウザが利用できるから

Web API

  • UIとしてのWeb → 人間向けのインターフェース
  • APIとしてのWeb(Web API) → プログラム向けのインターフェース

データフォーマットには、XMLやJSONなどのプログラムが解釈・処理しやすいものが用いられる

Webは3つの技術に支えられ、2つの側面を持つ

HTTP、URI、HTML

Webを支える最も基本な技術

  • URI → ショッピングサイトの商品、学術論文、動作サイトに投稿されて動画でも、世界中の情報を示せる
  • HTML → URIの情報を表現する文章フォーマット
  • HTTP → URIの情報を取得したり、発注したりする

上記はシンプルな技術
このシンプルさでWebは様々な応用を可能としている

HTTP1.1が定義しているメソッドは8だけ

メソッド 説明
GET 最も一般的に使用されるメソッド
ブラウザはサーバに対してページの取得を要求
HEAD ヘッダのみの情報を要求
サーバは GET メソッドと HEAD メソッドは必ずサポートしなければならない
POST CGI でよく使用されるメソッド
method="POSTを指定したフォームに入力したデータをサーバに転送する際に使用
PUT ファイルをサーバにアップロードする際に使用
DELETE 指定したリソースを削除することをサーバに要求
CONNECT プロキシサーバを経由して SSL 通信する際などに使用
OPTIONS サーバがサポートしているメソッドやオプションを調べる際に使用
TRACE HTTP要求がどのプロキシサーバを経由して送信されるかなど、HTTP の動作をトレースする際に使用
このメッセージを受け取った最後のサーバは、要求メッセージに含まれるエンティティ(通常はヘッダ+メッセージボディ)をそのまま返す

URIは紙の広告に記載できるくらい短い文字列

URI
https://www.example.com/

HTMLはXMLをベースとした汎用文章フォーマット

XML
<?xml version='1.0' encoding='UTF-8'?>
<doc>
	<p>Hello World!!</p>
</doc>
HTML
<html>
	<head>
		<title>HTML文書の例</title>
	</head>
	<body>
		<p>Hello World</p>
	</body>
</html>

URI、HTML、HTTPに支えられたWebは、情報システムとしてみるとハイパーメディアシステム分散システムの二つの側面を持つ

ハイパーメディアシステム

テキスト、画像、音声、映像などの様々なメディアをハイパーリンクで結び付けて構成したシステム

ハイパーメディア以前のメディア
ex) 書籍、映画

  • 線形的に先頭から読んだり、視聴したりする

ハイパーメディア
ex) YouTube

  • 非線形的にユーザ自身がリンクを選択し、情報を取得する

ハイパーリンク(リンク) → 情報同士を結びつける機構
ユーザが情報から別の情報へと自由に参照できるようになる

分散システム

複数のコンピュータを組み合わせて処理を分散させる仕組み

一台のコンピュータで実行するよりも効率的に処理が可能

複数のコンピュータ上に存在するデータを一元的に扱ったり、一台のコンピュータでは扱え切れない膨大なデータを操作したりできる

Webは世界中に配置されたサーバに、世界中のブラウザがアクセスする分散システム

分散システムとしてのWebの特徴はシンプルな点
プロトコルがシンプルだからこそ、大規模なシステムが実現できている

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?