인프런 커뮤니티 질문&답변
proxy: 0초 강의 질문 http 메세지가 프록시를 거치면 조립이 일어나는지 질문
작성
·
339
·
수정됨
0
https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/X-Forwarded-For
mdn 문서에 따르면 http 헤더 중 x-fowarded-for 헤더는
최초 client와 거쳐오는 프록시 서버의 ip를 기록하는 역할을 하고있습니다.
그렇다면 프록시에서 http 메세지의 내용을 수정한다는 이야기가 됩니다.
그렇다면 프록시에서 프레임을 모으고 패킷을 꺼내서 패킷을 조립한다는 일이 일어나는 것인가요?
만약 그렇다면 프록시 서버를 두고 http 메세지의 내용을 해석하는 일을 하면
여기에서 나오는 오버헤드는 피할수없는을텐데 이렇게 구현해놓을리가 없을텐데 하는 생각이 드는데
어떻게 되는지 궁금합니다.
답변 2
0
안녕하세요 강사님, 해당 질문의 문답을 보고 궁금한점이 있습니다.
프록시 서버가 최종 목적지 서버로 요청을 전달할 때 X-Forwarded-For 헤더에 클라이언트의 실제 IP를 추가하는 것이 강제되는 건지, 아니면 프록시 서버 운영자의 선택에 따라 결정되는 건지 궁금합니다.
만약 선택적이라면, 클라이언트 입장에서는 자신이 사용하는 프록시 서버가 실제 IP를 목적지 서버에 노출시키는지 아닌지를 알 방법이 있는지도 여쭤보고 싶습니다. 클라이언트는 프록시를 통해 IP가 숨겨진다고 생각할 수 있지만, 실제로는 프록시 서버의 설정에 따라 IP가 노출될 수 있는건가요?
0
Proxy는 User mode process 입니다. 당연히 소켓 통신을 합니다. 패킷을 조립하고 스트림 데이터를 추출하는 일은 Proxy 프로세스가 실행 중인 OS에서 이루어집니다. 즉, 조립 다 해서 Proxy에게 넘겨준다는 말입니다. 이 과정에서 오버헤드는 당연히 발생합니다. 무엇보다 이렇게 구현하는 것은 매우 당연한 것입니다. 그리고 생각하는 오버헤드는 그리 크지 않습니다. 참고하시기 바랍니다.





