HTTP 프로토콜의 이해와 활용

Brandon Kang
Brandon KangService Platform Architect
All	
  That	
  	
  
Hyper	
  Text	
  Transfer	
  Protocol	
  
강상진	
  
Email:	
  sangjinn@gmail.com	
  
Twi;er:	
  @sangjinn	
  
2015년 7월	
  
강상진
 (Brandon
 Kang)
 
 
전)
 삼성SDS
 솔루션
 개발센터
 선임
 개발자
 
전)
 한국마이크로소프트
 소프트웨어
 연구소
 책임
 연구원
 
현)
 아카마이
 한국
 법인
 시니어
 기술
 프로젝트
 매니저
 리드
 
 
IT
 도서
 집필/번역
 
IT
 트렌드,
 웹
 프로그래밍,
 모바일
 앱
 개발,
 게임
 개발
 등
 
 
IT
 강연/강의/기고
 
KOBA,
1 of 44

Recommended

Web Performance Optimization with HTTP/3 by
Web Performance Optimization with HTTP/3Web Performance Optimization with HTTP/3
Web Performance Optimization with HTTP/3Brandon Kang
184 views37 slides
Web Server Load Balancer by
Web Server Load BalancerWeb Server Load Balancer
Web Server Load BalancerMobME Technical
2.8K views21 slides
Load Balancing with HAproxy by
Load Balancing with HAproxyLoad Balancing with HAproxy
Load Balancing with HAproxyBrendan Jennings
1.4K views22 slides
Stuart Larsen, attacking http2implementations-rev1 by
Stuart Larsen, attacking http2implementations-rev1Stuart Larsen, attacking http2implementations-rev1
Stuart Larsen, attacking http2implementations-rev1PacSecJP
2.2K views33 slides
Attacking http2 implementations (1) by
Attacking http2 implementations (1)Attacking http2 implementations (1)
Attacking http2 implementations (1)John Villamil
4.4K views33 slides
HAProxy by
HAProxy HAProxy
HAProxy Arindam Nayak
4.9K views17 slides

More Related Content

What's hot

gRPC and Microservices by
gRPC and MicroservicesgRPC and Microservices
gRPC and MicroservicesJonathan Gomez
3.2K views22 slides
HA Deployment Architecture with HAProxy and Keepalived by
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and KeepalivedGanapathi Kandaswamy
1.8K views41 slides
ChinaNetCloud Training - HAProxy Intro by
ChinaNetCloud Training - HAProxy IntroChinaNetCloud Training - HAProxy Intro
ChinaNetCloud Training - HAProxy IntroChinaNetCloud
1.6K views22 slides
HTTP2 and gRPC by
HTTP2 and gRPCHTTP2 and gRPC
HTTP2 and gRPCGuo Jing
14.4K views62 slides
Generating Unified APIs with Protocol Buffers and gRPC by
Generating Unified APIs with Protocol Buffers and gRPCGenerating Unified APIs with Protocol Buffers and gRPC
Generating Unified APIs with Protocol Buffers and gRPCC4Media
2.5K views71 slides
Using HAProxy to Scale MySQL by
Using HAProxy to Scale MySQLUsing HAProxy to Scale MySQL
Using HAProxy to Scale MySQLBill Sickles
1K views17 slides

What's hot(20)

HA Deployment Architecture with HAProxy and Keepalived by Ganapathi Kandaswamy
HA Deployment Architecture with HAProxy and KeepalivedHA Deployment Architecture with HAProxy and Keepalived
HA Deployment Architecture with HAProxy and Keepalived
ChinaNetCloud Training - HAProxy Intro by ChinaNetCloud
ChinaNetCloud Training - HAProxy IntroChinaNetCloud Training - HAProxy Intro
ChinaNetCloud Training - HAProxy Intro
ChinaNetCloud1.6K views
HTTP2 and gRPC by Guo Jing
HTTP2 and gRPCHTTP2 and gRPC
HTTP2 and gRPC
Guo Jing14.4K views
Generating Unified APIs with Protocol Buffers and gRPC by C4Media
Generating Unified APIs with Protocol Buffers and gRPCGenerating Unified APIs with Protocol Buffers and gRPC
Generating Unified APIs with Protocol Buffers and gRPC
C4Media2.5K views
Using HAProxy to Scale MySQL by Bill Sickles
Using HAProxy to Scale MySQLUsing HAProxy to Scale MySQL
Using HAProxy to Scale MySQL
Bill Sickles1K views
GRPC 101 - DevFest Belgium 2016 by Alex Van Boxel
GRPC 101 - DevFest Belgium 2016GRPC 101 - DevFest Belgium 2016
GRPC 101 - DevFest Belgium 2016
Alex Van Boxel705 views
Choosing A Proxy Server - Apachecon 2014 by bryan_call
Choosing A Proxy Server - Apachecon 2014Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014
bryan_call53.6K views
HAProxy tech talk by icebourg
HAProxy tech talkHAProxy tech talk
HAProxy tech talk
icebourg5.5K views
Data Security Governanace and Consumer Cloud Storage by Daniel Rohan
Data Security Governanace and Consumer Cloud StorageData Security Governanace and Consumer Cloud Storage
Data Security Governanace and Consumer Cloud Storage
Daniel Rohan2.3K views
Message Queuing on a Large Scale: IMVUs stateful real-time message queue for ... by Jon Watte
Message Queuing on a Large Scale: IMVUs stateful real-time message queue for ...Message Queuing on a Large Scale: IMVUs stateful real-time message queue for ...
Message Queuing on a Large Scale: IMVUs stateful real-time message queue for ...
Jon Watte8.2K views
Introducing HTTP/2 by Ido Flatow
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2
Ido Flatow3.1K views
Evolution of MongoDB Replicaset and Its Best Practices by Mydbops
Evolution of MongoDB Replicaset and Its Best PracticesEvolution of MongoDB Replicaset and Its Best Practices
Evolution of MongoDB Replicaset and Its Best Practices
Mydbops657 views
Real-time, Exactly-once Data Ingestion from Kafka to ClickHouse at eBay by Altinity Ltd
Real-time, Exactly-once Data Ingestion from Kafka to ClickHouse at eBayReal-time, Exactly-once Data Ingestion from Kafka to ClickHouse at eBay
Real-time, Exactly-once Data Ingestion from Kafka to ClickHouse at eBay
Altinity Ltd732 views
Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t... by AboutYouGmbH
 Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t... Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
Robert Kubis - gRPC - boilerplate to high-performance scalable APIs - code.t...
AboutYouGmbH13.4K views
HBaseCon 2015: OpenTSDB and AsyncHBase Update by HBaseCon
HBaseCon 2015: OpenTSDB and AsyncHBase UpdateHBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon 2015: OpenTSDB and AsyncHBase Update
HBaseCon7.7K views
Load Balancing MySQL with HAProxy - Slides by Severalnines
Load Balancing MySQL with HAProxy - SlidesLoad Balancing MySQL with HAProxy - Slides
Load Balancing MySQL with HAProxy - Slides
Severalnines11.3K views

Similar to HTTP 프로토콜의 이해와 활용

Http 2 by
Http 2Http 2
Http 2Narendran Solai Sridharan
325 views41 slides
HTTP1.1/2 overview by
HTTP1.1/2 overviewHTTP1.1/2 overview
HTTP1.1/2 overviewAndrew Muntian
824 views29 slides
Juglouvain http revisited by
Juglouvain http revisitedJuglouvain http revisited
Juglouvain http revisitedmarctritschler
445 views51 slides
Web Services 2009 by
Web Services 2009Web Services 2009
Web Services 2009Cathie101
1.7K views42 slides
Web Services 2009 by
Web Services 2009Web Services 2009
Web Services 2009Cathie101
1K views42 slides
Advanced Web Design And Development BIT 3207 by
Advanced Web Design And Development BIT 3207Advanced Web Design And Development BIT 3207
Advanced Web Design And Development BIT 3207Lori Head
2 views41 slides

Similar to HTTP 프로토콜의 이해와 활용(20)

Web Services 2009 by Cathie101
Web Services 2009Web Services 2009
Web Services 2009
Cathie1011.7K views
Web Services 2009 by Cathie101
Web Services 2009Web Services 2009
Web Services 2009
Cathie1011K views
Advanced Web Design And Development BIT 3207 by Lori Head
Advanced Web Design And Development BIT 3207Advanced Web Design And Development BIT 3207
Advanced Web Design And Development BIT 3207
Lori Head2 views
Web Server Technologies I: HTTP & Getting Started by Port80 Software
Web Server Technologies I: HTTP & Getting StartedWeb Server Technologies I: HTTP & Getting Started
Web Server Technologies I: HTTP & Getting Started
Port80 Software3.1K views
Web Server Technologies I: HTTP by webhostingguy
Web Server Technologies I: HTTP Web Server Technologies I: HTTP
Web Server Technologies I: HTTP
webhostingguy889 views
Under the Covers with the Web by Trevor Lohrbeer
Under the Covers with the WebUnder the Covers with the Web
Under the Covers with the Web
Trevor Lohrbeer1.3K views
Understanding the Web through HTTP by Olivia Brundage
Understanding the Web through HTTPUnderstanding the Web through HTTP
Understanding the Web through HTTP
Olivia Brundage334 views
Web technology-guide by Srihari
Web technology-guideWeb technology-guide
Web technology-guide
Srihari102 views
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017 by Codemotion
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
Codemotion767 views

More from Brandon Kang

웹에 빠른 날개를 달아주는 웹 성능 향상 이야기 by
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기Brandon Kang
23 views43 slides
How to Replicate PostgreSQL Database by
How to Replicate PostgreSQL DatabaseHow to Replicate PostgreSQL Database
How to Replicate PostgreSQL DatabaseBrandon Kang
181 views13 slides
Scalability strategies for cloud based system architecture by
Scalability strategies for cloud based system architectureScalability strategies for cloud based system architecture
Scalability strategies for cloud based system architectureBrandon Kang
281 views39 slides
HTTP/3 시대의 웹 성능 최적화 기술 이해하기 by
HTTP/3 시대의 웹 성능 최적화 기술 이해하기HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기Brandon Kang
6.1K views39 slides
수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019) by
수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019)수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019)
수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019)Brandon Kang
254 views37 slides
How to develop and localize Xbox 360 titles by
How to develop and localize Xbox 360 titlesHow to develop and localize Xbox 360 titles
How to develop and localize Xbox 360 titlesBrandon Kang
281 views41 slides

More from Brandon Kang(14)

웹에 빠른 날개를 달아주는 웹 성능 향상 이야기 by Brandon Kang
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
Brandon Kang23 views
How to Replicate PostgreSQL Database by Brandon Kang
How to Replicate PostgreSQL DatabaseHow to Replicate PostgreSQL Database
How to Replicate PostgreSQL Database
Brandon Kang181 views
Scalability strategies for cloud based system architecture by Brandon Kang
Scalability strategies for cloud based system architectureScalability strategies for cloud based system architecture
Scalability strategies for cloud based system architecture
Brandon Kang281 views
HTTP/3 시대의 웹 성능 최적화 기술 이해하기 by Brandon Kang
HTTP/3 시대의 웹 성능 최적화 기술 이해하기HTTP/3 시대의 웹 성능 최적화 기술 이해하기
HTTP/3 시대의 웹 성능 최적화 기술 이해하기
Brandon Kang6.1K views
수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019) by Brandon Kang
수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019)수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019)
수요자 중심의 클라우드 운영 및 전략 (CIO Summit 2019)
Brandon Kang254 views
How to develop and localize Xbox 360 titles by Brandon Kang
How to develop and localize Xbox 360 titlesHow to develop and localize Xbox 360 titles
How to develop and localize Xbox 360 titles
Brandon Kang281 views
Akamai 서비스 트러블 슈팅 및 테스트 방법과 도구 by Brandon Kang
Akamai 서비스 트러블 슈팅 및 테스트 방법과 도구Akamai 서비스 트러블 슈팅 및 테스트 방법과 도구
Akamai 서비스 트러블 슈팅 및 테스트 방법과 도구
Brandon Kang1.3K views
HTTP/2와 웹 성능 최적화 방안 by Brandon Kang
HTTP/2와 웹 성능 최적화 방안HTTP/2와 웹 성능 최적화 방안
HTTP/2와 웹 성능 최적화 방안
Brandon Kang3.9K views
Akamai Korea - Tech Day (2015/03/11) DNS by Brandon Kang
Akamai Korea - Tech Day (2015/03/11) DNSAkamai Korea - Tech Day (2015/03/11) DNS
Akamai Korea - Tech Day (2015/03/11) DNS
Brandon Kang1.4K views
Akamai Korea - Tech Day (2015/03/11) HTTP/2 by Brandon Kang
Akamai Korea - Tech Day (2015/03/11) HTTP/2Akamai Korea - Tech Day (2015/03/11) HTTP/2
Akamai Korea - Tech Day (2015/03/11) HTTP/2
Brandon Kang6.1K views
HTML5 for web app. development by Brandon Kang
HTML5 for web app. developmentHTML5 for web app. development
HTML5 for web app. development
Brandon Kang1.3K views
Agile - SCRUM을 통한 개발관리 by Brandon Kang
Agile - SCRUM을 통한 개발관리Agile - SCRUM을 통한 개발관리
Agile - SCRUM을 통한 개발관리
Brandon Kang13.4K views
XNA2.0 Network Programming by Brandon Kang
XNA2.0 Network ProgrammingXNA2.0 Network Programming
XNA2.0 Network Programming
Brandon Kang1.5K views

Recently uploaded

𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲 by
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲Infosec train
9 views6 slides
DU Series - Day 4.pptx by
DU Series - Day 4.pptxDU Series - Day 4.pptx
DU Series - Day 4.pptxUiPathCommunity
100 views28 slides
Building trust in our information ecosystem: who do we trust in an emergency by
Building trust in our information ecosystem: who do we trust in an emergencyBuilding trust in our information ecosystem: who do we trust in an emergency
Building trust in our information ecosystem: who do we trust in an emergencyTina Purnat
98 views18 slides
information by
informationinformation
informationkhelgishekhar
8 views4 slides
Is Entireweb better than Google by
Is Entireweb better than GoogleIs Entireweb better than Google
Is Entireweb better than Googlesebastianthomasbejan
12 views1 slide
UiPath Document Understanding_Day 3.pptx by
UiPath Document Understanding_Day 3.pptxUiPath Document Understanding_Day 3.pptx
UiPath Document Understanding_Day 3.pptxUiPathCommunity
103 views25 slides

Recently uploaded(12)

𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲 by Infosec train
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲
Infosec train9 views
Building trust in our information ecosystem: who do we trust in an emergency by Tina Purnat
Building trust in our information ecosystem: who do we trust in an emergencyBuilding trust in our information ecosystem: who do we trust in an emergency
Building trust in our information ecosystem: who do we trust in an emergency
Tina Purnat98 views
UiPath Document Understanding_Day 3.pptx by UiPathCommunity
UiPath Document Understanding_Day 3.pptxUiPath Document Understanding_Day 3.pptx
UiPath Document Understanding_Day 3.pptx
UiPathCommunity103 views
How to think like a threat actor for Kubernetes.pptx by LibbySchulze1
How to think like a threat actor for Kubernetes.pptxHow to think like a threat actor for Kubernetes.pptx
How to think like a threat actor for Kubernetes.pptx
LibbySchulze15 views
We see everywhere that many people are talking about technology.docx by ssuserc5935b
We see everywhere that many people are talking about technology.docxWe see everywhere that many people are talking about technology.docx
We see everywhere that many people are talking about technology.docx
ssuserc5935b6 views
PORTFOLIO 1 (Bret Michael Pepito).pdf by brejess0410
PORTFOLIO 1 (Bret Michael Pepito).pdfPORTFOLIO 1 (Bret Michael Pepito).pdf
PORTFOLIO 1 (Bret Michael Pepito).pdf
brejess04108 views
IETF 118: Starlink Protocol Performance by APNIC
IETF 118: Starlink Protocol PerformanceIETF 118: Starlink Protocol Performance
IETF 118: Starlink Protocol Performance
APNIC244 views
Marketing and Community Building in Web3 by Federico Ast
Marketing and Community Building in Web3Marketing and Community Building in Web3
Marketing and Community Building in Web3
Federico Ast12 views

HTTP 프로토콜의 이해와 활용

  • 1. All  That     Hyper  Text  Transfer  Protocol   강상진   Email:  sangjinn@gmail.com   Twi;er:  @sangjinn   2015년 7월  
  • 5.  
  • 27.  
  • 28.   IT
  • 31.   IT
  • 33.  웹
  • 36.  앱
  • 40.  등
  • 41.  
  • 42.   IT
  • 51.  등
  • 52.  
  • 55.  
  • 59.  
  • 61.  
  • 62.  
  • 64. Internet   •  1969  미 국방성 알파넷(ARPANET)  등장 •  1972  이메일 탄생 •  1974  인터넷(Internet)  용어 처음 사용 •  1975  TCP/IP  개발,  시운전 개시 •  1979  USENET  구축(net*  뉴스그룹 생성)   •  1982  TCP/IP  도입 (  인터넷 개념 정립 )   •  1984  DNS  (Domain  Name  System  )  제시 •  1986  NSFNET  구축 •  1991  팀 버너스 리에 의해 WWW(WorldWideWeb)  개발 •  1993  InterNIC,  Mosaic  등장으로 WWW  사용률 급증 •  1994  넷스케이프 네비게이터 1.0  발표 ,  W3C  구성 •  1995  NSFNET  해체되고 ISP  등이 운용.  본격 상업화,  대중화,  정보 고속화 •  1996  MS  Internet  Explorer  발표 •  1998  세계 인터넷 이용자수 1억 명 돌파  
  • 65. HTTP   •  The  most  popular  TCP  protocol   •  Protocol  for  web   •  Generally,  Between  web  browser  and  web  server   •  Request  -­‐  Response  Structure   •  HTTP  0.9,  1.0,  1.1    2.0  (Feb.  2015  Now)  
  • 66. HTTP  History   •  HTTP  0.9  -­‐  HTTP의 탄생 팀 버너스리가 최초에 웹을 발명했을 때 사용하던 프로토콜 현재의 HTTP와 다르게 헤더가 없으며,  GET  메소드만 있음.     •  HTTP  1.0  -­‐  HTTP  최초의 표준화 IETF  에서 표준화하여 1993년에 Drac  공개후,  1996년에 최종 버전(RFC  1945)   헤더의 도입,  GET  이외의 메서드 추가   •  HTTP  1.1  -­‐  HTTP의 완성 1997년 RFC  2068  에서 개정하여 1999년 RFC  2616  발행.  현재의 1.1  스펙 채널전송,  Accept  헤더에 의한 content  negodadon,  cache-­‐control,     Keep-­‐Alive  등 추가   •  SPDY  -­‐  좀더 빠른 웹을 위한 실험적인 프로토콜 구글이 제안하는 HTTP  프로토콜의 개선안.     SSL/헤더 압축/다중 스트림/요청 우선 순위 등     HTTP/2
  • 71.  
  • 72. URI  (Uniform  Resource  Idendfiers)  
  • 73. -­‐  Quiz  -­‐         URL과 URI의 차이점은?  
  • 74. Uniform  Resource  Idenfier  (URI)     is  a  string  of  characters  used  to  idendfy  a  name  or  a  web  resource     h;p://www.apple.com/iphone/features/   h;p://www.apple.com/ipad/specs/   h;p://www.apple.com/macbook-­‐pro/performance/   h;p://www.apple.com/support/iphone/syncing/   Uniform  Resource  Locator  (URL)  (also  known  as  web  address,  pardcularly  when   used  with  HTTP)  is  a  specific  character  string  that  consdtutes  a  reference  to  a   resource.   Uniform  Resource  Name  (URN)   is  the  historical  name  for  a  Uniform  Resource  Idendfier  (URI)  that  uses  the  urn:   scheme.   한글 깔끔정리 h;p://blog.lael.be/post/61    
  • 75. HTTP  Operadon   Before  systems  can  exchange  HTTP   messages,  they  must  establish  a  TCP   connecdon.  Steps  1,  2,  and  3  in  this   example  show  the  connecdon   establishment.  Once  the  TCP   connecdon  is  available,  the  client   sends  the  server  an  HTTP  request.  The   final  two  steps,  6  and  7,  show  the   closing  of  the  TCP  connecdon.  
  • 76. HTTP  Operadon   Before  systems  can  exchange  HTTP   messages,  they  must  establish  a  TCP   connecdon.  Steps  1,  2,  and  3  in  this   example  show  the  connecdon   establishment.  Once  the  TCP   connecdon  is  available,  the  client   sends  the  server  an  HTTP  request.  The   final  two  steps,  6  and  7,  show  the   closing  of  the  TCP  connecdon.  
  • 77. Persistent  Connecdon  (HTTP1.X)     With  persistent  connecdons,  a  client   can  issue  many  HTTP  requests  over  a   single  TCP  connecdon.  The  first   request  is  in  step  4,  which  the  server   answers  in  step  5.  In  step  6  the  client   condnues  by  sending  the  server   another  request  on  the  same  TCP   connecdon.  The  server  responds  to   this  request  in  step  7  and  then  closes   the  TCP  connecdon.   참고:  h;ps://en.wikipedia.org/wiki/HTTP_persistent_connecdon    
  • 78. Pipelining  (HTTP1.1)   Pipelining  lets  an  HTTP  client  issue   new  requests  without  waidng  for   responses  from  its  previous   messages.  In  the  figure,  the  client   sends  its  first  request  in  step  4.  It   immediately  follows  that  with  a   second  request  in  step  5.  The  client   does  not  wait  for  the  server’s   response,  which  arrives  in  step  6.   참고:  h;ps://en.wikipedia.org/wiki/HTTP_pipelining    
  • 79. HTTP  Method   GET   POST   …   CONNECT   PUT   DELETE   OPTION   TRACE   WebDAV   …  
  • 80. -­‐  Quiz  -­‐         왜 POST를 사용하는가?   GET과는 무엇이 다른가?  
  • 81. GET  /  POST   A  server  responds  to  a  POST  request   by  returning  new  informadon  such  as   search  results.  This  informadon  is   carried  as  data  in  the  response.   A  server  responds  to  a  GET  request  by   returning  the  requested  resource,   ocen  a  new  Web  page.  The  new  page   is  the  data  in  the  response.   POST  is  using  when  client  wants  to  send  data  to  server.  ex)  Web  Forms  
  • 82. OPTION  /  HEAD   The  HEAD  request  mimics  a  GET   operadon,  except  that  the  server  does   not  actually  return  the  requested   object,  only  HTTP  headers.   Clients  can  use  an  OPTIONS  request  to   ask  about  a  pardcular  object  or  about   the  server  itself.  The  server  returns  the   opdons  data  in  its  response.   OPTION  is  ocen  used  by  hackers  to  find  out  which  method  web  server  support.  
  • 83. PUT  /  DELETE   The  DELETE  operadon  lets  a  client   remove  an  object  from  a  server.  The   URI  idendfies  the  object  to  delete.   Clients  can  use  the  PUT  request  to   send  a  new  object  to  a  server.  The  URI   that’s  part  of  the  request  tells  the   server  where  to  put  the  object.   PUT    DELETE  should  be  granted  ONLY  permi;ed  admins  
  • 84. TRACE     The  TRACE  request  lets  clients   discover  the  path  their  messages   follow  through  a  network  of   intermediate  servers.   The  TRACE  message  gives  clients  a  way  to   check  the  network  path  to  a  server.  When  a   server  receives  a  TRACE,  it  responds  simply  by   copying  the  TRACE  message  itself  into  the  data   for  the  response.   TRACE  are  more  useful  when  muldple  servers  are  involved  in  responding  a  request  
  • 85. Virtual  Hosdng   Virtual  hosdng  lets  many  Web  addresses  share  the  same  Web  server.   This  configuradon  is  typical  in  ISPs  that  provide  Web  hosdng  for  small   businesses  and  individuals.  
  • 86. -­‐  Quiz  -­‐       요청 헤더(Req.  header) 중,   HOST 헤더가 필요한 이유는?  
  • 87. Before  Virtual  Hosdng    HTTP  1.1   instead  of  the   straighrorward  uri  “h;p://www.company1.com/news.html,”   the  company1.com  Web  site  might  use  the  more  complicated  like  “h;p:// www.company1.com/company1.com/news.html.”  
  • 88. Proxy  Server   A  proxy  server  posidons  itself  in  between  clients  and  servers.     It  forwards  requests  on  behalf  of  clients  and  relays  responses  from  the  servers.  
  • 89. Gateway   A  gateway  accepts  HTTP  requests  and  translates  them  to  a  different   format  such  as  SQL.  The  gateway  also  ensures  that  any  reply  is  a   proper  HTTP  response.  
  • 90. HTTP  Request   An  HTTP  request  begins  with  a   Request-­‐Line  and  may  include   headers  and  a  message  body.  The   headers  can  describe  general   communicadons,  the  specific  request,   or  the  included  message  body.  
  • 91. HTTP  Response   An  HTTP  response  begins  with  a   Status-­‐Line  and  may  include  headers   and  a  message  body.  The  headers  can   describe  the  general  communicadons,   the  specific  response,  or  the  included   message  body.  
  • 94. Accept  Series   The  Accept  header,  which  is  a  request  header,  lets  a  client  explicitly  indicate  what   types  of  content  it  can  accept  in  the  message  body  of  the  server’s  response,  as  well  as   its  reladve  preference  for  each  content  type.   The  Accept-­‐Encoding  header  gives  clients  another  way  to  express  their  preferences  for   the  message  body  of  the  server’s  response   Clients  can  include  an  Accept-­‐Charset  header  in  their  requests   to  tell  the  server  which  character  encodings  they  prefer   for  the  message  body  returned  in  the  response.  
  • 95. -­‐  Quiz  -­‐         브라우저에 캐시된   콘텐트는 언제까지 사용되는가?  
  • 97. Content  Series   Content-­‐Language   Content-­‐Length  
  • 98. Cookie   Servers  can  return  state  management  cookies  in  their  responses.     Clients,  if  they  wish,  include  those  cookies  in  subsequent  requests  to  the  same   server.  
  • 99. -­‐  Quiz  -­‐       크기가 매우 큰 파일의   일부만을 다운받고 싶다면?   Ex)  P2P  applicadon  
  • 102. Range  Request   Pardal  GET   HTTP  Request가 늘어나는 방식   YouTube  :  h;p://www.youtube.com/watch?v=2ips2mM7Zqw     한글 블로그 참고:  h;p://npcode.com/blog/archives/762   영문 블로그 참고:  h;p://stackoverflow.com/quesdons/8293687/sample-­‐h;p-­‐range-­‐request-­‐session      
  • 103. If  Series   The  If-­‐Range  header  lets  a  client  ask  for  either   part  of  an  object  or,  if  the  part  is  no  longer   valid,  the  endre  object,  all  in  a  single  request.   A  proxy  server  can  use  the  If-­‐Modified   header  to  ask  for  an  object  only  if  it   has  changed.  In  this  example  the   object  has  not  changed,  so  the  server   returns  a  304  status.  
  • 104. -­‐  Quiz  -­‐         301  /  302  Response  의   차이점은?   참고:  h;p://www.seo-­‐korea.com/301-­‐vs-­‐302-­‐redirect/    
  • 105. HTTP  Response  Code   h;p://www.w3.org/Protocols/rfc2616/rfc2616-­‐sec10.html    
  • 106. Demo     1.  Spoofing  Device     2.  Spoofing  Client  IP     3.  CURL  operadons   h;p://curl.haxx.se       4.  Charles  Proxy  tools  
  • 107. LAB  1)     Mock  Server 서비스를 활용하여   Request  Header  확인하기     h;p://requestb.in    
  • 108. LAB  2)     Mock  Server 서비스를 활용하여   Response  Header  생성하기     h;p://www.mocky.io    
  • 109. Demo     1)  IP  DB  /  Device  DB  examples   h;p://edc.edgesuite.net       2)  HTTP/2  Demo   h;ps://h;p2.akamai.com