Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
WebサーバとAPサーバの違い
Search
yosi
August 08, 2022
Programming
320
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WebサーバとAPサーバの違い
yosi
August 08, 2022
More Decks by yosi
See All by yosi
自社開発のエンジニアの私が 大事にしてること(n=1)
yoshisan
1
110
なるほどGit講座 (追跡ブランチが理解できます!)
yoshisan
0
210
「自分の時間を生きる」キャリア論
yoshisan
1
130
小学生でもわかる SlackAPI×GAS
yoshisan
0
130
達人プログラマーになろう!
yoshisan
0
140
認証認可
yoshisan
1
170
オブジェクト指向が"チョットワカル"スライド
yoshisan
0
140
Linuxについて"ほんのチョットワカル"スライド
yoshisan
1
140
Let's React!! "チョットワカル"の第一歩
yoshisan
1
230
Other Decks in Programming
See All in Programming
How I Stole PSI from Android Studio - DroidKaigi2026
worker8
0
120
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
180
Deep dive into the select statement (GopherCon UK)
jespino
0
180
VueプロジェクトをTypeScript7に対応させる- Side-by-Side戦略による一部高速化 -
koukimiura
0
110
ハーネス設計入門 〜プロンプト、コンテキストの次〜
kinopeee
56
38k
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
150
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
スマート反転とウェブアクセシビリティ
camiha
0
200
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
310
Vibes Containers 〜AIで変わるコンテナ設計と運用〜
tkikuc
3
540
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
380
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
100
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
22k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Abbi's Birthday
coloredviolet
3
9.9k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
280
AI: The stuff that nobody shows you
jnunemaker
PRO
9
990
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
270
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Transcript
ココカラ勉強会 WEBサーバ と APサーバの違い 発表者 よし
主な内容 Webの仕組み 大まかな枠組み Webの三層構造について Webサーバとは APサーバとは まとめ 本日の流れ
今まで話した LT内容 ・WWWの歴史 ・HTTP、TCP/IPについて ・Linuxについて ・ブラウザについて(Webレンダリング) ・,,,,etc
「WebサーバとAPサーバ ってよく聞くけど、何が 違うんでしょ??」 最近この質問に詰まってしまいま した。
AP サーバ プログラムが処理を行い 動的コンテンツをつく る。 WEB サーバ クライアントから来たリ クエストをAPサーバに渡 したり、静的コンテンツ
を送る。
アプリケーション ミドルウェア ハードウェア OS
役割 ①静的コンテンツを送る ②動的コンテンツをつくる ようにAPサーバにリクエス トし、作られたHTMLをク ライアントに返す Apache HTTP Server ・OSS
・マルチプロセスの プロセス駆動アーキテクチャ →C10K問題 Webサーバ 主なWebサーバ NGINX ・OSS ・シングルスレッドモデルの イベント駆動アーキテクチャ 特徴 多くのリクエストが来る が、一つに対する処理の不 可は軽い
役割 ①Webサーバのリクエストをもとに、 JavaやPHP等で作られたAppで動的コン テンツの作成 ②必要があればDBサーバへアクセスし データのCRUDを行い、加工したHTML をWebサーバに返す。 APサーバ 主なWebサーバ Tomcat
from Java Puma /unicorn from ruby gunicorn from Python php_mod php (モジュール) 特徴 リクエストの数は少ないが、一つに対す る処理が重い
WEBのしくみ まずは簡単に
クライアント サーバ クライアントサーバーシステム リクエスト レスポンス サイト見たい! データ送るね!
クライアント サーバ クライアントサーバーシステム 今回はこの サーバにつ いてもっと 深掘りまし ょう! サイト見たい! データ送るね!
クライアント サーバ クライアントサーバーシステム リクエスト レスポンス サイト見たい! HTML送るね! サーバの歴史 ①静的サイトのみを返していた。
同じ情報がかえってくるだけ じゃなくて、動的な機能をつ けたいなぁ。
動的 コンテンツ 見る人や、時間によって 変化するコンテンツ 例 ECサイト SNSサービス 静的 コンテンツ いつ見ても変わらない、
同じコンテンツ 例 ホームページ ブログ
クライアント Webサーバ サイト見たい! 動的アプリケーションの誕生 サーバの歴史 ②CGIの登場! 新しいHTML作るね! Webサーバ内 Perl インタプリンタ CommonGatewayInterface
(異なる機器感で通信が可能に) アプリケーション ノード1
CGIめっちゃ遅いし、Perl大 規模むいてないな,,, もっと柔軟にかつ、高速にで きひんかな〜
クライアント Apache (Webサーバ) プログラム サイト見たい! Javaでより高速、大規模化! サーバの歴史 ③モジュールで高速化! mod_jk ajp13 プロトコル
Tomcat (APサーバ) ノード
クライアント Apache (Webサーバ) サイト見たい! WEB三層構造の完成! サーバの歴史 ④それぞれサーバを分けて拡大! mod_jk Tomcat (APサーバ) MySQL
(DBサーバ) ノード1 ノード3 ノード2
WEBサーバ DBサーバ APサーバ WEBの3層構造
クライアント Apache (Webサーバ) ケースによって変化可能! APサーバを分けて処理を分散 mod_jk Tomcat1 (APサーバ) Bの処理Tomcat2へ Tomcat2
(APサーバ) Aの処理はTomcat1へ
クライアント サイト見たい! 小規模ならこれもOK! Web/APサーバの構成も可能! Tomcat (Web/APサーバ) MySQL (DBサーバ) ノード2 ノード1
三層構造のメリット ・責務の分担で処理を軽減で きる。 ・バグがあった場合に、その サーバのみのデバッグです む。 ・拡張性があり、柔軟に対応 できる。 デメリット ・費用がサーバー台分高い。
御清聴ありがとうございました!