본문 바로가기
끝나지 않는 개발스터디

socket study-4

by 행복한집사 2024. 2. 21.

CGI란?

  • 웹 서버와 외부 프로그램 사이의 표준 인터페이스
  • 초기에 사용자에게 동적 웹 페이지를 보여주기 위한 방식을 표준화 함
  • 예시>
    • 브라우저에서 보낸 요청을 웹 서버가 CGI 인터페이스를 통해 CGI 프로그램에 전달
    • CGI 프로그램은 DB와 통신하여 동적인 페이지 생성
    • 생성한 동적 페이지 웹 서버를 통해 브라우저에 전달


FAST-CGI란?

  • CGI의 확장된 버전으로 기존 CGI 프로토콜의 단점을 개선하기 위해 나온 것
  • CGI의 단점: 요청할 때마다 프로세스 생성하여 서버에 부하
  • FAST-CGI는 요청마다 프로세스 생성하지 않고 1개의 큰 프로세스를 생성해서 여러 요청 처리
  • Nginx, Apache 등에서도 FAST-CGI 기능을 제공하고 있음

 

Reverse Proxy 란?

  • 클라이언트와 서버 사이에 위치하는 중간 서버 역할을 하는 네트워크 기기 또는 서비스
  • 위치: 인터넷과 서버 사이
  • 네트워크 기기/서비스 예시
    • Nginx(Reverse proxy 기능)
    • Apache HTTP Server(Reverse proxy 기능)
    • HAProxy: 소프트웨어 로드 밸런서
  • 기능 예시
    • 웹서버 IP 노출시키지 않고 Proxy 서버 IP만 노출 가능
    • 로드밸런싱
    • SSL Offloading: SSL 처리(SSL 암복호화 등)를 서버가 아닌 다른 네트워크 장비가 처리하는 것을 의미



cf) Foward Proxy란

  • 클라이언트와 인터넷 사이 위치
  • 내부망에서 외부망으로 나가기 전 Foward proxy를 거치게 됨
  • 기능 예시
    • 기업 환경에서 회사 직원들이 업무와 관련 없는 웹 사이트 접속하는 것을 방지 또는 모니터링 가능


mod_jk란

  • 아파치 HTTP 서버(Apache HTTP Server)와 톰캣(Tomcat)과 같은 자바 컨테이너 사이의 연결을 도와주는 플러그인
  • AJP(Apache JServ Protocol)을 사용하여 아파치 서버와 톰캣 간에 통신(HTTP 프로토콜보다 가볍고 효율적인 바이너리 기반 프로토콜)
  • 기능 예시
    • 로드밸런싱
    • 장애복구(서버 장애시 다른 서버로 자동 전환 가능)




참고: https://en.wikipedia.org/wiki/Common_Gateway_Interface
https://lee-jua.github.io/posts/CGI-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EB%A7%9B%EB%B3%B4%EA%B8%B0/
https://server-talk.tistory.com/308
https://en.wikipedia.org/wiki/Reverse_proxy

https://noobnim.tistory.com/26

'끝나지 않는 개발스터디' 카테고리의 다른 글

압축(손실압축, 비손실 압축)  (0) 2024.02.25
Fork 포크  (0) 2024.02.22
socket study-3  (0) 2024.02.17
socket study-2  (0) 2024.02.14
Socket server/client 과제 1  (0) 2024.02.11

댓글