
236
HTTP
2
부 HTTP 아키텍처
형이든 처리해내는 단순한 기능을 제공한다. 인터페이스는 문제가 많은 확장으로
부터 서버를 보호한다는 점에서 훌륭하다고 할 수 있다(만약 그 문제가 있는 확장
이 서버 자체에 들어가면, 에러를 발생시키고 서버를 뻗게 할 것이다).
하지만 이런 분리 때문에 성능 관련한 비용이 발생했다. 모든 CGI 요청마다 새로
운 프로세스를 만드는 데 따르는 부하가 꽤 크고, CGI를 사용하는 서버의 성능을
제한하며 서버 장비에 부담을 준다. 이 문제를 피하고자 새로운 CGI 형식인, 그 이
름도 적절한 Fast CGI가 개발되었다. 이 인터페이스는 CGI와 유사하지만, 데몬으
로 동작함으로써 요청마다 새로운 프로세스를 만들고 제거하면서 생기는 성능 저
하 문제를 해결하였다.
8.3.2
서버 확장
API
CGI 프로토콜은 구동 중인 HTTP 서버에 외부 인터프리터가 쉽게 접속할 수 있게
는 해주지만, 서버 자체의 동작을 바꾸고 싶거나 서버의 처리능력을 최고치로 끌어
올리고자 할 때는 어떻게 해야 할까
?
이러한 두 가지 필요 때문에, 서버 개발자는
웹 개발자가 자신의 모듈을 HTTP와 직접 연결할 수 있는 강력한 인터페이스인 서
버 확장 API를 제공하였다. 확장 API는 프로그래머가 자신의 코드를 서버에 연결하
거나 서버의 컴포넌트를 자신이