[TIL] HTTP : The Definitive Guide "p129 ~ p131"

시윤·2024년 4월 3일
1

[TIL] Two Pages Per Day

목록 보기
54/110
post-thumbnail

Chapter 6. Proxies

(해석 또는 이해가 잘못된 부분이 있다면 댓글로 편하게 알려주세요.)


❤️ 원문 번역 ❤️

Preface

Web proxy servers are intermediaries. Proxies sit between clients and servers and act as “middlemen,” shuffling HTTP messages back and forth between the parties.This chapter talks all about HTTP proxy servers, the special support for proxy features, and some of the tricky behaviors you’ll see when you use proxy servers.

  • 웹 프록시 서버는 매개체입니다.

  • 클라이언트와 서버 사이에 위치하여 당사자간의 HTTP 메시지를 셔플링하는 "중개자" 역할을 수행합니다.

  • 이번 챕터에서는 프록시 기능에 대한 특수 지원부터 프록시 서버를 사용할 때 볼 수 있는 교묘한 동작까지 HTTP 프록시 서버에 대한 모든 것을 이야기할 것입니다.

In this chapter, we:

  • Explain HTTP proxies, contrasting them to web gateways and illustrating how proxies are deployed.
  • Show some of the ways proxies are helpful.
  • Describe how proxies are deployed in real networks and how traffic is directed to proxy servers.
  • Show how to configure your browser to use a proxy.
  • Demonstrate HTTP proxy requests, how they differ from server requests, and how proxies can subtly change the behavior of browsers.
  • Explain how you can record the path of your messages through chains of proxy servers, using Via headers and the TRACE method.
  • Describe proxy-based HTTP access control.
  • Explain how proxies can interoperate between clients and servers, each of which may support different features and versions.
  • 이번 챕터에서는 다음의 내용을 다룹니다.
    - HTTP 프록시를 웹 게이트웨이와 비교하여 설명하고, 프록시의 배포 방식을 나타냅니다.
    - 프록시가 도움이 되는 몇 가지 방법을 제시합니다.
    - 프록시가 실제 네트워크에서 배포되는 방식과 트래픽이 프록시 서버로 향하는 방식을 설명합니다.
    - 브라우저가 프록시를 사용하도록 구성하는 방법을 설명합니다.
    - HTTP 프록시 요청이 서버 요청과 어떤 점이 다르고, 프록시가 브라우저의 행동을 어떻게 미묘하게 변화시키는지 설명합니다.
    - Via 헤더와 TRACE 메소드를 사용하여 프록시 서버 채인을 통해 메시지 경로를 기록하는 방법을 설명합니다.
    - 프록시 기반의 HTTP 접근 제어에 대해 설명합니다.
    - 프록시가 서로 다른 기능과 버전을 지원하는 클라이언트와 서버 사이에서 상호운용하는 방식을 설명합니다.

Web Intermediaries

Web proxy servers are middlemen that fulfill transactions on the client’s behalf. Without a web proxy, HTTP clients talk directly to HTTP servers. With a web proxy, the client instead talks to the proxy, which itself communicates with the server on the client’s behalf. The client still completes the transaction, but through the good services of the proxy server.

  • 웹 프록시 서버는 클라이언트를 대신하여 트랜잭션을 수행하는 중개자입니다.

  • HTTP 클라이언트는 웹 프록시 없이도 HTTP 서버와 직접 통신할 수 있습니다.

  • 웹 프록시를 사용하면 클라이언트는 서버 대신 프록시와 통신합니다. 그리고 프록시는 클라이언트를 대신하여 서버와 통신합니다.

  • 클라이언트가 트랜잭션을 완료하는 것은 동일하지만 프록시 서버가 제공하는 양질의 서비스를 이용할 수 있습닌다.

HTTP proxy servers are both web servers and web clients. Because HTTP clients send request messages to proxies, the proxy server must properly handle the requests and the connections and return responses, just like a web server. At the same time, the proxy itself sends requests to servers, so it must also behave like a correct HTTP client, sending requests and receiving responses (see Figure 6-1). If you are creating your own HTTP proxy, you’ll need to carefully follow the rules for both HTTP cli- ents and HTTP servers.

  • HTTP 프록시 서버는 웹 서버이자 웹 클라이언트입니다.

  • HTTP 클라이언트가 프록시에 요청 메시지를 전송하면, 프록시 서버가 마치 웹 서버처럼 해당 요청과 연결을 적절히 처리하여 응답을 반환할 것이기 때문입니다.

  • 동시에 프록시는 서버에 요청을 전송하면서, 요청을 보내고 응답을 받는 적절한 HTTP 클라이언트처럼 동작하기도 합니다. (Figure 6-1)

  • 만약 HTTP 프록시를 생성하려 한다면 HTTP 클라이언트와 HTTP 서버에 대한 규칙을 모두 신중하게 따라야 합니다.


Private and Shared Proxies

A proxy server can be dedicated to a single client or shared among many clients. Proxies dedicated to a single client are called private proxies. Proxies shared among numerous clients are called public proxies.

  • 프록시 서버는 단일 클라이언트 전용이거나 많은 클라이언트 사이에서 공유될 수 있습니다.

  • 그 중 단일 클라이언트 전용 프록시를 Private 프록시라고 합니다.

  • 다수의 클라이언트 사이에서 공유되는 프록시는 Public 프록시라고 합니다.

Public proxies

Most proxies are public, shared proxies. It’s more cost effective and easier to administer a centralized proxy. And some proxy applications, such as caching proxy servers, become more useful as more users are funneled into the same proxy server, because they can take advantage of common requests between users.

Public Proxies

  • 대부분의 프록시는 공공의 공유 프록시입니다.

  • 중앙 집중화된 프록시를 관리하는 것이 비용 측면에서 더 효율적이고 쉽게 사용할 수 있습니다.

  • Caching 프록시 서버와 같은 일부 프록시 응용 프로그램은 더 많은 유저가 동일한 프록시 서버에 유입될 때 용이하게 사용됩니다. 유저간의 공통적인 요청을 처리할 때 이점을 갖기 때문입니다.

Private proxies

Dedicated private proxies are not as common, but they do have a place, especially when run directly on the client computer. Some browser assistant products, as well as some ISP services, run small proxies directly on the user’s PC in order to extend browser features, improve performance, or host advertising for free ISP services.

Private Proxies

  • 개인 전용 프록시는 일반적이지 않지만, 특히 클라이언트의 컴퓨터에서 직접적으로 동작할 때 종종 사용됩니다.

  • 일부 브라우저 보조 제품은 브라우저의 기능 확장, 성능 개선, 무료 ISP 서비스에 대한 광고 호스팅을 위해 ISP 서비스뿐만이 아니라 유저의 PC에서 소규모의 프록시를 직접 실행합니다.


Proxies Versus Gateways

Strictly speaking, proxies connect two or more applications that speak the same protocol, while gateways hook up two or more parties that speak different protocols. A gateway acts as a “protocol converter,” allowing a client to complete a transaction with a server, even when the client and server speak different protocols.

  • 엄밀히 말하자면 프록시는 동일한 프로토콜을 사용하는 두 개 이상의 응용 프로그램을 연결합니다. 반면 게이트웨이는 서로 다른 프로토콜로 통신하는 둘 이상의 당사자를 연결합니다.

  • 게이트웨이는 "프로토콜 변환기"의 역할을 수행하여 클라이언트와 서버가 다른 프로토콜로 통신할 때에도 둘 사이의 트랜잭션을 완료하게 합니다.

Figure 6-2 illustrates the difference between proxies and gateways:

  • The intermediary device in Figure 6-2a is an HTTP proxy, because the proxy speaks HTTP to both the client and server.
  • The intermediary device in Figure 6-2b is an HTTP/POP gateway, because it ties an HTTP frontend to a POP email backend. The gateway converts web transactions into the appropriate POP transactions, to allow the user to read email through HTTP. Web-based email programs such as Yahoo! Mail and MSN Hot- mail are HTTP email gateways.
  • Figure 6-2는 프록시와 게이트웨이 사이의 차이점을 나타냅니다.

  • Figure 6-2a의 매개 장치는 HTTP 프록시입니다. 프록시가 클라이언트 및 서버와 HTTP로 통신하고 있기 때문입니다.

  • Figure 6-2b의 매개 장치는 HTTP/POP 게이트웨이입니다. HTTP 프론트엔드를 POP 이메일 백엔드에 연결하기 때문입니다. 게이트웨이는 웹 트랜잭션을 적절한 POP 트랜잭션으로 변환하여 유저가 HTTP를 통해 이메일을 읽을 수 있게 합니다. Yahoo! Mail과 MSN Hot-mail과 같은 웹 기반의 이메일 프로그램이 HTTP 이메일 게이트웨이입니다.

In practice, the difference between proxies and gateways is blurry. Because browsers and servers implement different versions of HTTP, proxies often do some amount of protocol conversion. And commercial proxy servers implement gateway functionality to support SSL security protocols, SOCKS firewalls, FTP access, and web-based applications. We’ll talk more about gateways in Chapter 8.

  • 실전에서 프록시와 게이트웨이 사이의 경계는 모호합니다.

  • 브라우저와 서버는 서로 다른 HTTP 버전을 구현하기 때문에 프록시가 종종 어느 정도의 프로토콜 변환을 수행하기도 합니다.

  • 뿐만 아니라 상용 프록시 서버는 SSL 보안 프로토콜, SOCKS 방화벽, FTP 접근, 웹 기반의 응용 프로그램을 지원하기 위해 게이트웨이 기능을 구현합니다.

  • 게이트웨이에 대해서는 Chapter 8에서 자세히 다룹니다.


🧡 요약 정리 🧡

Proxy as Intermediary

  • 클라이언트를 대신하여 서버와 트랜잭션 수행 후 응답 반환
  • 장점 : 프록시가 제공하는 양질의 서비스 이용 가능
  • Public Proxy : 다수의 클라이언트가 공유하는 프록시 (비용 효율, 간편함)
  • Private Proxy : 단일 클라이언트 전용 프록시 (클라이언트의 컴퓨터에서 직접 동작할 때 주로 사용)

Proxies Versus Gateways

  • 게이트웨이 : 서로 다른 프로토콜을 사용하는 두 개 이상의 응용 프로그램 연결
  • 프록시 : 동일한 프로토콜을 사용하는 두 개 이상의 응용 프로그램 연결
    * 실전에서는 프록시가 프로토콜 변환을 수행하기도 한다
    * 일부 응용 프로그램 지원을 위해 게이트웨이 기능을 구현하기도 한다

💛 감상 💛

  • 드디어 재미있어 보이는 프록시 챕터로 넘어왔습니다. 읽으면서 정말로 재미있었는지는 사실 잘 모르겠지만.... 새로운 챕터의 시작은 늘 마음을 들뜨게 합니다. 심기일전을 위한 발판이 되거든요.

  • 시험기간이 다가올수록 할 일은 많고 TIL 쓸 시간은 점점 줄어들고 있습니다. 고작 원서 두 페이지를 읽는 것도 부담스러워지는 시기가 온 것 같습니다. 그럼에도 한 번 시작한 일이니까 끝까지 해보일 겁니다. 과연 이런 포스팅을 누가 읽을지는 모르겠지만, 이름 모를 당신께서 계속 응원해주세요.

profile
맑은 눈의 다람쥐

0개의 댓글

관련 채용 정보