(해석 또는 이해가 잘못된 부분이 있다면 댓글로 편하게 알려주세요.)
Proxy servers can do all kinds of nifty and useful things. They can improve security, enhance performance, and save money. And because proxy servers can see and touch all the passing HTTP traffic, proxies can monitor and modify the traffic to implement many useful value-added web services. Here are examples of just a few of the ways proxies can be used:
프록시 서버는 모든 종류의 훌륭하고 유용한 일을 할 수 있습니다.
보안을 개선하고, 성능을 향상시키고, 비용을 절약할 수 있습니다.
프록시 서버는 전달되는 모든 HTTP 트래픽에 간섭할 수 있으므로, 트래픽을 모니터링하고 수정하여 많은 유용한 부가가치 웹 서비스를 구현할 수 있습니다.
아래에 프록시가 유용하게 사용될 수 있는 몇 가지 예시가 있습니다.
Surrogate (Figure 6-7)
Proxies can masquerade as web servers. These so-called surrogates or reverse proxies receive real web server requests, but, unlike web servers, they may initiate communication with other servers to locate the requested content on demand.
Surrogates may be used to improve the performance of slow web servers for common content. In this configuration, the surrogates often are called server accelerators (Figure 6-7). Surrogates also can be used in conjunction with content-routing functionality to create distributed networks of on-demand replicated content.
Surrogate
프록시는 웹 서버인 척 가장할 수 있습니다.
소위 말하는 Surrogate 혹은 리버스 프록시는 실제 웹 서버 요청을 받지만, 웹 서버와 달리 필요할 때 요청 받은 콘텐츠를 찾기 위해 다른 서버와 통신을 시작할 수 있습니다.
Surrogate는 일반적인 콘텐츠를 느리게 전송하는 웹 서버의 성능을 향상시키는 데 활용할 수 있습니다.
이 구성에서 Surrogate는 보통 서버 가속기라고 불립니다. (Figure 6-7)
또한 Surrogate는 콘텐츠 라우팅 기능과 함께 사용되어 필요에 따라 복제된 콘텐츠의 분산 네트워크를 생성할 수 있습니다.
Content router (Figure 6-8)
Proxy servers can act as “content routers,” vectoring requests to particular web servers based on Internet traffic conditions and type of content.
Content routers also can be used to implement various service-level offerings. For example, content routers can forward requests to nearby replica caches if the user or content provider has paid for higher performance (Figure 6-8), or route HTTP requests through filtering proxies if the user has signed up for a filtering service. Many interesting services can be constructed using adaptive content-routing proxies.
Content Router
프록시 서버는 인터넷 트래픽 조건과 콘텐츠의 유형에 따라 요청을 특정 웹 서버에 벡터화하는 "콘텐츠 라우터" 역할을 수행할 수 있습니다.
(* 콘텐츠 라우팅 = 요청을 적절한 서버로 보내는 프로세스)
또한 콘텐츠 라우터는 서비스 계층의 여러 제공사항을 구현하는 데 사용될 수 있습니다.
예를 들어 콘텐츠 라우터는 유저나 콘텐츠 제공자가 더 높은 성능을 위해 비용을 지불한 경우(Figure 6-8) 요청을 주변의 복제 캐시에 포워딩할 수 있습니다.
혹은 유저가 필터링 서비스에 가입되어 있다면 필터링 프록시를 통해 HTTP 요청을 라우팅할 수 있습니다.
많은 흥미로운 서비스가 적응형 콘텐츠-라우팅 프록시를 사용하여 형성됩니다.
Transcoder (Figure 6-9)
Proxy servers can modify the body format of content before delivering it to clients. This transparent translation between data representations is called transcoding.*
Transcoding proxies can convert GIF images into JPEG images as they fly by, to reduce size. Images also can be shrunk and reduced in color intensity to be viewable on television sets. Likewise, text files can be compressed, and small text summaries of web pages can be generated for Internet-enabled pagers and smart phones. It’s even possible for proxies to convert documents into foreign languages on the fly!
Figure 6-9 shows a transcoding proxy that converts English text into Spanish text and also reformats HTML pages into simpler text that can displayed on the small screen of a mobile phone.
Transcoder
프록시 서버는 클라이언트에게 콘텐츠를 전송하기 전 본문 포맷을 수정할 수 있습니다.
이와 같은 데이터 표현간의 투명한 번역을 Transcoding이라고 합니다.
Transcoding 프록시는 GIF 이미지를 JPEG 이미지로 변환하여 크기를 줄일 수 있습니다.
또한 이미지는 텔레비전 세트에서 볼 수 있도록 색채 강도가 줄어들고 감소할 수 있습니다.
마찬가지로 텍스트 파일이 압축될 수 있고, 인터넷을 사용할 수 있는 호출기와 스마트폰에 대해 웹 페이지의 짧은 텍스트 요약이 생성될 수 있습니다.
프록시가 문서를 즉시 다른 나라의 언어로 바꾸는 것도 충분히 가능합니다.
Figure 6-9는 영어 텍스트를 스페인어 텍스트로 변환하고, 작은 모바일 화면에서도 볼 수 있도록 HTML 페이지를 더 간단한 텍스트로 재구성하는 Transcoding 프록시입니다.
Anonymizer (Figure 6-10)
Anonymizer proxies provide heightened privacy and anonymity, by actively removing identifying characteristics from HTTP messages (e.g., client IP address, From header, Referer header, cookies, URI session IDs).*
In Figure 6-10, the anonymizing proxy makes the following changes to the user’s messages to increase privacy:
- The user’s computer and OS type is removed from the User-Agent header.
- The From header is removed to protect the user’s email address.
- The Referer header is removed to obscure other sites the user has visited.
- The Cookie headers are removed to eliminate profiling and identity data.
Anonymizer
Anonymizer 프록시는 HTTP 메시지에서 식별 특성을 삭제(클라이언트 IP주소, From/Referer 헤더, 쿠키, URI 세션 아이디 등)하여 향상된 개인정보 보호 기능과 익명성을 제공합니다.
Figure 6-10에서 Anonymizing 프록시는 개인정보를 엄격하게 보호하기 위해 유저의 메시지를 다음과 같이 변화시킵니다.
- User-Agent 헤더에서 유저의 컴퓨터와 OS 유형을 삭제합니다.
- 유저의 이메일 주소를 보호하기 위해 From 헤더를 삭제됩니다.
- 유저가 방문한 다른 사이트들이 드러나지 않도록 Referer 헤더를 삭제됩니다.
- 프로파일링과 ID 데이터를 제거하기 위해 Cookie 헤더를 삭제됩니다.
* 지난 포스팅 *
* 이번 포스팅 *
새벽에 앞부분을 거의 졸면서 써서 번역이 이상한 부분이 있을 수도 있습니다...ㅠㅠ 요약 정리하면서 다시 읽어보긴 했지만 혹시나 해석이 이상하다면 알려주세요.
오늘까지 프록시가 필요한 이유에 대해 알아보았습니다. 그런데 글을 읽다보니 문득 VPN(Virtual Private Network)과 프록시의 차이점이 궁금해졌습니다. 두 가지 모두 보안을 위해 사용된다는 점은 동일하지만, 뭔가 다른 점이 있기 때문에 용어가 별개로 존재하는 것 아니겠습니까. 찾아보니 프록시는 IP주소와 같은 클라이언트 헤더 정보를 숨길 수 있지만 전송되는 데이터 자체를 암호화하지는 않는 반면, VPN은 데이터를 암호화해서 전송 중에 데이터 탈취가 발생하더라도 무슨 내용인지 알 수 없다고 합니다. 즉 VPN은 Forward 프록시의 익명성과 데이터 암호화 기술이 결합된 네트워크 형태라고 볼 수 있습니다.