Proxy

developer_jennifer·2023년 5월 24일
0

크래프톤 정글

목록 보기
13/29

proxy server

  • proxy server란?

    프록시 서버는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용프로그램을 말한다.

  • 캐시
  • 서버와 클라이언트 사이에 대리로 통신을 수행하는 것 : 프록시
  • 대리로 통신을 수행하는 기능을 하는 것 : 프록시 서버
  • 빠른 기억장치에 느린 기억장치의 내용 중 최근에 사용한 일부를 넣어두는 것 : 캐시

💡 프록시 서버의 주요 특징

  • pc와 외부 인터넷 사이의 징검다리 역할
  • 중계를 해주므로 외부 인터넷에서는 client의 정보를 알 수 있음
  • 시스템에 방화벽을 가지고 있는 경우 외부와의 통신을 위해 만들어 놓은 서버
  • 프록시 서버는 보안 상의 목적으로 설치되는 경우가 많으나, 단순히 보안상의 이유만으로 설치 되는 것은 아니다.
  • 프록시 서버의 목적
    • 보안 : 익병의 사용자가 서버에 접근하는 것을 막음
    • 속도 : Proxy 서버는 사용자의 요청을 Cache해서 동일 요청이 들어오면 Cache 자원을 반환, 서비스의 속도를 높여줌
    • ACL(access control list) : 사이트 접근에 대한 접근 정책을 정의함

🤔 프록시 서버가 필요한 이유

  1. 보안
  • 프록시 서버를 거치게 되면 다른 익명의 사용자는 서버의 위치를 알아내기 쉽지 않다. 즉 서버 IP를 숨기는 것이 가능하고, 외부로부터 위험을 막아주는 역할을 한다.
  1. 캐시
  • 바로 이전에 했던 요청들을 저장(캐시)해두어 재요청을 보낼 때 서버를 거치지 않고 데이터를 주고 받을 수 있어 속도가 더 빨라진다.
  1. 우회
  • IP주소를 감출 수가 있기 때문에 어느 곳에서 접속한지 숨길 수 있다. 따라서 IP를 통해 접속을 감지하는 사이트를 프록시 서버를 통해 우회할 수 있다.

🖥 프록시 서버의 종류

1. Forward Proxy
보안을 위해 사용되는 방식으로, 클라이언트에서 요청할 때 직접 요청하는 것이 아닌 프록시 서버를 거치는 방식이 포워드 프록시 이다.

2. Reverse Proxy
서버에서 클라이언트 직접 데이터를 전달하지 않고 프록시 서버를 거치는 방식이 리버스 프록시 이다.

Part I: Implementing a sequential web proxy

  • 프록시를 구성하여 들어오는 연결을 수락하고, 요청을 읽고 구문을 분석한다.
  • 웹 서버에 요청을 전달하고 서버의 응답을 읽고 해당 클라이언트에 응답을 전달한다.

✨목적 : HTTP 동작 및 소켓을 사용하여 네트워크 연결을 통신하는 프로그램을 작성하는 방법을 배운다.

Part II: Dealing with multiple concurrent requests

  • 순차적 프록시가 작동 중이면 여러 요청을 동시에 처리하도록 프록시를 변경

✨목적 : 동시성 처리에 대한 이해를 높이며, 시스템에서 중요한 개념 중 하나인 동시성을 다루는 방법을 배운다.

Part III: Caching web objects

  • 최근 액세스한 웹 콘텐츠의 간단한 메모리 캐시를 사용하여 프록시에 캐싱을 추가

ref) proxy 서버란?

profile
블로그 이전합니다 -> https://heekyoung2000.tistory.com/

0개의 댓글

관련 채용 정보