프록시를 공부하다가 보면 너무나도 자주 보는 단어들이다.
우선 Proxy 에 대해서 알아보도록 하자
Network Proxy
프록시를 검색해보면 이런 의미라고 나온다.


즉, 대신 일을 처리하는 서버라고 할 수 있다.
Client -- Server 를 중계하는 서버로 , 통신을 중계-대리 수행하는 서버라고 할 수 있다.
캐시 및 보안등의 역할 또한 수행이 가능하다.
Forward Proxy
포워드 프록시는 클라이언트가 인터넷으로 직접 접근하는 것이 아닌
프록시 서버가 요청을 받고 인터넷에 연결하고 또한 결과를 전달하는 역할을 한다.


클라이언트A가 "ㄱ"이라는 요청을 받고 이후 응답을 받을 때. 포워드 프록시에서는 이 응답을 캐싱해둔다.
이후
클라이언트B가 "ㄱ"이라는 요청을 주었을 때 포워드 프록시는 이를 이미 알고 있기 때문에 바로 보내줄 수 있게 된다.
의문점이 드는 것은 이 캐싱된 데이터가 낡은 데이터면 어떻게 하지 하는 부분이라서 한번 찾아 보았다. >>>
캐시 설정
- no-cache 강제 재검증
- no-store 캐싱을 하지 않음
캐시의 종류
- Browser 에서 사용하는 private Cache
- Proxy에서 사용하는 Shared Cache
- Reverse Proxy 에서 사용하는 Shared Cache(Managed)
캐시 세부 설정
- must-revalidate
만료된 캐시만 서버에 확인을 받도록 함.
- max -age
캐시 유효시간, 즉 리소스가 유효하다고 판단되는 최대 시간.
초 단위이며 해당 시간이 지나면 만료된 것으로 여겨짐.
- - - Age -> max-age 의 흘러간 초단위를 말함
- Expires
Expires라는 헤더를 지정하여 응답 컨텐츠 만료 시간을 나타낼 수 있다.

클라이언트A가 요청을 보내도 인터넷 - 서버에서는 프록시가 보낸 요청으로 받는다 이는
IP의 익명성을 보장해준다.
Reverse Proxy

forward Proxy의 캐싱과 비슷하다고 볼 수 있다.
서버정보를 클라이언트로부터 숨길 수 있다는 장점을 가지고 있다.

이렇게 Client입장에서의 Server는 Forward Proxy이다.
즉, 실제 서버의 IP가 노출되지 않는다.
Forward 에서는 Client의 IP가 노출되지 않는다고 하면
Reverse 에서는 Server의 IP가 노출되지 않는다.
로드 밸런싱을 익히 알지만 당연히 선택적인 부분이다.
다양한 알고리즘을 통해서 Reverse Proxy는

서버에 전달을 하게 된다.
| Apache vs Nginx 개념 설명 (0) | 2022.10.26 |
|---|
댓글 영역