SlideShare une entreprise Scribd logo
1  sur  30
Chapter8
통합점: 게이트웨이,
터널, 릴레이
이준환
 게이트웨이: 프로토콜 <-> 애플리케이션간 HTTP
인터페이스
 애플리케이션 인터페이스: 서로 다른 웹 애플리케
이션이 통신하는데 사용
 터널: HTTP커넥션으로 wrapping한 HTTP가 아닌
트래픽 전송에 사용
 릴레이: hop by hop에 단순 HTTP 프락시
Integration Points
8.1 리소스 게이트웨이
8.1 게이트웨이
8.1.1 클라이언트 측 게이트웨이
와 서버 측 게이트웨이
 HTTP  게이트웨이  NNTP(Network News
Transfer Protocol, 유즈넷)
 HTTP/NNTP
 게이트웨이는 HTTP/NNTP와 같이 ‘/’로 구분
8.2 프로토콜 게이트웨이
 HTTP/FTP
HTTP(80)
접속
프로토콜
게이트웨이
(reverse
proxy)
FTP
접속
8.2 프로토콜 게이트웨이
8.2.1 HTTP/*: 서버 측 웹 게이
트웨이
 HTTP/*: 서버 측 웹 게이트웨이는 FTP에 커넥션을
맺어서 받은 객체를 HTTP응답에 실어서 클라이언
트에 전송
 리버스 프록시와 다른건?
 HTTP/FTP 게이트웨이는 직접 21번에 붙음
 리버스 프록시는 8080에 붙음
8.2.1 HTTP/*: 서버 측 웹 게이
트웨이
8.2.2 HTTP/HTTPS: 서버 측 보
안 게이트웨이
8.2.3 HTTPS/HTTP: 클라이언트
측 가속 게이트웨이
HTTP/HTTPS vs HTTPS/HTTP
 HTTP/HTTPS
• 게이트웨이로의 인바운드 패킷 안전을 보장하
지 못함
 HTTPS/HTTP
• 게이트웨이에 “보안 트래픽 복호화 암호화 하
드웨어 내장”
• 그래서 원서버의 부하를 줄여줌
• 때문에 HTTPS/HTTP는 보안 가속 게이트웨이
로 부름
8.3 리소스 게이트웨이
 게이트웨이의 가장 일반적인 형태인 애플리케이션
서버
 클라이언트 <-> WAS <-> 애플리케이션
 최초의 공용API = CGI
8.3 리소스 게이트웨이
8.3 리소스 게이트웨이
8.3.1 공용 게이트웨이 인터페이
스(CGI)
 2장
 http://www.joes-
hardware.com/inventorycheck.cgi?item=12731
&color=blue
 웹서버 뒤에 있는 Database에 query를 함
8.3.1 공용 게이트웨이 인터페이
스(CGI)
 CGI요청마다 프로세스를 만들면 너무 느림
 FastCGI 개발되어서 데몬으로 모두 처리
• CGI요청은 데몬이 모두 처리하고 각 프로세스
를 생성
• 각 프로세스가 socket, tcp로 요청 데이터 처리
• 즉, FastCGI는 I/O 다중화와 데몬이 요청을 모
두 처리하는 방식
8.3.2 서버 확장 API
 서버 자체의 동작을 바꾸거나
 서버의 처리능력을 높이고 싶을땐?
 HTTP와 직접 연결 가능한 서버 확장 API 사용
 REST
 OPEN API
 webdav
8.4 애플리케이션 인터페이스와
웹 서비스
 HTTP가 애플리케이션을 연결하는 도구로 활용
 웹 서비스는 HTTP 위에서 애플리케이션이 정보를
공유하는데 사용하는 새로운 메커니즘
 XML -> JSON
 SOAP -> REST
8.5 터널
 웹 터널은 HTTP 프로토콜을 지원하지 않는 애플
리케이션에 HTTP 애플리케이션을 사용해 접근하
는 방법을 제공
 HTTP 커넥션으로 HTTP가 아닌 트래픽 전송
 HTTP 위에 다른 프로토콜을 올림
8.5 터널
 웹 터널은 HTTP 프로토콜을 지원하지 않는 애플
리케이션에 HTTP 애플리케이션을 사용해 접근하
는 방법을 제공
 HTTP 커넥션으로 HTTP가 아닌 트래픽 전송
 HTTP 위에 다른 프로토콜을 올림
8.5.1 CONNECT로 HTTP 터널
커넥션 맺기
 CONNECT 메서드 사용해서 TCP커넥션을 맺음
 요청
CONNECT home.netscape.com:443 HTTP/1.0
User-agent: Mozilla/4.0
 응답
HTTP/1.0 200 Connection Established
Proxy-agent: Netscape-Proxy/1.1
8.5.1 CONNECT로 HTTP 터널
커넥션 맺기
8.5.3 SSL 터널링
8.5.3 SSL 터널링
 방화벽이 SSL은 튕겨냄
 HTTP만 허용
 HTTP터널로 SSL트래픽을 전송
 하지만 사용자가 SSL터널을 통해 내부로 악의적인
트래픽이 유입될 수 있음
8.5.3 SSL 터널링
8.5.4 SSL 터널링 vs
HTTP/HTTPS 게이트웨이
 HTTP/HTTPS
• 클라이언트<->게이트웨이는 HTTP커넥션이라
보안성이 없음
• 프락시가 인증을 담당하기 때문에 클라이언트
는 원격 서버에 SSL 클라이언트 인증(X509)을
할 수 없다 -> 부인방지를 보장 안함.
• 게이트웨이는 SSL을 완벽히 지원해야 한다.
 SSL터널링
• SSL터널링은 프락시에 SSL 구현X
8.5.5 터널 인증
 CONNECT과정에서 TCP커넥션전에 인증요구를 받
아서 Proxy-authorization으로 인증정보를 받음
8.5.6 터널 보안에 대한 고려사항
 VPN
 프록시
 SSH터널링
 잘 알려진 포트만 인바운드 허용
8.6 릴레이
 IRC Relay
• Glowing Bear
 Connection: Keep-Alive 헤더를 해석 못하는 멍청
한 프락시때문에 hang 상태가 될 수 있음

Contenu connexe

Tendances

웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술JungHyuk Kwon
 
Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Choonghyun Yang
 
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요dgmit2009
 
HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)
HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)
HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)Mungyu Choi
 
[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초
[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초
[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초JinuNoh
 
Web App Security 2015.10
Web App Security 2015.10Web App Security 2015.10
Web App Security 2015.10Chanjin Park
 
HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템박 민규
 
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서동수 장
 
HTTP 완벽가이드 7장 캐시
HTTP 완벽가이드 7장 캐시HTTP 완벽가이드 7장 캐시
HTTP 완벽가이드 7장 캐시박 민규
 
REST Ovewview
REST OvewviewREST Ovewview
REST OvewviewTerry Cho
 
WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술Changhwan Yi
 
Web and server
Web and serverWeb and server
Web and server민정 김
 
RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개Wonchang Song
 
SPDY : 더 빠른 웹을 위한 프로토콜
SPDY : 더 빠른 웹을 위한 프로토콜SPDY : 더 빠른 웹을 위한 프로토콜
SPDY : 더 빠른 웹을 위한 프로토콜Yunsang Choi
 
Web http spec(basic)
Web http spec(basic)Web http spec(basic)
Web http spec(basic)Julia Park
 
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)KH Park (박경훈)
 
Hoons닷넷 좌충우돌 10년, 그리고 새로운 패러다임
Hoons닷넷 좌충우돌 10년, 그리고 새로운 패러다임Hoons닷넷 좌충우돌 10년, 그리고 새로운 패러다임
Hoons닷넷 좌충우돌 10년, 그리고 새로운 패러다임KH Park (박경훈)
 

Tendances (20)

웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술
 
Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)Http 완벽 가이드(2장 url과 리소스)
Http 완벽 가이드(2장 url과 리소스)
 
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
 
HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)
HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)
HTTP 완벽가이드 - ch15. 엔터티, 인코딩 (Entities and Encoding)
 
Http method
Http methodHttp method
Http method
 
[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초
[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초
[HTTP 101] 웹 개발자라면 반드시 알아야하는 HTTP의 기초
 
Web App Security 2015.10
Web App Security 2015.10Web App Security 2015.10
Web App Security 2015.10
 
HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템HTTP 완벽가이드- 19장 배포시스템
HTTP 완벽가이드- 19장 배포시스템
 
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서
개발자와 협업하기 위한 API의 이해 - API를 준비하는 금성인을 위한 안내서
 
HTTP 완벽가이드 7장 캐시
HTTP 완벽가이드 7장 캐시HTTP 완벽가이드 7장 캐시
HTTP 완벽가이드 7장 캐시
 
Web server
Web serverWeb server
Web server
 
REST Ovewview
REST OvewviewREST Ovewview
REST Ovewview
 
WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술WoO 2012-Web 서비스 기술
WoO 2012-Web 서비스 기술
 
Web and server
Web and serverWeb and server
Web and server
 
RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개
 
SPDY : 더 빠른 웹을 위한 프로토콜
SPDY : 더 빠른 웹을 위한 프로토콜SPDY : 더 빠른 웹을 위한 프로토콜
SPDY : 더 빠른 웹을 위한 프로토콜
 
Web http spec(basic)
Web http spec(basic)Web http spec(basic)
Web http spec(basic)
 
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
 
Hoons닷넷 좌충우돌 10년, 그리고 새로운 패러다임
Hoons닷넷 좌충우돌 10년, 그리고 새로운 패러다임Hoons닷넷 좌충우돌 10년, 그리고 새로운 패러다임
Hoons닷넷 좌충우돌 10년, 그리고 새로운 패러다임
 
3장
3장3장
3장
 

En vedette

[Http완벽가이드] 9장 웹로봇
[Http완벽가이드] 9장 웹로봇[Http완벽가이드] 9장 웹로봇
[Http완벽가이드] 9장 웹로봇Minchul Jung
 
더 빠른 웹을 위해: HTTP/2
더 빠른 웹을 위해: HTTP/2더 빠른 웹을 위해: HTTP/2
더 빠른 웹을 위해: HTTP/2EungJun Yi
 
Cse342 chapter 04
Cse342 chapter 04Cse342 chapter 04
Cse342 chapter 04Jinil Nam
 
TCP/IP Protocol - JAVA
TCP/IP Protocol - JAVATCP/IP Protocol - JAVA
TCP/IP Protocol - JAVAcooddy
 
네트워크 스터디(Tcp 소켓 프로그래밍)
네트워크 스터디(Tcp 소켓 프로그래밍)네트워크 스터디(Tcp 소켓 프로그래밍)
네트워크 스터디(Tcp 소켓 프로그래밍)MoonLightMS
 
뇌자T 1.네트워크와 tcpip
뇌자T   1.네트워크와 tcpip뇌자T   1.네트워크와 tcpip
뇌자T 1.네트워크와 tcpipsj k
 
Definition and Tendency of Fabric Computing (패브릭 컴퓨팅의 정의와 현재 경향)
Definition and Tendency of Fabric Computing (패브릭 컴퓨팅의 정의와 현재 경향)Definition and Tendency of Fabric Computing (패브릭 컴퓨팅의 정의와 현재 경향)
Definition and Tendency of Fabric Computing (패브릭 컴퓨팅의 정의와 현재 경향)Jo Sangwon
 
2014 IT Infra Plan
2014 IT Infra Plan2014 IT Infra Plan
2014 IT Infra Plan석 허
 
Social Networks Study
Social Networks StudySocial Networks Study
Social Networks Studydelver
 
Ch11. server infra
Ch11. server infraCh11. server infra
Ch11. server infraMungyu Choi
 
[2013 체인지온] 네트워크 안에 힘이 있다 - 한동우
[2013 체인지온] 네트워크 안에 힘이 있다 - 한동우[2013 체인지온] 네트워크 안에 힘이 있다 - 한동우
[2013 체인지온] 네트워크 안에 힘이 있다 - 한동우daumfoundation
 
TCP/IP 발표자료 - 김연수
TCP/IP 발표자료 - 김연수TCP/IP 발표자료 - 김연수
TCP/IP 발표자료 - 김연수Yeon Soo Kim
 
NTM 견고한 기초 2015-0815
NTM 견고한 기초 2015-0815NTM 견고한 기초 2015-0815
NTM 견고한 기초 2015-0815seongtae
 
3.health%20건%20%20강[1]
3.health%20건%20%20강[1]3.health%20건%20%20강[1]
3.health%20건%20%20강[1]Kasilubuns
 
Gaming on AWS - 4. 인프라 자동화와 유용한 7가지 Tip
Gaming on AWS - 4. 인프라 자동화와 유용한 7가지 TipGaming on AWS - 4. 인프라 자동화와 유용한 7가지 Tip
Gaming on AWS - 4. 인프라 자동화와 유용한 7가지 TipAmazon Web Services Korea
 
열정과 겸손을 갖고 생각을 실천하는 사람
열정과 겸손을 갖고 생각을 실천하는 사람 열정과 겸손을 갖고 생각을 실천하는 사람
열정과 겸손을 갖고 생각을 실천하는 사람 Won Seok Yang
 
컴퓨터 하드웨어 구조
컴퓨터 하드웨어 구조컴퓨터 하드웨어 구조
컴퓨터 하드웨어 구조dddddanbi
 
서버인프라 구축 입문 basis of composing server and infra
서버인프라 구축 입문 basis of composing server and infra서버인프라 구축 입문 basis of composing server and infra
서버인프라 구축 입문 basis of composing server and infraHwanseok Park
 
Ch01 네트워크와+소켓+프로그래밍+[호환+모드]
Ch01 네트워크와+소켓+프로그래밍+[호환+모드]Ch01 네트워크와+소켓+프로그래밍+[호환+모드]
Ch01 네트워크와+소켓+프로그래밍+[호환+모드]지환 김
 

En vedette (20)

[Http완벽가이드] 9장 웹로봇
[Http완벽가이드] 9장 웹로봇[Http완벽가이드] 9장 웹로봇
[Http완벽가이드] 9장 웹로봇
 
더 빠른 웹을 위해: HTTP/2
더 빠른 웹을 위해: HTTP/2더 빠른 웹을 위해: HTTP/2
더 빠른 웹을 위해: HTTP/2
 
Cse342 chapter 04
Cse342 chapter 04Cse342 chapter 04
Cse342 chapter 04
 
TCP/IP Protocol - JAVA
TCP/IP Protocol - JAVATCP/IP Protocol - JAVA
TCP/IP Protocol - JAVA
 
네트워크 스터디(Tcp 소켓 프로그래밍)
네트워크 스터디(Tcp 소켓 프로그래밍)네트워크 스터디(Tcp 소켓 프로그래밍)
네트워크 스터디(Tcp 소켓 프로그래밍)
 
뇌자T 1.네트워크와 tcpip
뇌자T   1.네트워크와 tcpip뇌자T   1.네트워크와 tcpip
뇌자T 1.네트워크와 tcpip
 
Definition and Tendency of Fabric Computing (패브릭 컴퓨팅의 정의와 현재 경향)
Definition and Tendency of Fabric Computing (패브릭 컴퓨팅의 정의와 현재 경향)Definition and Tendency of Fabric Computing (패브릭 컴퓨팅의 정의와 현재 경향)
Definition and Tendency of Fabric Computing (패브릭 컴퓨팅의 정의와 현재 경향)
 
2014 IT Infra Plan
2014 IT Infra Plan2014 IT Infra Plan
2014 IT Infra Plan
 
Web http spec
Web http specWeb http spec
Web http spec
 
Social Networks Study
Social Networks StudySocial Networks Study
Social Networks Study
 
Ch11. server infra
Ch11. server infraCh11. server infra
Ch11. server infra
 
[2013 체인지온] 네트워크 안에 힘이 있다 - 한동우
[2013 체인지온] 네트워크 안에 힘이 있다 - 한동우[2013 체인지온] 네트워크 안에 힘이 있다 - 한동우
[2013 체인지온] 네트워크 안에 힘이 있다 - 한동우
 
TCP/IP 발표자료 - 김연수
TCP/IP 발표자료 - 김연수TCP/IP 발표자료 - 김연수
TCP/IP 발표자료 - 김연수
 
NTM 견고한 기초 2015-0815
NTM 견고한 기초 2015-0815NTM 견고한 기초 2015-0815
NTM 견고한 기초 2015-0815
 
3.health%20건%20%20강[1]
3.health%20건%20%20강[1]3.health%20건%20%20강[1]
3.health%20건%20%20강[1]
 
Gaming on AWS - 4. 인프라 자동화와 유용한 7가지 Tip
Gaming on AWS - 4. 인프라 자동화와 유용한 7가지 TipGaming on AWS - 4. 인프라 자동화와 유용한 7가지 Tip
Gaming on AWS - 4. 인프라 자동화와 유용한 7가지 Tip
 
열정과 겸손을 갖고 생각을 실천하는 사람
열정과 겸손을 갖고 생각을 실천하는 사람 열정과 겸손을 갖고 생각을 실천하는 사람
열정과 겸손을 갖고 생각을 실천하는 사람
 
컴퓨터 하드웨어 구조
컴퓨터 하드웨어 구조컴퓨터 하드웨어 구조
컴퓨터 하드웨어 구조
 
서버인프라 구축 입문 basis of composing server and infra
서버인프라 구축 입문 basis of composing server and infra서버인프라 구축 입문 basis of composing server and infra
서버인프라 구축 입문 basis of composing server and infra
 
Ch01 네트워크와+소켓+프로그래밍+[호환+모드]
Ch01 네트워크와+소켓+프로그래밍+[호환+모드]Ch01 네트워크와+소켓+프로그래밍+[호환+모드]
Ch01 네트워크와+소켓+프로그래밍+[호환+모드]
 

Similaire à Chap8 - HTTP 완벽가이드 8장

HTTP가 가지는 특징에는 무엇이 있을까.pdf
HTTP가 가지는 특징에는 무엇이 있을까.pdfHTTP가 가지는 특징에는 무엇이 있을까.pdf
HTTP가 가지는 특징에는 무엇이 있을까.pdfHo Jeong Im
 
HTTP 완벽가이드 : 1-1 http 개관
 HTTP 완벽가이드 : 1-1 http 개관 HTTP 완벽가이드 : 1-1 http 개관
HTTP 완벽가이드 : 1-1 http 개관ssuser491981
 
ASP.NET Web API를 활용한 RESTful 서비스 개발
ASP.NET Web API를 활용한 RESTful 서비스 개발ASP.NET Web API를 활용한 RESTful 서비스 개발
ASP.NET Web API를 활용한 RESTful 서비스 개발SangHoon Han
 
서버성능개선 류우림
서버성능개선 류우림서버성능개선 류우림
서버성능개선 류우림우림 류
 
웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술정혁 권
 
Apache http component
Apache http componentApache http component
Apache http component흥래 김
 
[Network] Data Transfer History
[Network] Data Transfer History[Network] Data Transfer History
[Network] Data Transfer Historyssuserb2b4e71
 
파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄 파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄 SeongHyun Ahn
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)jeongseokoh
 
[D2 CAMPUS]웹 개발자의 스펙 : HTTP
[D2 CAMPUS]웹 개발자의 스펙 : HTTP[D2 CAMPUS]웹 개발자의 스펙 : HTTP
[D2 CAMPUS]웹 개발자의 스펙 : HTTPNAVER D2
 
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법Young D
 
Http2(http2.0,g rpc,cookie,session,idempotent, x forwarded-for)
Http2(http2.0,g rpc,cookie,session,idempotent, x forwarded-for)Http2(http2.0,g rpc,cookie,session,idempotent, x forwarded-for)
Http2(http2.0,g rpc,cookie,session,idempotent, x forwarded-for)진태 이
 
Websocket.. whit http, tcp
Websocket.. whit http, tcpWebsocket.. whit http, tcp
Websocket.. whit http, tcpdana238767
 
한국청소년정보과학회 1회 세미나 - RestFul API Basic
한국청소년정보과학회 1회 세미나 - RestFul API Basic한국청소년정보과학회 1회 세미나 - RestFul API Basic
한국청소년정보과학회 1회 세미나 - RestFul API Basic한국청소년정보과학회
 
Html5 kig 120315_res_tful_api
Html5 kig 120315_res_tful_apiHtml5 kig 120315_res_tful_api
Html5 kig 120315_res_tful_apiSeiyon Lee
 
HeadFisrt Servlet&JSP Chapter 1
HeadFisrt Servlet&JSP Chapter 1HeadFisrt Servlet&JSP Chapter 1
HeadFisrt Servlet&JSP Chapter 1J B
 
Servlet&jsp 1장
Servlet&jsp 1장Servlet&jsp 1장
Servlet&jsp 1장JeongBong Kim
 
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)DK Lee
 

Similaire à Chap8 - HTTP 완벽가이드 8장 (20)

HTTP가 가지는 특징에는 무엇이 있을까.pdf
HTTP가 가지는 특징에는 무엇이 있을까.pdfHTTP가 가지는 특징에는 무엇이 있을까.pdf
HTTP가 가지는 특징에는 무엇이 있을까.pdf
 
HTTP 완벽가이드 : 1-1 http 개관
 HTTP 완벽가이드 : 1-1 http 개관 HTTP 완벽가이드 : 1-1 http 개관
HTTP 완벽가이드 : 1-1 http 개관
 
ASP.NET Web API를 활용한 RESTful 서비스 개발
ASP.NET Web API를 활용한 RESTful 서비스 개발ASP.NET Web API를 활용한 RESTful 서비스 개발
ASP.NET Web API를 활용한 RESTful 서비스 개발
 
서버성능개선 류우림
서버성능개선 류우림서버성능개선 류우림
서버성능개선 류우림
 
Websocket
WebsocketWebsocket
Websocket
 
웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술
 
Apache http component
Apache http componentApache http component
Apache http component
 
[Network] Data Transfer History
[Network] Data Transfer History[Network] Data Transfer History
[Network] Data Transfer History
 
파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄 파이썬 웹 프로그래밍 2탄
파이썬 웹 프로그래밍 2탄
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)
 
[D2 CAMPUS]웹 개발자의 스펙 : HTTP
[D2 CAMPUS]웹 개발자의 스펙 : HTTP[D2 CAMPUS]웹 개발자의 스펙 : HTTP
[D2 CAMPUS]웹 개발자의 스펙 : HTTP
 
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
 
Http2(http2.0,g rpc,cookie,session,idempotent, x forwarded-for)
Http2(http2.0,g rpc,cookie,session,idempotent, x forwarded-for)Http2(http2.0,g rpc,cookie,session,idempotent, x forwarded-for)
Http2(http2.0,g rpc,cookie,session,idempotent, x forwarded-for)
 
Websocket.. whit http, tcp
Websocket.. whit http, tcpWebsocket.. whit http, tcp
Websocket.. whit http, tcp
 
한국청소년정보과학회 1회 세미나 - RestFul API Basic
한국청소년정보과학회 1회 세미나 - RestFul API Basic한국청소년정보과학회 1회 세미나 - RestFul API Basic
한국청소년정보과학회 1회 세미나 - RestFul API Basic
 
Html5 kig 120315_res_tful_api
Html5 kig 120315_res_tful_apiHtml5 kig 120315_res_tful_api
Html5 kig 120315_res_tful_api
 
HeadFisrt Servlet&JSP Chapter 1
HeadFisrt Servlet&JSP Chapter 1HeadFisrt Servlet&JSP Chapter 1
HeadFisrt Servlet&JSP Chapter 1
 
Servlet&jsp 1장
Servlet&jsp 1장Servlet&jsp 1장
Servlet&jsp 1장
 
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
자바 웹 개발 시작하기 (2주차 : 인터넷과 웹 어플리케이션의 이해)
 
L4교육자료
L4교육자료L4교육자료
L4교육자료
 

Dernier

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 

Dernier (8)

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 

Chap8 - HTTP 완벽가이드 8장

  • 2.  게이트웨이: 프로토콜 <-> 애플리케이션간 HTTP 인터페이스  애플리케이션 인터페이스: 서로 다른 웹 애플리케 이션이 통신하는데 사용  터널: HTTP커넥션으로 wrapping한 HTTP가 아닌 트래픽 전송에 사용  릴레이: hop by hop에 단순 HTTP 프락시 Integration Points
  • 5. 8.1.1 클라이언트 측 게이트웨이 와 서버 측 게이트웨이  HTTP  게이트웨이  NNTP(Network News Transfer Protocol, 유즈넷)  HTTP/NNTP  게이트웨이는 HTTP/NNTP와 같이 ‘/’로 구분
  • 6. 8.2 프로토콜 게이트웨이  HTTP/FTP HTTP(80) 접속 프로토콜 게이트웨이 (reverse proxy) FTP 접속
  • 8. 8.2.1 HTTP/*: 서버 측 웹 게이 트웨이  HTTP/*: 서버 측 웹 게이트웨이는 FTP에 커넥션을 맺어서 받은 객체를 HTTP응답에 실어서 클라이언 트에 전송  리버스 프록시와 다른건?  HTTP/FTP 게이트웨이는 직접 21번에 붙음  리버스 프록시는 8080에 붙음
  • 9. 8.2.1 HTTP/*: 서버 측 웹 게이 트웨이
  • 10. 8.2.2 HTTP/HTTPS: 서버 측 보 안 게이트웨이
  • 11. 8.2.3 HTTPS/HTTP: 클라이언트 측 가속 게이트웨이
  • 12. HTTP/HTTPS vs HTTPS/HTTP  HTTP/HTTPS • 게이트웨이로의 인바운드 패킷 안전을 보장하 지 못함  HTTPS/HTTP • 게이트웨이에 “보안 트래픽 복호화 암호화 하 드웨어 내장” • 그래서 원서버의 부하를 줄여줌 • 때문에 HTTPS/HTTP는 보안 가속 게이트웨이 로 부름
  • 13. 8.3 리소스 게이트웨이  게이트웨이의 가장 일반적인 형태인 애플리케이션 서버  클라이언트 <-> WAS <-> 애플리케이션  최초의 공용API = CGI
  • 16. 8.3.1 공용 게이트웨이 인터페이 스(CGI)  2장  http://www.joes- hardware.com/inventorycheck.cgi?item=12731 &color=blue  웹서버 뒤에 있는 Database에 query를 함
  • 17. 8.3.1 공용 게이트웨이 인터페이 스(CGI)  CGI요청마다 프로세스를 만들면 너무 느림  FastCGI 개발되어서 데몬으로 모두 처리 • CGI요청은 데몬이 모두 처리하고 각 프로세스 를 생성 • 각 프로세스가 socket, tcp로 요청 데이터 처리 • 즉, FastCGI는 I/O 다중화와 데몬이 요청을 모 두 처리하는 방식
  • 18. 8.3.2 서버 확장 API  서버 자체의 동작을 바꾸거나  서버의 처리능력을 높이고 싶을땐?  HTTP와 직접 연결 가능한 서버 확장 API 사용  REST  OPEN API  webdav
  • 19. 8.4 애플리케이션 인터페이스와 웹 서비스  HTTP가 애플리케이션을 연결하는 도구로 활용  웹 서비스는 HTTP 위에서 애플리케이션이 정보를 공유하는데 사용하는 새로운 메커니즘  XML -> JSON  SOAP -> REST
  • 20. 8.5 터널  웹 터널은 HTTP 프로토콜을 지원하지 않는 애플 리케이션에 HTTP 애플리케이션을 사용해 접근하 는 방법을 제공  HTTP 커넥션으로 HTTP가 아닌 트래픽 전송  HTTP 위에 다른 프로토콜을 올림
  • 21. 8.5 터널  웹 터널은 HTTP 프로토콜을 지원하지 않는 애플 리케이션에 HTTP 애플리케이션을 사용해 접근하 는 방법을 제공  HTTP 커넥션으로 HTTP가 아닌 트래픽 전송  HTTP 위에 다른 프로토콜을 올림
  • 22. 8.5.1 CONNECT로 HTTP 터널 커넥션 맺기  CONNECT 메서드 사용해서 TCP커넥션을 맺음  요청 CONNECT home.netscape.com:443 HTTP/1.0 User-agent: Mozilla/4.0  응답 HTTP/1.0 200 Connection Established Proxy-agent: Netscape-Proxy/1.1
  • 23. 8.5.1 CONNECT로 HTTP 터널 커넥션 맺기
  • 25. 8.5.3 SSL 터널링  방화벽이 SSL은 튕겨냄  HTTP만 허용  HTTP터널로 SSL트래픽을 전송  하지만 사용자가 SSL터널을 통해 내부로 악의적인 트래픽이 유입될 수 있음
  • 27. 8.5.4 SSL 터널링 vs HTTP/HTTPS 게이트웨이  HTTP/HTTPS • 클라이언트<->게이트웨이는 HTTP커넥션이라 보안성이 없음 • 프락시가 인증을 담당하기 때문에 클라이언트 는 원격 서버에 SSL 클라이언트 인증(X509)을 할 수 없다 -> 부인방지를 보장 안함. • 게이트웨이는 SSL을 완벽히 지원해야 한다.  SSL터널링 • SSL터널링은 프락시에 SSL 구현X
  • 28. 8.5.5 터널 인증  CONNECT과정에서 TCP커넥션전에 인증요구를 받 아서 Proxy-authorization으로 인증정보를 받음
  • 29. 8.5.6 터널 보안에 대한 고려사항  VPN  프록시  SSH터널링  잘 알려진 포트만 인바운드 허용
  • 30. 8.6 릴레이  IRC Relay • Glowing Bear  Connection: Keep-Alive 헤더를 해석 못하는 멍청 한 프락시때문에 hang 상태가 될 수 있음

Notes de l'éditeur

  1. 보통의 웹의 형태 클라이언트가 서버에 접속 서버는 gateway를 통해서 db에서 리소스를 가져옴
  2. HTTP <-> FTP HTTPS <->웹서버 HTTP<->nginx<->WAS(CGI, API)
  3. 요청당 이렇게 각각의 프로세스를 생성함 cost 높음
  4. (게이트웨이는 보이지 않기 때문에 URL만 보고 확신할 수 없음)
  5. 여기서 게이트웨이는 브라우저가 되는듯? 그러니 SSL이 가능하겠지? 그러니 클라가 SSL보내고받아도 통신이 되겠지 브라우저 인증서가 있어야지. http://nulltop.tistory.com/entry/Proxy-%EA%B4%80%EB%A0%A8-%EC%9D%B4%EB%B2%A4%ED%8A%B8-%EB%B6%84%EC%84%9D CONNECT mx0.mail2000.com.tw:25 게이트웨이(엔진엑스) 뒤에 메일서버로 붙도록 요청하는거 그럼 클라는 리버스프록시에 요청하니까 백엔드의 존재를 확인가능 그래서 저렇게 포트번호르 ㄹ적어줌 SSL터널링: http://docs.oracle.com/cd/E19438-01/820-0862/adyeg/index.html
  6. Ssh터널링 http://nyjin.tistory.com/3 http://www.hanbit.co.kr/network/view.html?bi_id=547 http://neoray.tistory.com/346#.VvNBWuKLSUl
  7. 22/443만 인바운드가 허용된 사내망을 외부에서 접속하기 위해서 사내SSH를 예를들어 5900VNC에 터널링 해놓고(포트포워딩과 같음) 사용하는것. 그럼 일단 프록시는 거치는거니까 http패킷을 패스하고 게이트웨이는 프로토콜을 변환하는거니까 패스하고 그럼 포트포워딩과의 차이점은? 그럼 putty의 SSH의 tunnels의 src/dst가 있긴한데... 흠. SSH client(putty)-> tunnel -> ssh server(사내SSH서버)-> remoteserver(the other serveice, ex; VNC) 프록시는 모든 인/아웃바운드 대체고 걍 포트를 NAT보통 내부적으로 돌리는거고 포트포워딩=터널링은 특정포트/프로토콜 대체라고 보면될까 wrapping을 함. 즉, PDU(Protocol Data Unit)을 캡슐화함! PPTP처럼 TCP/IP패킷 내에 삽입함 like VPN L2TP PPTP SSTP 그니까 VPN은 걍 통신인데 이걸 SSH터널링을 해서 사용하면 암호화되어서 VPN패킷이 전송되니까 안전해짐!
  8. 22/443만 인바운드가 허용된 사내망을 외부에서 접속하기 위해서 사내SSH를 예를들어 5900VNC에 터널링 해놓고(포트포워딩과 같음) 사용하는것. 그럼 일단 프록시는 거치는거니까 http패킷을 패스하고 게이트웨이는 프로토콜을 변환하는거니까 패스하고 그럼 포트포워딩과의 차이점은? 그럼 putty의 SSH의 tunnels의 src/dst가 있긴한데... 흠. SSH client(putty)-> tunnel -> ssh server(사내SSH서버)-> remoteserver(the other serveice, ex; VNC) 프록시는 모든 인/아웃바운드 대체고 걍 포트를 NAT보통 내부적으로 돌리는거고 포트포워딩=터널링은 특정포트/프로토콜 대체라고 보면될까 wrapping을 함. 즉, PDU(Protocol Data Unit)을 캡슐화함! PPTP처럼 TCP/IP패킷 내에 삽입함 like VPN L2TP PPTP SSTP 그니까 VPN은 걍 통신인데 이걸 SSH터널링을 해서 사용하면 암호화되어서 VPN패킷이 전송되니까 안전해짐!
  9. SSL터널링은 프락시가 트랜잭션에 관여하지않고 그대로 터널링(포워딩) 해줌
  10. ?? Open api rest json XML 확장api fpsm 터널과 프록시의 차이점? 프록시는 오픈되어 잇는 반면 터널은 게이트웨이까지 말그대로 터널이 뚫려 있다. 그 터널로만 양방향 전송이 된다. 게이트웨이를 통한 서버와 양방향 통신