Proxy Server, 프록시 서버

Yerim·2023년 7월 29일
0

HTTP 완벽 가이드

목록 보기
3/3

HTTP 완벽가이드 공부 내용 중 정리하고 싶은 내용 기록

프락시

프락시 서버는 웹 서버이기도 하고 웹 클라이언트이기도 하다

게이트웨이와 프락시

  • 프락시
    • 같은 프로토콜을 사용하는 둘 이상의 애플리케이션 연결
  • 게이트웨이
    • 서로 다른 프로토콜을 사용하는 둘 이상을 연결
  • 프락시는 약간의 프로토콜 변환을 하기도함
    • 프로토콜 게이트웨이로 동작

ISP

  • Internet Service Provider
    • 인터넷에 접속하는 수단을 제공하는 주체
    • ex. KT, LG

Forward Proxy & Reverse Proxy

  • Forward Proxy

    • 일반적으로 우리가 이야기하는 프록시
    • 클라이언트가 서버로 요청할 때 직접 요청하지 않고 프록시 서버를 통해 요청하는 방식
    • 서버가 응답받은 IP는 프록시 서버의 IP → 클라이언트가 누군지 알 수 없음
    • 인터넷보다 프록시를 먼저 호출하게 되면 forward proxy
  • Reverse Proxy

    • 클라이언트가 서버를 호출할 때 리버스 프록시 호출, 프록시 서버가 서버에게 요청하여 받은 응답을 클라이언트에게 전달
    • 서버가 누구인지 감추는 역할
    • 클라이언트는 리버스 프록시 서버를 먼저 호출, 실제 서버의 IP를 알 수 없음

Intercept Proxy

  • 네트워크 트래픽을 가로채서 모니터링하거나 조작하는 프록시 서버
  • 부분 URI를 받는다

Proxy URI & Server URI

  • 웹 서버로 요청을 보낼 때 부분 URI
GET /index.html HTTP/1.0
User-Agent: SuperBrowserv1.3
  • 프락시로 요청을 보낼 때 완전한 URI
GET http://www.test.com/index.html HTTP/1.0
User-Agent: SuperBrowserv1.3
  • 가상으로 호스팅 되는 웹 서버
    • 여러 가이트가 같은 물리적 웹 서버 공유
    • 부분 URI로 오면 그 요청이 접근하고자 하는 웹 사이트의 호스트 명을 알 필요가 있음
    • Host 헤더 요구

OPTIONS & ALLOW

  • preflight

    • 웹 브라우저가 요청을 보내기 전에 사전 요청을 보내는 것
    • 서버가 요청을 처리할 수 있는지 확인하기 위한 추가 요청
    • CORS 요청을 보낼 때 사용
  • OPTIONS

    • 서버가 브라우저와 통신하기 위한 옵션을 확인하기 위해 사용
    • 서버가 어떤 Method, Header, Content-Type을 지원하는지 알 수 있음
  • ALLOW

    • 서버가 허용한 HTTP method를 담아서 전송

      HTTP/1.1 200 OK
      Allow: GET, POST
profile
Backend-Developer

1개의 댓글

comment-user-thumbnail
2023년 7월 29일

유익한 글이었습니다.

답글 달기