SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
webって
どうやって表示しているの?
2020/06/15 たなかひかる
Holyday技術基礎勉強会
前回のお話の振り返り
・CPUとHDD/SSDとメモリ
・コンピュータには「Closed Question」
・様々なプログラム言語の実行形式
・プロセスとスレッド
基本的なお仕事の流れ
コンピューターは人間ほど賢く無い?!
コンピューターは0と1でお仕事をしています
そのため、0と1で判断出来ないものについてとても弱いです
プログラムを書く上では常に「Closed Question」を意識しなければなりません
言語の実行方法による差
実行までの早さ 実行速度 プログラム上の
制約の少なさ
実行環境の多さ
インタプリタ言語 ◎ × ◎ △
コンパイル言語 × ◎ × △
VM系言語 × 〇 × ◎
プロセスとスレッド
凄く雑に説明すると
・プロセスはCPUに直接命令するプログラムの実行単位
・スレッドはプロセスに複数ぶら下がってプログラムを実行する単位
になります
今日のお話
・「httpプロトコル」ってなあに?
・インターネットでwebページを表示するまで
・トラブルシューティング
・まとめ
・質疑応答
今日のお話
・「httpプロトコル」ってなあに?
・インターネットでwebページを表示するまで
・トラブルシューティング
・まとめ
・質疑応答
今日の目標
「インターネットが見れない!」
を
正しく伝えられるようになる
そういえば「http」ってなに?
そういえば「http」ってなに?
そういえば「http」ってなに?
困った時のwikipedia
https://ja.wikipedia.org/wiki/Hypertext_Transfer_Protocol
Hypertext Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル、略称HTTP)とは、Webブラウ
ザがWebサーバと通信する際に主として使用する通信プロトコルであり、インターネット・プロトコル・スイートの
メンバである。HTMLなどのテキストによって記述されたWebページ等のコンテンツの送受信に用いられる。
そういえば「http」ってなに?
困った時のwikipedia
https://ja.wikipedia.org/wiki/Hypertext_Transfer_Protocol
                                       HTTP とは、WebブラウザがWebサーバと通
信する際に    使用する通信プロトコルであ                          る。
そういえば「http」ってなに?
困った時のwikipedia
https://ja.wikipedia.org/wiki/Hypertext_Transfer_Protocol
HTTPとは、WebブラウザがWebサーバと通信する際に使用する通信プロトコルである。
そういえば「http」ってなに?
困った時のwikipedia
https://ja.wikipedia.org/wiki/Hypertext_Transfer_Protocol
HTTPとは、WebブラウザがWebサーバと通信する際に使用する通信プロトコルである。
そういえば「http」ってなに?
困った時のwikipedia
https://ja.wikipedia.org/wiki/Hypertext_Transfer_Protocol
HTTPとは、WebブラウザがWebサーバと通信する際に使用する通信規格である。
そういえば「http」ってなに?
ざっくりhttpプロトコル
・リクエスト行
・ヘッダー
・ボディ
詳細はブラウザの開発者コンソールで
「webページ」が表示されるまで
サーバー
リクエスト
レスポンス
「webページ」が表示されるまで
名前解決をする
ipアドレスによってどのサーバーにリクエストするか確定するが
domainの状態だとipアドレスがわからないので
domainからipアドレスを確認する作業
Ex.) holyday.co.jp → 157.7.44.175
「webページ」が表示されるまで
DNSによる名前解決
「DNS(Domain Name System)」によって管理されているdomainとipの組み合わせから
ipをもらってくる
電話で言うところの104みたいなもの
「webページ」が表示されるまで
hostsによる名前解決
ローカルにある「hosts」ファイルに保存されたdomainとipの組み合わせから
ipを探してくる
電話帳みたいなもの
「webページ」が表示されるまで
サーバー
リクエスト
レスポンス
DNS
「webページ」が表示されるまで
いよいよサーバーの中へ
アプリケーションの構成によりますが、最近弊社がAWS上で運用しているwebシステムでは
・アプリケーションサーバー
・DBサーバー
・静的ファイルホスティング
・ロードバランサー
・CDN
などが動いています サーバー
「webページ」が表示されるまで
いよいよサーバーの中へ
アプリケーションの構成によりますが、最近弊社がAWS上で運用しているwebシステムでは
・アプリケーションサーバー
・DBサーバー
・静的ファイルホスティング
・ロードバランサー
・CDN
などが動いています
今日は特に普段聞きなれないであろう下の3つを取り上げてみます
サーバー
Q.そもそもなんで
  色んなサーバーを使い分けるの?
A. サーバーによって得手不得手が違うから
AWS(AmazonWebService)などのクラウドサービスで提供されているサービスは
役割に特化したサービスが提供されており
適切に組み合わせる事により低コストでハイパフォーマンスが得られる
サンプルの構成
CDN
記憶したレスポンスを素早く返してくれる人
CDN(コンテンツ・デリバリー・ネットワーク)は
特に静的ファイル等で
キャッシュを保持しておく事により同一リクエストのレスポンスを素早く返す
インターネットの通信速度は物理的距離に左右されるので
キャッシュを多数の拠点に配置する事により素早くレスポンスを返せるようにする
ロードバランサー
来たリクエストを仕分けする人
複数台のサーバーを運用している際に
来たリクエストを適切に分配する
これにより、より多くのリクエストを捌く事ができる
ロードバランサー
来たリクエストを仕分けする人
複数台のサーバーを運用している際に
来たリクエストを適切に分配する
これにより、より多くのリクエストを捌く事ができる
ロードバランサー
来たリクエストを仕分けする人
複数台のサーバーを運用している際に
来たリクエストを適切に分配する
→分配ルールはいくつかのパターンがあります
これにより、より多くのリクエストを捌く事ができる
静的ファイルホスティング
静的なファイルをホスティングする
計算処理をしない代わりに、ディスクI/Oに最適化されており
ファイルの破損や損失のリスクを最小限に抑えてくれる
AWSのS3(Simple Storage Service)の場合は
耐久性をイレブンナイン(99.999999999%)としている
サンプルの構成
「webページ」が表示されるまで
リクエスト
レスポンス
DNS
今日のお話
・「httpプロトコル」ってなあに?
・インターネットでwebページを表示するまで
・トラブルシューティング
・まとめ
・質疑応答
どうしよう!webページが表示されない!
何を確認しましょうか・・・
どうしよう!webページが表示されない!
【問題解決のプロセス】
・問題を再現させる
・問題がどこにあるかを特定する
・問題を取り除く
・問題が解消された事を確認する
どうしよう!webページが表示されない!
【問題解決のプロセス】
・問題を再現させる
・問題がどこにあるかを特定する
・問題を取り除く
・問題が解消された事を確認する
「webページ」が表示されるまで
リクエスト
レスポンス
DNS
どうしよう!webページが表示されない!
HTTPステータスを見てみよう!
HTTPステータスはサーバーからのメッセージ
・2XXは「うまくいきました」
・3XXは「別の場所にあります」
・4XXは「お前が悪い」
・5XXは「私が悪い」
どうしよう!webページが表示されない!
HTTPステータスを見てみよう!
HTTPステータスはサーバーからのメッセージ
・2XXは「うまくいきました」
・3XXは「別の場所にあります」
・4XXは「お前が悪い」
・5XXは「私が悪い」
どうしよう!webページが表示されない!
HTTPステータスを見てみよう!
HTTPステータスはサーバーからのメッセージ
・2XXは「うまくいきました」
・3XXは「別の場所にあります」
・4XXは「お前が悪い」
・5XXは「私が悪い」
どうしよう!webページが表示されない!
インターネットに接続出来ていますか?
・googleは見れますか?
・Yahoo!は見れますか?
どうしよう!webページが表示されない!
名前解決は適切にされていますか?
・hostsファイルに不要な記述が含まれいませんか?
・アドレスはあってますか?
どうしよう!webページが表示されない!
HTTPステータスが4XXで見れない!
・不要なパラメータが付いていませんか?
・Cookieを削除してみましょう
・開発中のサービスであればエンジニアに相談してみましょう
どうしよう!webページが表示されない!
HTTPステータスが5XXで見れない!
・システムがダウンしている可能性があるので直ぐにエンジニアへ
・連続リロード厳禁!(負荷高騰の可能性があるため)
どうしよう!webページが表示されない!
HTTPステータスが200なのに見れない!
・サーバーからのレスポンスは正常です
・レスポンスbodyがあるか確認しましょう
・ブラウザコンソールにエラーは出ていませんか?
今日のまとめ
・「httpプロトコル」っていう通信規格によって通信しているよ
・インターネットでwebページを表示するまでにはたくさんの役割の人がいるよ
・webサイトが見れない時はHTTPステータスを見てみよう
・HTTPステータスが5XXの時は急いでエンジニアを呼ぼう
・HTTPステータスが200なのに見れない時も急いでエンジニアを呼ぼう
質疑応答

Weitere ähnliche Inhalte

Ähnlich wie 20200615 webってどうやって表示しているの?

密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境Fumihito Yokoyama
 
Hyper-V 虎の巻
Hyper-V 虎の巻Hyper-V 虎の巻
Hyper-V 虎の巻hirookun
 
2014年12月13日 アカリクITイベント 川原尚人_スライド
2014年12月13日 アカリクITイベント 川原尚人_スライド2014年12月13日 アカリクITイベント 川原尚人_スライド
2014年12月13日 アカリクITイベント 川原尚人_スライドnkawahara
 
DSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイルDSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイル陽平 山口
 
たのしいNode.js
たのしいNode.jsたのしいNode.js
たのしいNode.jsishiki-takai
 
サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングサンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングYikei Lu
 
LightSwitchで遊んでみた
LightSwitchで遊んでみたLightSwitchで遊んでみた
LightSwitchで遊んでみたYoshitaka Seo
 
[A34] HDDからインメモリーテクノジーへ by Yusuke Miyake
[A34] HDDからインメモリーテクノジーへ by Yusuke Miyake[A34] HDDからインメモリーテクノジーへ by Yusuke Miyake
[A34] HDDからインメモリーテクノジーへ by Yusuke MiyakeInsight Technology, Inc.
 
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏Insight Technology, Inc.
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングterurou
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~Yusuke Hirano
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~Yusuke Hirano
 
[B16] NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫るby Toshimitsu hara
[B16] NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫るby Toshimitsu hara[B16] NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫るby Toshimitsu hara
[B16] NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫るby Toshimitsu haraInsight Technology, Inc.
 
パソコン選び(抜粋)
パソコン選び(抜粋)パソコン選び(抜粋)
パソコン選び(抜粋)Eiji Matsumoto
 
「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」
 「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」  「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」
「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」 Embarcadero Technologies
 
講義資料におけるマルチユースなリンクをEPUBとLODで実現するシステムの試作
講義資料におけるマルチユースなリンクをEPUBとLODで実現するシステムの試作講義資料におけるマルチユースなリンクをEPUBとLODで実現するシステムの試作
講義資料におけるマルチユースなリンクをEPUBとLODで実現するシステムの試作yamahige
 

Ähnlich wie 20200615 webってどうやって表示しているの? (20)

密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
Hyper-V 虎の巻
Hyper-V 虎の巻Hyper-V 虎の巻
Hyper-V 虎の巻
 
2014年12月13日 アカリクITイベント 川原尚人_スライド
2014年12月13日 アカリクITイベント 川原尚人_スライド2014年12月13日 アカリクITイベント 川原尚人_スライド
2014年12月13日 アカリクITイベント 川原尚人_スライド
 
DSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイルDSLによる要求獲得でスーパーアジャイル
DSLによる要求獲得でスーパーアジャイル
 
たのしいNode.js
たのしいNode.jsたのしいNode.js
たのしいNode.js
 
KOGEI & KAIT Funnel WS
KOGEI & KAIT Funnel WSKOGEI & KAIT Funnel WS
KOGEI & KAIT Funnel WS
 
サンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミングサンドボックス化によるセキュアなプログラミング
サンドボックス化によるセキュアなプログラミング
 
LightSwitchで遊んでみた
LightSwitchで遊んでみたLightSwitchで遊んでみた
LightSwitchで遊んでみた
 
[A34] HDDからインメモリーテクノジーへ by Yusuke Miyake
[A34] HDDからインメモリーテクノジーへ by Yusuke Miyake[A34] HDDからインメモリーテクノジーへ by Yusuke Miyake
[A34] HDDからインメモリーテクノジーへ by Yusuke Miyake
 
ZendStudioのご紹介
ZendStudioのご紹介ZendStudioのご紹介
ZendStudioのご紹介
 
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか  by 日本ヒューレット・パッカード株式会社 後藤宏
[db tech showcase Tokyo 2014] L34: そのデータベース 5年後大丈夫ですか by 日本ヒューレット・パッカード株式会社 後藤宏
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
リモコン倶楽部Z by Zetta Linx inc.
リモコン倶楽部Z  by Zetta Linx inc.リモコン倶楽部Z  by Zetta Linx inc.
リモコン倶楽部Z by Zetta Linx inc.
 
IT魔導の書 ~ Grimoire du IT
IT魔導の書 ~ Grimoire du ITIT魔導の書 ~ Grimoire du IT
IT魔導の書 ~ Grimoire du IT
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~
 
HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~HTML5 ~よくわからないけど言葉だけはよく聞きます~
HTML5 ~よくわからないけど言葉だけはよく聞きます~
 
[B16] NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫るby Toshimitsu hara
[B16] NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫るby Toshimitsu hara[B16] NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫るby Toshimitsu hara
[B16] NonStop SQLはなぜグローバルに分散DBを構築できるのか、データの整合性を保てるのか、その深層に迫るby Toshimitsu hara
 
パソコン選び(抜粋)
パソコン選び(抜粋)パソコン選び(抜粋)
パソコン選び(抜粋)
 
「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」
 「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」  「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」
「マルチデバイスの荒海にこぎ出す新人エンジニアのためのソフトウェア開発の心得」
 
講義資料におけるマルチユースなリンクをEPUBとLODで実現するシステムの試作
講義資料におけるマルチユースなリンクをEPUBとLODで実現するシステムの試作講義資料におけるマルチユースなリンクをEPUBとLODで実現するシステムの試作
講義資料におけるマルチユースなリンクをEPUBとLODで実現するシステムの試作
 

Mehr von Hikaru Tanaka

20200831 教育と学習
20200831 教育と学習20200831 教育と学習
20200831 教育と学習Hikaru Tanaka
 
20200817 プログラミングの基礎 その2
20200817 プログラミングの基礎 その220200817 プログラミングの基礎 その2
20200817 プログラミングの基礎 その2Hikaru Tanaka
 
20200727 コミュニケーションの技術
20200727 コミュニケーションの技術20200727 コミュニケーションの技術
20200727 コミュニケーションの技術Hikaru Tanaka
 
20200720 最新の技術事情の解説_チャットサービスの舞台裏_
20200720 最新の技術事情の解説_チャットサービスの舞台裏_20200720 最新の技術事情の解説_チャットサービスの舞台裏_
20200720 最新の技術事情の解説_チャットサービスの舞台裏_Hikaru Tanaka
 
20200706 技術に興味を持った人がすぐに読むべき技術書紹介
20200706 技術に興味を持った人がすぐに読むべき技術書紹介20200706 技術に興味を持った人がすぐに読むべき技術書紹介
20200706 技術に興味を持った人がすぐに読むべき技術書紹介Hikaru Tanaka
 
20200629 データベース基礎~データベースの扱いとデータ設計~
20200629 データベース基礎~データベースの扱いとデータ設計~20200629 データベース基礎~データベースの扱いとデータ設計~
20200629 データベース基礎~データベースの扱いとデータ設計~Hikaru Tanaka
 
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~20200622 webエンジニアのお仕事 ~開発手法と開発フロー~
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~Hikaru Tanaka
 
20200608コンピューターってどうやって動いているの?
20200608コンピューターってどうやって動いているの?20200608コンピューターってどうやって動いているの?
20200608コンピューターってどうやって動いているの?Hikaru Tanaka
 
Holydayエンジニアチームの 評価制度について
Holydayエンジニアチームの 評価制度についてHolydayエンジニアチームの 評価制度について
Holydayエンジニアチームの 評価制度についてHikaru Tanaka
 
2017/04/12 mac/win対応の 仮想環境構築で複数インスタンスをぶん回せ!
2017/04/12 mac/win対応の 仮想環境構築で複数インスタンスをぶん回せ!2017/04/12 mac/win対応の 仮想環境構築で複数インスタンスをぶん回せ!
2017/04/12 mac/win対応の 仮想環境構築で複数インスタンスをぶん回せ!Hikaru Tanaka
 
3年で6回リプレースをした エンジニアが語る! システムリプレースの極意
3年で6回リプレースをした エンジニアが語る! システムリプレースの極意3年で6回リプレースをした エンジニアが語る! システムリプレースの極意
3年で6回リプレースをした エンジニアが語る! システムリプレースの極意Hikaru Tanaka
 
教育とチームビルドの勘所
教育とチームビルドの勘所教育とチームビルドの勘所
教育とチームビルドの勘所Hikaru Tanaka
 

Mehr von Hikaru Tanaka (12)

20200831 教育と学習
20200831 教育と学習20200831 教育と学習
20200831 教育と学習
 
20200817 プログラミングの基礎 その2
20200817 プログラミングの基礎 その220200817 プログラミングの基礎 その2
20200817 プログラミングの基礎 その2
 
20200727 コミュニケーションの技術
20200727 コミュニケーションの技術20200727 コミュニケーションの技術
20200727 コミュニケーションの技術
 
20200720 最新の技術事情の解説_チャットサービスの舞台裏_
20200720 最新の技術事情の解説_チャットサービスの舞台裏_20200720 最新の技術事情の解説_チャットサービスの舞台裏_
20200720 最新の技術事情の解説_チャットサービスの舞台裏_
 
20200706 技術に興味を持った人がすぐに読むべき技術書紹介
20200706 技術に興味を持った人がすぐに読むべき技術書紹介20200706 技術に興味を持った人がすぐに読むべき技術書紹介
20200706 技術に興味を持った人がすぐに読むべき技術書紹介
 
20200629 データベース基礎~データベースの扱いとデータ設計~
20200629 データベース基礎~データベースの扱いとデータ設計~20200629 データベース基礎~データベースの扱いとデータ設計~
20200629 データベース基礎~データベースの扱いとデータ設計~
 
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~20200622 webエンジニアのお仕事 ~開発手法と開発フロー~
20200622 webエンジニアのお仕事 ~開発手法と開発フロー~
 
20200608コンピューターってどうやって動いているの?
20200608コンピューターってどうやって動いているの?20200608コンピューターってどうやって動いているの?
20200608コンピューターってどうやって動いているの?
 
Holydayエンジニアチームの 評価制度について
Holydayエンジニアチームの 評価制度についてHolydayエンジニアチームの 評価制度について
Holydayエンジニアチームの 評価制度について
 
2017/04/12 mac/win対応の 仮想環境構築で複数インスタンスをぶん回せ!
2017/04/12 mac/win対応の 仮想環境構築で複数インスタンスをぶん回せ!2017/04/12 mac/win対応の 仮想環境構築で複数インスタンスをぶん回せ!
2017/04/12 mac/win対応の 仮想環境構築で複数インスタンスをぶん回せ!
 
3年で6回リプレースをした エンジニアが語る! システムリプレースの極意
3年で6回リプレースをした エンジニアが語る! システムリプレースの極意3年で6回リプレースをした エンジニアが語る! システムリプレースの極意
3年で6回リプレースをした エンジニアが語る! システムリプレースの極意
 
教育とチームビルドの勘所
教育とチームビルドの勘所教育とチームビルドの勘所
教育とチームビルドの勘所
 

20200615 webってどうやって表示しているの?