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
HTTP全史
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nwiizo
May 08, 2018
390
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HTTP全史
2018年度新卒の Web系新卒 OJT向け資料
nwiizo
May 08, 2018
More Decks by nwiizo
See All by nwiizo
おい、エージェントを使って終わらせろ
nwiizo
0
230
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
0
2.5k
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
9
8.2k
35分でわかるEffective Platform Engineering
nwiizo
6
960
20分でわかるセキュアAPI
nwiizo
3
420
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
16
2.6k
システムは「動く」だけでは足りない 実装編 - 非機能要件・分散システム・トレードオフをコードで見る
nwiizo
5
740
システムは「動く」だけでは 足りない - 非機能要件・分散システム・トレードオフの基礎
nwiizo
34
12k
アーキテクチャモダナイゼーションとは何か
nwiizo
18
8.3k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
141
7.7k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
390
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
240
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Become a Pro
speakerdeck
PRO
31
6.3k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
Odyssey Design
rkendrick25
PRO
2
810
Joys of Absence: A Defence of Solitary Play
codingconduct
1
520
Tell your own story through comics
letsgokoyo
1
1.1k
Scaling GitHub
holman
464
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Transcript
None
None
• • • •
• • • •
None
~1990 1991- 1996.5- 1997.1- 2015.5- 2015 - 現在 1994 -
1995 - 1999 - 2006 - 2008 - 2013 -
• • • • • •
None
• •
None
GET /mypage.html <HTML> A very simple HTML page </HTML>
• • • •
None
• • •
GET /mypage.html HTTP/1.0 User-Agent: NCSA_Mosaic/2.0 (Windows 3.1) 200 OK Date:
Tue, 15 Nov 1994 08:12:31 GMT Server: CERN/3.0 libwww/2.17 Content-Type: text/html <HTML> A page with an image <IMG SRC="/myimage.gif"> </HTML> GET /myimage.gif HTTP/1.0 User-Agent: NCSA_Mosaic/2.0 (Windows 3.1) 200 OK Date: Tue, 15 Nov 1994 08:12:32 GMT Server: CERN/3.0 libwww/2.17 Content-Type: text/gif (画像コンテンツ)
GET /mypage.html HTTP/1.0 User-Agent: NCSA_Mosaic/2.0 (Windows 3.1) 200 OK Date:
Tue, 15 Nov 1994 08:12:31 GMT Server: CERN/3.0 libwww/2.17 Content-Type: text/html <HTML> A page with an image <IMG SRC="/myimage.gif"> </HTML> • • •
GET /mypage.html HTTP/1.0 User-Agent: NCSA_Mosaic/2.0 (Windows 3.1) 200 OK Date:
Tue, 15 Nov 1994 08:12:31 GMT Server: CERN/3.0 libwww/2.17 Content-Type: text/html <HTML> A page with an image <IMG SRC="/myimage.gif"> </HTML> • • •
GET /mypage.html HTTP/1.0 User-Agent: NCSA_Mosaic/2.0 (Windows 3.1) 200 OK Date:
Tue, 15 Nov 1994 08:12:31 GMT Server: CERN/3.0 libwww/2.17 Content-Type: text/html <HTML> A page with an image <IMG SRC="/myimage.gif"> </HTML> • • •
GET /mypage.html HTTP/1.0 User-Agent: NCSA_Mosaic/2.0 (Windows 3.1) 200 OK Date:
Tue, 15 Nov 1994 08:12:31 GMT Server: CERN/3.0 libwww/2.17 Content-Type: text/html <HTML> A page with an image <IMG SRC="/myimage.gif"> </HTML> • • •
GET /myimage.gif HTTP/1.0 User-Agent: NCSA_Mosaic/2.0 (Windows 3.1) 200 OK Date:
Tue, 15 Nov 1994 08:12:32 GMT Server: CERN/3.0 libwww/2.17 Content-Type: text/gif (画像コンテンツ) • •
GET /myimage.gif HTTP/1.0 User-Agent: NCSA_Mosaic/2.0 (Windows 3.1) 200 OK Date:
Tue, 15 Nov 1994 08:12:32 GMT Server: CERN/3.0 libwww/2.17 Content-Type: text/gif (画像コンテンツ) • •
GET /myimage.gif HTTP/1.0 User-Agent: NCSA_Mosaic/2.0 (Windows 3.1) 200 OK Date:
Tue, 15 Nov 1994 08:12:32 GMT Server: CERN/3.0 libwww/2.17 Content-Type: text/gif (画像コンテンツ) • •
None
• • HTTP/1.1 は、1997 年 1 月に RFC 2068
として 初版が発行されました。
• • • • • • •
• • •
• • • • • • •
None
GET /en-US/docs/Glossary/Simple_header HTTP/1.1 Host: developer.mozilla.org User-Agent: Mozilla/5.0 (Macintosh; Intel Mac
OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Referer: https://developer.mozilla.org/en-US/docs/Glossary/Simple_header
200 OK Connection: Keep-Alive Content-Encoding: gzip Content-Type: text/html; charset=utf-8 Date:
Wed, 20 Jul 2016 10:55:30 GMT Etag: "547fa7e369ef56031dd3bff2ace9fc0832eb251a" Keep-Alive: timeout=5, max=1000 Last-Modified: Tue, 19 Jul 2016 00:59:33 GMT Server: Apache Transfer-Encoding: chunked Vary: Cookie, Accept-Encoding ( )
GET /static/img/header-background.png HTTP/1.1 Host: developer.cdn.mozilla.net User-Agent: Mozilla/5.0 (Macintosh; Intel Mac
OS X 10.9; rv:50.0) Gecko/20100101 Firefox/50.0 Accept: */* Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate, br Referer: https://developer.mozilla.org/en-US/docs/Glossary/Simple_header
200 OK Age: 9578461 Cache-Control: public, max-age=315360000 Connection: keep-alive Content-Length:
3077 Content-Type: image/png Date: Thu, 31 Mar 2016 13:34:46 GMT Last-Modified: Wed, 21 Oct 2015 18:27:50 GMT Server: Apache (3077 )
None
オープン クローズ オープン クローズ
オープン クローズ オープン クローズ
オープン クローズ
オープン クローズ
オープン クローズ コネクションの クローズオープン時の通信を減らすことができる
• connection : Keep-Alive • HTTP通信はTCP/IP通信なので[3WAY ハンドシェイク] の上で動作するプロトコルなので 接続には1.5往復分のやり取りを必要とします. packetが一往復する時間を1RTT(ラウンドトリップタイム)と呼びますが
TLSでは2RTT分の時間がかかります. Keep-Aliveを使うことでこのハンドシェイクの回数を減らせます.
• connection : Close • Internet Explorer 60s Firefox 115s
nginx 65 or 75s Apache ver1.3,2.0 15s /ver2.2 ~ 5s
None
オープン クローズ
オープン クローズ
• • •
•
None
None
~1990 1991- 1996.5- 1997.1- 2015.5- 2015 - 現在 1994 -
1995 - 1999 - 2006 - 2008 - 2013 -
~1990 1991- 1996.5- 1997.1- 2015.5- 2015 - 現在 1994 -
1995 - 1999 - 2006 - 2008 - 2013 -
None
None
None
None
• • • •
None
サイトの主体者 発行者(認証局) 公開鍵 有効期限
1.SSL証明書の取得
2.サーバー証明書の 信頼性を確認
3.共通鍵を生成して 証明書内の公開鍵で 暗号化
4.暗号化された鍵の複製
5.複合化した鍵で通信
None
None
• • •
None
None
None
• • • • • • 1回の通信で接続の確立で何往復もパケットが飛び交います. これまでの高速化はあらゆるところに寄与してきました. HTTP2.0ではこれまで手を付けられてこなかったヘッダー部分の圧縮や,規格化されたものの今 一つ活用されていなかったパイプラインの代替実装が追加されました.
また,パイプラインで発生した互換性問題もTLSのALPNという仕組みで丸ごと通信形式を切り 替える方式になっています.
• • •
None
None
• • •
• •
• •
None
None
• • • • •
None