Q. HTTP/HTTPS 게이트웨이 : 서버측 보안용도 : 서버측 게이트웨이에 들어가기 전 까지는 보안이 안 되는 것은 아닐까? : 어떤 보안에 힘을 쓰려는걸까?
내부망을 HTTPS로 강제하는 것은 도대체 무슨 의미가 있는 걸까? 아무리 찾아도 이해가 안된다.
책 후반부에 보면 SSL 터널링에 대해 나오는데 이 경우 비슷한 용도인 것 같다. HTTP 위에 HTTPS 메시지를 올려 통신하지만 HTTP/HTTPS 게이트웨이에 비해 클라이언트와 원서버가 직접 SSL 커넥션을 이룰 수 있어 좋다는 내용.
그렇다면 HTTP/HTTPS 게이트웨이의 경우에도 80번 포트만 허용하는 리버스프록시(게이트웨이) 에 통신하되 내부적으로는 SSL 처리를 하는 것일까?
Q. 리소스 게이트웨이, CGI, WAS, 웹서버 등 용어가 혼동되는 것 같다. 헷갈린다.
웹서버
nginx 등 정적으로 정해진 프로그램을 직접 실행한다.
WAS
tomcat 등 동적으로 프로그램을 찾아 실행한다. 웹 서버에 어플리케이션(동적으로 돌아가게)이 같이 돌아가는 형태.
CGI
동적인 웹 서비스를 위한 표준. 이를 구현한 것이 WAS. 고로, CGI + 웹서버 = WAS
리소스 게이트웨이
http 요청을 받으면 특정 어플리케이션, 프로토콜을 통해 리소스를 받아오는 게이트웨이 고로, WAS, 웹서버 모두 리소스 게이트웨이에 해당한다.
Q. 데몬 프로세스가 뭘까? 안쓰면 CGI가 느려지는 이유?
데몬 프로세스
쉽게 말해 백그라운드 프로세스의 일종.
CGI 프로세스
CGI가 작동하는 프로세스는 다음과 같다.
request를 받으면
CGI 프로세스가 생성되고
메모리를 로딩하고
로직을 처리하고
종료한다.
Fast CGI
CGI의 경우 요청이 정해져있는 경우가 많아 비슷하게 쓰이는 자원이 많다. 하나의 요청에 대해 생성과 종료가 이루어지는 것은 불필요한 낭비. 하나의 프로세스가 여러 요청을 여러 쓰레드에 담당시켜 처리할 수 있도록 한다. 메모리를 공유하게 되므로 명령이 절약되어 처리속도가 빨라진다.