SlideShare a Scribd company logo
1 of 38
非エンジニアでもわかる
WEBが動く仕組み
• WEBサイトの仕組み
• サーバーとは
• クライアントとは
• CUIとGUI
• プログラミング言語
• HTML/CSSとは
• フロントエンドバックエンドについて
• DBとは
目次
①WEBが動く仕組みについて
この画面、どうして見えているのだろう?
登場するものは3つ
クライアント
自分たちが見ている画面
サーバー
実際にデータがある場所
ネットワーク
クライアントとサーバー
をつないでいる
①クライアントがサーバーにネット
ワークを通して欲しい情報を要求する
②サーバーがネットワークを通してク
ライアントに持っているデータを送る
これをリクエストと呼ぶ
これをレスポンスと呼ぶ
今回の場合だと
①https://twitter.com/engin_portfolio
の情報を教えて!!
②はい!!どうぞ~
実はコンピュータは文字を認識できない
つまり、いきなり“ https://twitter.com/engin_portfolio ”と言わ
れても分からない。
実は、各サイトの情報には住所のように番号が振り分けられてい
る。例)IPアドレス>31.13.82.1
これを対応させることを「名前解決」と呼ぶ。
(DNSサーバーが行っている)
まとめ
① WEBサイトを見るとき、パソコンではライアントからイン
ターネットを通じサーバーとやり取りをしている。
②ほしい情報を送る行為をリクエスト、情報を返すことをレスポ
ンスという
③リクエストをする際には、名前解決を行っている。
②サーバーとは
今回はここ!!
サーバーとは
リクエストを受け付けてレスポンスを返す役割のコンピュータ
ずっと起動したままリクエストが来るのを待ち、
リクエストが来たらレスポンスを返す
サーバーの種類
リクエストの種類に応じていろんなサーバーがある
• WEBサーバー:リクエストに対してHTML、CSS、JavaScript
などの情報を返す役割
• アプリケーションサーバー:動的コンテンツを生成する
• DBサーバー:データの保存や更新、バックアップなどを行う
などがある
これらが相互に連携してレスポンスを返す
例)検索ページを表示する
まとめ
サーバーはずっと起動したままリクエストが来るのを待ち、リク
エストが来たらレスポンスを返す
サーバーにはさまざまな種類のサーバーがあり相互にやり取りを
してクライアントにレスポンスを返す。
③クライアントとは
今回はここ
一般的なパソコンのこと
大きくハードウェアとソフトウェアの二つに分けられる
ソフトウェアはOSとアプリにさらに分けられる
ハードウェアとソフトウェア
コンピューター内の
プログラムのこと
物理的に手で触れるもの
OSとアプリ
ユーザーの利用目的に合わせて
制作されたソフトウェア
OS
コンピュータの動作に必要な
機能を備えたもの
基本ソフト
アプリ
まとめ
• クライアント側には階層構造がある。
• 大きく分けると、ハードウェアとソフトウェアがある。
• ソフトウェアはさらに二つに分かられる。
• 基本ソフトをOSと呼び、ユーザーは必要に応じてアプリを使う
ことができる。
④CUIとGUIとは
こんな画面、見たことありませんか?
>実はこれ、ただ新しいファイルを作成しているだけ
• キーボードを入力して何かしらのコマンドを入力して動作をコ
ンピューターに指示することをCUIと呼ぶ。
• 反対に、表示されているボタンやアイコンをマウスでクリック
することでコンピューターに指示することをGUIと呼ぶ。
CUIとGUIとは
パソコンに指令を出しているという点は普段自分たちが行っている
操作と同じ
ただ、その手段がことなるだけ。
エンジニアはCUIで操作することが多い
CUIのメリット
• 処理の自動化がしやすい
• 容量が軽い
• 操作の記録を残しやすい
• コピペして複数人で共有しやすい
まとめ
エンジニアでは、よくCUIを用いられる。
CUIとは文字でパソコン操作をすること。
CUIにはGUIにはない様々な開発におけるメリットがある。
③プログラミング言語とは
プログラミング言語とは
<一言で言うと>
人とパソコンが会話するための言語
<特徴>
ちょっとでも文法間違いなどがあるとエラーを出す。
<ちなみに>
人工的に作られた言語なので、人工言語という。
その反対に、日本語や英語のように、自然に発生し、昔から話
され使われてきたことばを「自然言語」という。
プログラミング言語にも様々な種類がある
種類①何を扱うのか
種類②人間寄りかパソコン寄りか
種類①何を扱うのか
やりたいこと(目的)によって使う言語は異なってくる
種類②人間寄りかパソコン寄りか
初めての人には理解が簡単な高級言語から取り組むことがおススメ
まとめ
プログラミング言語は人がパソコンと意思疎通を図るための言語
である。
プログラミング言語には多くの種類があり、目的によって最適な
言語がある。
高級言語は比較的理解が容易であるため初心者でも取り掛かりや
すい
③HTML/CSS/JavaScriptとは
HTML/CSS/JavaScript
Webを見る際にサーバーからクライアントへスポンスとして返
される言語
・HTML:サイトの構成を決める役割
・CSS:装飾を決める役割
・JavaScript:動作を決める役割
GoogleChromeの検証モードから
生のコードが見える
右がHTML 左がCSS
まとめ
• Webサイトを見る際、レスポンスとしてサーバーから
HTML/CSS/JavaScriptが送られそれを読みこむことでHPが表
示される。
• 実際のコードは、 GoogleChromeの検証モードから誰でも見る
ことが出来る。
参照
• https://www.youtube.com/watch?v=zq50JwOU_ls&t=435s&
ab_channel=%E3%83%9E%E3%82%B3%E3%81%AA%E3%82
%8A%E7%A4%BE%E9%95%B7
• https://techlife.cookpad.com/entry/2018/05/09/080000

More Related Content

What's hot

Node.js で SPDYのベンチマーク体験サイトを作りました
Node.js で SPDYのベンチマーク体験サイトを作りましたNode.js で SPDYのベンチマーク体験サイトを作りました
Node.js で SPDYのベンチマーク体験サイトを作りましたshigeki_ohtsu
 
Word camptokyo2012セッション資料
Word camptokyo2012セッション資料Word camptokyo2012セッション資料
Word camptokyo2012セッション資料horike37
 
20121112 jaws-ug sapporo8
20121112 jaws-ug sapporo820121112 jaws-ug sapporo8
20121112 jaws-ug sapporo8Hirokazu Ouchi
 
Web ブラウザの仕組み
Web ブラウザの仕組みWeb ブラウザの仕組み
Web ブラウザの仕組みlufe
 
WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)stmkza
 
WP Performance Optimization
WP Performance OptimizationWP Performance Optimization
WP Performance Optimizationmasaaki komori
 
AWSパターン別構築・運用ガイド 輪読会 3.1節
AWSパターン別構築・運用ガイド 輪読会 3.1節AWSパターン別構築・運用ガイド 輪読会 3.1節
AWSパターン別構築・運用ガイド 輪読会 3.1節meownoisy
 
C#er から見た Turbolinks 3
C#er から見た Turbolinks 3C#er から見た Turbolinks 3
C#er から見た Turbolinks 3dany1468
 
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!株式会社ランチェスター
 
メールサーバをちゃんとする
メールサーバをちゃんとするメールサーバをちゃんとする
メールサーバをちゃんとするyaasita
 
Microsoft Azure で "無料で" 運営する勉強会申し込みサイト
Microsoft Azure で "無料で" 運営する勉強会申し込みサイトMicrosoft Azure で "無料で" 運営する勉強会申し込みサイト
Microsoft Azure で "無料で" 運営する勉強会申し込みサイトJun-ichi Sakamoto
 
視て覚えるWeb用語
視て覚えるWeb用語視て覚えるWeb用語
視て覚えるWeb用語GIG inc.
 
RESTful APIとしてのRailsとクライアントとしてのJavaScript
RESTful APIとしてのRailsとクライアントとしてのJavaScriptRESTful APIとしてのRailsとクライアントとしてのJavaScript
RESTful APIとしてのRailsとクライアントとしてのJavaScriptNaoto Koshikawa
 
ホームページ作成の仕方
ホームページ作成の仕方ホームページ作成の仕方
ホームページ作成の仕方味村 彰久
 
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定Katsuhisa Ogawa
 
20110622 haruyama webso]cket
20110622 haruyama webso]cket20110622 haruyama webso]cket
20110622 haruyama webso]cketMakoto Haruyama
 
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか 私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか Kenta Yamamoto
 
HTML はネットワークを いかに変えてきたか
HTML はネットワークをいかに変えてきたかHTML はネットワークをいかに変えてきたか
HTML はネットワークを いかに変えてきたか彰 村地
 

What's hot (19)

Node.js で SPDYのベンチマーク体験サイトを作りました
Node.js で SPDYのベンチマーク体験サイトを作りましたNode.js で SPDYのベンチマーク体験サイトを作りました
Node.js で SPDYのベンチマーク体験サイトを作りました
 
Word camptokyo2012セッション資料
Word camptokyo2012セッション資料Word camptokyo2012セッション資料
Word camptokyo2012セッション資料
 
20121112 jaws-ug sapporo8
20121112 jaws-ug sapporo820121112 jaws-ug sapporo8
20121112 jaws-ug sapporo8
 
Web ブラウザの仕組み
Web ブラウザの仕組みWeb ブラウザの仕組み
Web ブラウザの仕組み
 
WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)WebSocketでリアルタイム通信 (第13回学生LT資料)
WebSocketでリアルタイム通信 (第13回学生LT資料)
 
WP Performance Optimization
WP Performance OptimizationWP Performance Optimization
WP Performance Optimization
 
AWSパターン別構築・運用ガイド 輪読会 3.1節
AWSパターン別構築・運用ガイド 輪読会 3.1節AWSパターン別構築・運用ガイド 輪読会 3.1節
AWSパターン別構築・運用ガイド 輪読会 3.1節
 
C#er から見た Turbolinks 3
C#er から見た Turbolinks 3C#er から見た Turbolinks 3
C#er から見た Turbolinks 3
 
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!
【らぼ★ろぐ】VM上のsendmailから外部へのメールを遮断したい!!
 
メールサーバをちゃんとする
メールサーバをちゃんとするメールサーバをちゃんとする
メールサーバをちゃんとする
 
Microsoft Azure で "無料で" 運営する勉強会申し込みサイト
Microsoft Azure で "無料で" 運営する勉強会申し込みサイトMicrosoft Azure で "無料で" 運営する勉強会申し込みサイト
Microsoft Azure で "無料で" 運営する勉強会申し込みサイト
 
視て覚えるWeb用語
視て覚えるWeb用語視て覚えるWeb用語
視て覚えるWeb用語
 
RESTful APIとしてのRailsとクライアントとしてのJavaScript
RESTful APIとしてのRailsとクライアントとしてのJavaScriptRESTful APIとしてのRailsとクライアントとしてのJavaScript
RESTful APIとしてのRailsとクライアントとしてのJavaScript
 
ホームページ作成の仕方
ホームページ作成の仕方ホームページ作成の仕方
ホームページ作成の仕方
 
WWWの仕組み
WWWの仕組みWWWの仕組み
WWWの仕組み
 
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
 
20110622 haruyama webso]cket
20110622 haruyama webso]cket20110622 haruyama webso]cket
20110622 haruyama webso]cket
 
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか 私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか
 
HTML はネットワークを いかに変えてきたか
HTML はネットワークをいかに変えてきたかHTML はネットワークをいかに変えてきたか
HTML はネットワークを いかに変えてきたか
 

Similar to 非エンジニアでもわかる

WTM52 あなたの作ったWEBサイト、生きてますか?
WTM52 あなたの作ったWEBサイト、生きてますか?WTM52 あなたの作ったWEBサイト、生きてますか?
WTM52 あなたの作ったWEBサイト、生きてますか?Masanori Oobayashi
 
ゆるべん Webアプリ開発概要 20130127
ゆるべん Webアプリ開発概要 20130127ゆるべん Webアプリ開発概要 20130127
ゆるべん Webアプリ開発概要 20130127Y
 
websocket-survery
websocket-surverywebsocket-survery
websocket-surveryhogemaru_
 
インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話Masahito Zembutsu
 
Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Masakazu Muraoka
 
生物データベース論(スケーラビリティと可用性)
生物データベース論(スケーラビリティと可用性)生物データベース論(スケーラビリティと可用性)
生物データベース論(スケーラビリティと可用性)Masahiro Kasahara
 
クロスドメインアクセスを理解してWeb APIを楽しく使おう
クロスドメインアクセスを理解してWeb APIを楽しく使おうクロスドメインアクセスを理解してWeb APIを楽しく使おう
クロスドメインアクセスを理解してWeb APIを楽しく使おうkitfactory
 
サーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみたサーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみたryutakatori
 
Web study
Web studyWeb study
Web studychibita
 
Webページが表示されるまで
Webページが表示されるまでWebページが表示されるまで
Webページが表示されるまでMasataka Suzuki
 
Blazor 触ってみた
Blazor 触ってみたBlazor 触ってみた
Blazor 触ってみたOda Shinsuke
 
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebWebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebKensaku Komatsu
 
Rendr入門: サーバサイドで(も)動かす、Backbone.js
Rendr入門: サーバサイドで(も)動かす、Backbone.jsRendr入門: サーバサイドで(も)動かす、Backbone.js
Rendr入門: サーバサイドで(も)動かす、Backbone.jsMasahiko Tachizono
 
非エンジニアカンファレンス資料の抜粋
非エンジニアカンファレンス資料の抜粋非エンジニアカンファレンス資料の抜粋
非エンジニアカンファレンス資料の抜粋div Inc
 
サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901Masayuki Abe
 
Javaで学ぶネットワークプログラミングの基礎
Javaで学ぶネットワークプログラミングの基礎Javaで学ぶネットワークプログラミングの基礎
Javaで学ぶネットワークプログラミングの基礎なべ
 

Similar to 非エンジニアでもわかる (20)

WTM52 あなたの作ったWEBサイト、生きてますか?
WTM52 あなたの作ったWEBサイト、生きてますか?WTM52 あなたの作ったWEBサイト、生きてますか?
WTM52 あなたの作ったWEBサイト、生きてますか?
 
Mobile Web
Mobile WebMobile Web
Mobile Web
 
ゆるべん Webアプリ開発概要 20130127
ゆるべん Webアプリ開発概要 20130127ゆるべん Webアプリ開発概要 20130127
ゆるべん Webアプリ開発概要 20130127
 
websocket-survery
websocket-surverywebsocket-survery
websocket-survery
 
インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話インターネットでウェブサイトを表示している裏側の話
インターネットでウェブサイトを表示している裏側の話
 
Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会Rdbms起点で考えると見えない世界 okuyama勉強会
Rdbms起点で考えると見えない世界 okuyama勉強会
 
生物データベース論(スケーラビリティと可用性)
生物データベース論(スケーラビリティと可用性)生物データベース論(スケーラビリティと可用性)
生物データベース論(スケーラビリティと可用性)
 
クロスドメインアクセスを理解してWeb APIを楽しく使おう
クロスドメインアクセスを理解してWeb APIを楽しく使おうクロスドメインアクセスを理解してWeb APIを楽しく使おう
クロスドメインアクセスを理解してWeb APIを楽しく使おう
 
サーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみたサーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみた
 
Web study
Web studyWeb study
Web study
 
Webページが表示されるまで
Webページが表示されるまでWebページが表示されるまで
Webページが表示されるまで
 
Blazor 触ってみた
Blazor 触ってみたBlazor 触ってみた
Blazor 触ってみた
 
勉強会資料①
勉強会資料①勉強会資料①
勉強会資料①
 
WebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWebWebIntentsにより拓かれる次のWeb
WebIntentsにより拓かれる次のWeb
 
Python Project (3)
Python Project (3)Python Project (3)
Python Project (3)
 
Rendr入門: サーバサイドで(も)動かす、Backbone.js
Rendr入門: サーバサイドで(も)動かす、Backbone.jsRendr入門: サーバサイドで(も)動かす、Backbone.js
Rendr入門: サーバサイドで(も)動かす、Backbone.js
 
非エンジニアカンファレンス資料の抜粋
非エンジニアカンファレンス資料の抜粋非エンジニアカンファレンス資料の抜粋
非エンジニアカンファレンス資料の抜粋
 
Cockatoo
CockatooCockatoo
Cockatoo
 
サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901サーバーの初歩的な話セミナー@大阪20120901
サーバーの初歩的な話セミナー@大阪20120901
 
Javaで学ぶネットワークプログラミングの基礎
Javaで学ぶネットワークプログラミングの基礎Javaで学ぶネットワークプログラミングの基礎
Javaで学ぶネットワークプログラミングの基礎
 

非エンジニアでもわかる