Published 2022. 7. 10. 00:17
반응형

성능 최적화를 위한 중요 구성요소인 프락시 서버와 웹 캐시에 대해서 알아보도록 합시다 

 

먼저 프락시 입니다 

프록시라고도 부르죠 ㅎㅎ 

프락시는 서버와 클라이언트 사이에 위치해 있다고 생각하는게 맞습니다 

클라이언트의 모든 http 요청을 받아서 서버에 전달 하는 임무를 맡는것이지요 

프락시를 사용하지 않으면 사용자가 바로 서버에 요청을 할 것인데 

프락시 서버를 사용하면 바로 바로 서버로 요청하지 않고 프락시 서버를 요청하게 되는것입니다

 

그럼 왜 프락시를 써야 하나 궁굼하실 텐데요 

프락시는 보안을 위해 주로 사용되는 것입니다 

모든 트래픽의 흐름에서 중개자 역할을 하는것입니다 그리고 프락시의 가장 중요한 역할중 하나는 

클라이언트 즉 사용자가 서버에 요청을 하고 서버가 그 요청을 받아 응답하는 것을 받아 

필터링 합니다 이게 가장 중요하다고 볼 수 있습니다 

사용자가 불건전한 메시지를 서버에게 요청 했다던지 아니면 웹 서버를 해킹 해보고자 하는 의도를 가진 

요청을 보냈을때 프락시가 중간에서 필터링한 후 서버에 요청을 전달하지 않고 튕겨 낼 수 있다는 의미입니다

 

그리고 제가 gis 시스템을 하면서도 프락시를 쓴적이 있습니다 

 

그 이유는 

geoserver에 지도 데이터를 요청 할 때에 웹서버가 A geoserver가 B 라고 한다라면 

B의 입장에서는 A가 클라이언트 입니다 무언가를 A에서 요청 했기 때문이죠 그런데 

크로스 도메인(CORS) 때문에 요청이 제대로 되질 않습니다 그 때 프락시를 사용해서 처리했던 경험이 있습니다 

그리고 한번 구현해 놓기만 하면 어디서든 잘 써먹을 수 있어서 좋은 기억이 있습니다 ㅎㅎ 

 

그리고 두번째로 캐시 입니다 

아 정확하게는 웹 캐시네요 

이 캐시는 왜 사용할까요 음 예를 들어봅시다 

여러분들이 컴퓨터를 사용할때 자주 실행하는 프로그램들을 바탕화면이나 작업표시줄에 아이콘을 고정해놓고 쓰시죠?

근데 이 아이콘은 사실 바로가기 일뿐이잖아요 ??ㅎㅎ 만약에 이 바로가기가 없다면 C드라이브 들어가서 프로그램 파일

들어가서 해당 프로그램 폴더 찾고 그 폴더안에 실행 프로그램을 찾아야 할 것입니다 

근데 그 불편함을 줄이고자 사용자의 편의성을 생각해서 바로가기 아이콘을 만든것이죠 ?

왜냐하면 자주 쓰이는 것이기도 하고 불편하니까요 ! 내가 이 프로그램 하나 실행시키려고 이 폴더를 매일같이 찾아가야 

하나... 

이런 귀차니즘이 생길것 아닙니까 ㅎㅎ 그리고 낭비죠 

이러한 이유가 마찬가지로 웹 캐시는 자주 사용하는 것의 사본을 저장해놓습니다 

사용자들이 자주찾는 데이터들의 사본을 만들어놓고 같은 요청이 오면 굳이 서버까지 가서 요청하지 않고 

캐시에서 처리합니다 ㅎㅎ 

요청이 들어올때마다 서버에 요청하면 서버도 부담을 느끼겠죠? 바로 그 이유입니다 

클라이언트와 멀리 떨어진 서버에다가 요청하는것보다 가까이에 있는 캐시를 사용하는 것이 상부 상조 입니다 ㅎㅎ 

 

오늘은 프락시와 캐시에 대해서 알아봤습니다 다음시간에는 게이트 웨이와 터널을 알아보도록 합시다 !

반응형

'Developer > Http' 카테고리의 다른 글

[http]URL을 설명해보시오  (0) 2022.07.10
복사했습니다!