개발 무지렁이

[Essential Concepts] HTTP와CGI, FastCGI, 서블릿 본문

Backend/백엔드 필수개념

[Essential Concepts] HTTP와CGI, FastCGI, 서블릿

Gaejirang-e 2022. 11. 26. 11:51

웹 어플리케이션은 통신 + 웹서비스 로직으로 구성된다




브라우저와 서버 간 데이터 전송을 위한 통신규약을 'HTTP'라고 한다
(Hypertext Transfer Protocol)

서버와 서드 파티(우리가 짠 로직) 간 데이터 전송을 위한 통신규약을 'CGI'라고 한다
(Common Gateway Interface)
(PHP는 언어차원에서 CGI에 맞춰져 있다)

CGI의 단점과 FastCGI


매 작업마다 PHP(C / Java / Node)를 껐다 켰다 해야된다
(매 작업마다 알바를 뽑고 일 시킨 후 해고한다)

FastCGI

🏖️ 쓰레드 Pool 이용
Pool에 php프로세스(알바🤵)를 미리 실행시켜(뽑아) 놓는다.
요청이 들어올때마다 php프로세스(알바🤵)에 토스한다
작업이 끝나면 잠들게 한다(해고x)
요청이 많이 들어온다 싶으면 php프로세스(알바🤵)를 더 실행시켜(뽑아) 놓는다

서블릿

CGI 강화판 (Java version.)
Pool 개념이 녹아있다.
Comments