SlideShare a Scribd company logo
1 of 56
Download to read offline
HTTP / 2
HTTP 2는 어떻게 차이점을 두었을까?
By IMHOJEONG
1편과 이어집니다!
왜? 라는 질문에서 깊이를 얻을 수 있습니다!
HTTP 2 알아보기 전에...
TCP, HTTP와 같은 기술들에 대한 기본 지식 필요!
Browser Rendering 과정 중에...
HTTP 2
why HTTP 2 is appear?
why HTTP 2 is appear?
HTTP/2 is HTTP/1 expansion
Binary Framing
Binary Frame
Binary Framing layer
Binary Framing layer
Binary Framing layer
new Binary Framing Mechanism
Stream, Message, Frame
Stream, Message, Frame
Stream, Message, Frame
Single TCP Connection
(any number of Streams)
unique identifier,
Optional Priority Information
(any number of Streams)
logical HTTP message
(one or more frames)
Frames from
different streams
may be interleaved
Stream, Message, Frame
logical HTTP message
(one or more frames)
reassembled (the
embedded stream
identifier ( in the
header of each frame)
interleaving
Memory efficiency
Memory Interleaving
+ DMA
Request and response Multiplexing
By Binary Framing layer
request or response multiplexing
HTTP/1.1 => Head Of Line & TCP not efficient use
request or response multiplexing
! very
important
interleaving
Stream Priority
order of delivery ∝ Performance
Stream Priority
How implement?
One connection per origin
One Connection
one connection per origin
one connection per origin
Flow Control
mechanism to prevent the sender from
Overwhelming the receiver
why use Flow Control?
TCP vs HTTP/2 Stream
Flow Control
Server Push
the ability of the server to send multiple
responses for a single client request
Why Header Compression needs?
if Server already know?
Why Server Push needs?
Server Push 개요
How implement?
example
Push resources advantages
Cached by the client
Reused across different pages
Multiplexed alongside other
resources
Prioritized by the server
Declined by the client
Server Push - `PUSH_PROMISE`
Header Compression
HPACK compression format
Why Header Compression needs?
HTTP/1.x
HPACK compression
Let`s Play
Test HTTP2 with WireShark
Run!
1. Run Wireshark
2. curl --http2 -v nghttp2.org/robots.txt nghttp2.org/humans.txt
HTTP 1.1 101 Switching Protocols
Client Server
HTTP 1.1 101 Switching Protocols
HTTP 1.1 101 Switching Protocols
Connection Preface
Connection Preface
Connection Preface
Connection Preface
SETTINGS, HEADERS, DATA,
WINDOW_UPDATE
WINDOW_UPDATE
WINDOW_UPDATE
Individual Stream vs Entire Connection => Hop By Hop
HEADERS Frame
참고
HTTP/2(https://developers.google.com/web/fundamentals/performance/http2)
Hello HTTP/2, Goodbye SPDY(https://blog.chromium.org/2015/02/hello-http2-goodbye-
spdy.html)
https://developer.mozilla.org/ko/docs/Web/HTTP/Status/101
https://datatracker.ietf.org/doc/html/rfc7540#section-3.5
https://httpwg.org/specs/rfc7540.html
https://ko.wikipedia.org/wiki/%EB%A9%94%EB%AA%A8%EB%A6%AC_%EC%9D%B8%ED%84
%B0%EB%A6%AC%EB%B9%99
https://hpbn.co/http2/#server-push
Thank You!
39ghwjd@naver.com
IMHOJEONG@github.com
HTTP2에 대해서 알아보자.pdf

More Related Content

Similar to HTTP2에 대해서 알아보자.pdf

HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 IntroductionWalter Liu
 
Tftp client server communication
Tftp client server communicationTftp client server communication
Tftp client server communicationUday Sharma
 
XMPP - Introduction And LAS Implementation (Presentation)
XMPP - Introduction And LAS  Implementation (Presentation)XMPP - Introduction And LAS  Implementation (Presentation)
XMPP - Introduction And LAS Implementation (Presentation)Ralf Klamma
 
สรุปองค์ความรู้หน่วยที่ 2 โปรโตคอล
สรุปองค์ความรู้หน่วยที่ 2 โปรโตคอลสรุปองค์ความรู้หน่วยที่ 2 โปรโตคอล
สรุปองค์ความรู้หน่วยที่ 2 โปรโตคอลThitinan607
 
Os Saintandre
Os SaintandreOs Saintandre
Os Saintandreoscon2007
 
Secure Communications with Jabber
Secure Communications with JabberSecure Communications with Jabber
Secure Communications with Jabberstpeter
 
Computer network (10)
Computer network (10)Computer network (10)
Computer network (10)NYversity
 
หน่วยที่ 2 โปรโตคอล
หน่วยที่ 2 โปรโตคอลหน่วยที่ 2 โปรโตคอล
หน่วยที่ 2 โปรโตคอลnatnathapong
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1Daniel Austin
 
50357 a enu-module04
50357 a enu-module0450357 a enu-module04
50357 a enu-module04Bố Su
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2Ido Flatow
 
허준환 One m2m-protocol binding
허준환   One m2m-protocol binding허준환   One m2m-protocol binding
허준환 One m2m-protocol bindingJunHwan Huh
 
Browser APIs for data exchange: types and application
Browser APIs for data exchange: types and applicationBrowser APIs for data exchange: types and application
Browser APIs for data exchange: types and applicationPavel Klimiankou
 
HTTP2 and gRPC
HTTP2 and gRPCHTTP2 and gRPC
HTTP2 and gRPCGuo Jing
 
Turbot - A Next Generation Botnet
Turbot - A Next Generation BotnetTurbot - A Next Generation Botnet
Turbot - A Next Generation BotnetItzik Kotler
 

Similar to HTTP2에 대해서 알아보자.pdf (20)

Email security
Email securityEmail security
Email security
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 Introduction
 
Tftp client server communication
Tftp client server communicationTftp client server communication
Tftp client server communication
 
XMPP - Introduction And LAS Implementation (Presentation)
XMPP - Introduction And LAS  Implementation (Presentation)XMPP - Introduction And LAS  Implementation (Presentation)
XMPP - Introduction And LAS Implementation (Presentation)
 
สรุปองค์ความรู้หน่วยที่ 2 โปรโตคอล
สรุปองค์ความรู้หน่วยที่ 2 โปรโตคอลสรุปองค์ความรู้หน่วยที่ 2 โปรโตคอล
สรุปองค์ความรู้หน่วยที่ 2 โปรโตคอล
 
2 130704230920-phpapp02
2 130704230920-phpapp022 130704230920-phpapp02
2 130704230920-phpapp02
 
Os Saintandre
Os SaintandreOs Saintandre
Os Saintandre
 
Secure Communications with Jabber
Secure Communications with JabberSecure Communications with Jabber
Secure Communications with Jabber
 
Computer network (10)
Computer network (10)Computer network (10)
Computer network (10)
 
Xmpp and java
Xmpp and javaXmpp and java
Xmpp and java
 
หน่วยที่ 2 โปรโตคอล
หน่วยที่ 2 โปรโตคอลหน่วยที่ 2 โปรโตคอล
หน่วยที่ 2 โปรโตคอล
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1
 
HTTP1.1/2 overview
HTTP1.1/2 overviewHTTP1.1/2 overview
HTTP1.1/2 overview
 
50357 a enu-module04
50357 a enu-module0450357 a enu-module04
50357 a enu-module04
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2
 
허준환 One m2m-protocol binding
허준환   One m2m-protocol binding허준환   One m2m-protocol binding
허준환 One m2m-protocol binding
 
Browser APIs for data exchange: types and application
Browser APIs for data exchange: types and applicationBrowser APIs for data exchange: types and application
Browser APIs for data exchange: types and application
 
HTTP2 and gRPC
HTTP2 and gRPCHTTP2 and gRPC
HTTP2 and gRPC
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Turbot - A Next Generation Botnet
Turbot - A Next Generation BotnetTurbot - A Next Generation Botnet
Turbot - A Next Generation Botnet
 

More from Ho Jeong Im

Packet에 대해서 알아보자.pdf
Packet에 대해서 알아보자.pdfPacket에 대해서 알아보자.pdf
Packet에 대해서 알아보자.pdfHo Jeong Im
 
REST에 대해 알아봅시다.pdf
REST에 대해 알아봅시다.pdfREST에 대해 알아봅시다.pdf
REST에 대해 알아봅시다.pdfHo Jeong Im
 
허프만 코드에 대해 그림으로 알아보자.pdf
허프만 코드에 대해 그림으로 알아보자.pdf허프만 코드에 대해 그림으로 알아보자.pdf
허프만 코드에 대해 그림으로 알아보자.pdfHo Jeong Im
 
Browser Principle에 대해 알아보자.pdf
Browser Principle에 대해 알아보자.pdfBrowser Principle에 대해 알아보자.pdf
Browser Principle에 대해 알아보자.pdfHo Jeong Im
 
CPU Scheduling 알고리즘에는 무엇이 있을까? .pdf
CPU Scheduling 알고리즘에는 무엇이 있을까? .pdfCPU Scheduling 알고리즘에는 무엇이 있을까? .pdf
CPU Scheduling 알고리즘에는 무엇이 있을까? .pdfHo Jeong Im
 
Database Entity, 정규화에 대해 알아보자.pdf
Database Entity, 정규화에 대해 알아보자.pdfDatabase Entity, 정규화에 대해 알아보자.pdf
Database Entity, 정규화에 대해 알아보자.pdfHo Jeong Im
 
HTTP가 가지는 특징에는 무엇이 있을까.pdf
HTTP가 가지는 특징에는 무엇이 있을까.pdfHTTP가 가지는 특징에는 무엇이 있을까.pdf
HTTP가 가지는 특징에는 무엇이 있을까.pdfHo Jeong Im
 
DP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdfDP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdfHo Jeong Im
 
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdfOS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdfHo Jeong Im
 
HSTS, Tunneling에 대해 알아보자 .pdf
HSTS, Tunneling에 대해 알아보자 .pdfHSTS, Tunneling에 대해 알아보자 .pdf
HSTS, Tunneling에 대해 알아보자 .pdfHo Jeong Im
 

More from Ho Jeong Im (11)

Prefix_sum.pdf
Prefix_sum.pdfPrefix_sum.pdf
Prefix_sum.pdf
 
Packet에 대해서 알아보자.pdf
Packet에 대해서 알아보자.pdfPacket에 대해서 알아보자.pdf
Packet에 대해서 알아보자.pdf
 
REST에 대해 알아봅시다.pdf
REST에 대해 알아봅시다.pdfREST에 대해 알아봅시다.pdf
REST에 대해 알아봅시다.pdf
 
허프만 코드에 대해 그림으로 알아보자.pdf
허프만 코드에 대해 그림으로 알아보자.pdf허프만 코드에 대해 그림으로 알아보자.pdf
허프만 코드에 대해 그림으로 알아보자.pdf
 
Browser Principle에 대해 알아보자.pdf
Browser Principle에 대해 알아보자.pdfBrowser Principle에 대해 알아보자.pdf
Browser Principle에 대해 알아보자.pdf
 
CPU Scheduling 알고리즘에는 무엇이 있을까? .pdf
CPU Scheduling 알고리즘에는 무엇이 있을까? .pdfCPU Scheduling 알고리즘에는 무엇이 있을까? .pdf
CPU Scheduling 알고리즘에는 무엇이 있을까? .pdf
 
Database Entity, 정규화에 대해 알아보자.pdf
Database Entity, 정규화에 대해 알아보자.pdfDatabase Entity, 정규화에 대해 알아보자.pdf
Database Entity, 정규화에 대해 알아보자.pdf
 
HTTP가 가지는 특징에는 무엇이 있을까.pdf
HTTP가 가지는 특징에는 무엇이 있을까.pdfHTTP가 가지는 특징에는 무엇이 있을까.pdf
HTTP가 가지는 특징에는 무엇이 있을까.pdf
 
DP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdfDP 알고리즘에 대해 알아보자.pdf
DP 알고리즘에 대해 알아보자.pdf
 
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdfOS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
OS Process, Thread, CPU Scheduling에 대해 알아봅시다.pdf
 
HSTS, Tunneling에 대해 알아보자 .pdf
HSTS, Tunneling에 대해 알아보자 .pdfHSTS, Tunneling에 대해 알아보자 .pdf
HSTS, Tunneling에 대해 알아보자 .pdf
 

Recently uploaded

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 

HTTP2에 대해서 알아보자.pdf