[TIL] HTTP : The Definitive Guide "p252 ~ p253"

시윤·3일 전
0

[TIL] Two Pages Per Day

목록 보기
105/107
post-thumbnail

Chapter 10. HTTP-NG

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


✏️ 원문 번역


WebMUX

The HTTP-NG working group has invested much of its energy in the development of the WebMUX standard for message transport. WebMUX is a sophisticated, high-performance message system, where messages can be transported in parallel across a multiplexed TCP connection. Individual message streams, produced and consumed at different rates, can efficiently be packetized and multiplexed over a single or small number of TCP connections (see Figure 10-2).

  • HTTP-NG 워킹 그룹은 메시지 전송을 위한 WebMUX 표준을 설립하는 데 많은 에너지를 투자했습니다.

  • WebMUX는 고성능의 정교한 메시지 시스템입니다.

  • 다중화된 TCP 연결을 통해 병렬로 메시지를 전송할 수 있습니다.

  • 다양한 속도로 생성되고 소비되는 개별 메시지 스트림은 효율적으로 패킷화되어 적은 수의 TCP 연결로 멀티플렉싱 됩니다. (Figure 10-2)

Here are some of the significant goals of the WebMUX protocol:

• Simple design.

• High performance.

• Multiplexing—Multiple data streams (of arbitrary higher-level protocols) can be interleaved dynamically and efficiently over a single connection, without stalling data waiting for slow producers.

• Credit-based flow control—Data is produced and consumed at different rates, and senders and receivers have different amounts of memory and CPU resources available. WebMUX uses a “credit-based” flow-control scheme, where receivers preannounce interest in receiving data to prevent resource-scarcity deadlocks.

• Alignment preserving—Data alignment is preserved in the multiplexed stream so that binary data can be sent and processed efficiently.

• Rich functionality—The interface is rich enough to support a sockets API.

  • WebMUX 프로토콜에는 몇 가지 주된 목표가 있습니다.
    • 간단한 설계
    • 고성능
    • 멀티플렉싱 - (임의의 상위 프로토콜의) 여러 데이터 스트림을 하나의 연결 위에서 동적이고 효과적으로 인터리빙합니다. 따라서 느린 생산자로 인한 지연이 발생하지 않습니다.
    • 크레딧 기반 플로우 컨트롤 - 데이터가 서로 다른 속도로 생산되고 소비되기 때문에 송신자와 수신자가 이용 가능한 메모리와 CPU 리소스의 양이 서로 다릅니다. WebMUX는 "크레딧 기반의" 플로우 컨트롤 기법을 사용하여 수신자가 데이터 수신에 대한 관심을 미리 알려 리소스 부족으로 인한 교착 상태를 방지할 수 있습니다.
    • 정렬 보존 - 다중화된 스트림에서 데이터의 정렬을 보존하여 바이너리 데이터를 효율적으로 전송하고 처리할 수 있게 합니다.
    • 풍부한 기능 - 소켓 API를 지원할 수 있을 만큼 풍부한 인터페이스를 제공합니다.

You can read more about the WebMUX Protocol at http://www.w3.org/Protocols/MUX/WD-mux-980722.html.

  • WebMUX 프로토콜에 대한 자세한 설명은 http://www.w3.org/Protocols/MUX/WD-mux-980722.html.를 참고하시기 바랍니다.

Binary Wire Protocol

The HTTP-NG team proposed the Binary Wire Protocol to enhance how the next-generation HTTP protocol supports remote operations.

  • HTTP-NG 팀은 HTTP-NG 프로토콜의 원격 연산 지원 방식을 개선하기 위해 Binary Wire Protocol을 제안하였습니다.

HTTP-NG defines “object types” and assigns each object type a list of methods. Each object type is assigned a URI, so its description and methods can be advertised. In this way, HTTP-NG is proposing a more extensible and object-oriented execution model than that provided with HTTP/1.1, where all methods were statically defined in the servers.

  • HTTP-NG는 객체의 유형을 정의한 후 각각에 메서드 목록을 부여합니다.

  • 객체 유형은 URI를 할당받아 해당 객체에 대한 설명과 메서드를 알릴 수 있습니다.

  • HTTP-NG는 모든 메서드가 서버에서 정적으로 정의되는 HTTP/1.1의 모델에 비해 더 확장성이 좋고 객체 지향적인 실행 모델을 제안하고 있습니다.

The Binary Wire Protocol carries operation-invocation requests from the client to the server and operation-result replies from the server to the client across a stateful connection. The stateful connection provides extra efficiency.

  • Binary Wire Protocol은 stateful 연결을 통해 클라이언트에서 서버로 연산 호출 요청을 전송한 후, 서버에서 클라이언트로 연산 결과를 반환합니다.

  • stateful 연결은 추가적인 효율성을 제공합니다.

Request messages contain the operation, the target object, and optional data values. Reply messages carry back the termination status of the operation, the serial number of the matching request (allowing arbitrary ordering of parallel requests and responses), and optional return values. In addition to request and reply messages, this protocol defines several internal control messages used to improve the efficiency and robustness of the connection.

  • 요청 메시지는 연산과 타겟 객체, 선택적인 데이터 값을 포함합니다.

  • 응답 메시지는 연산의 종료 상태, 요청을 나타내는 시리얼 번호(병렬 요청과 응답의 임의 순서 지정 가능), 선택적인 반환값을 포함합니다.

  • Binary Wire Protocol은 요청 및 응답 메시지와 더불어 몇 가지 내부적인 제어 메시지를 정의하고 있습니다.

  • 제어 메시지는 연결의 성능과 견고성을 향상하는 데 사용됩니다.

You can read more about the Binary Wire Protocol at http://www.w3.org/Protocols/HTTP-NG/1998/08/draft-janssen-httpng-wire-00.txt.

  • Binary Wire Protocol에 대해서는 http://www.w3.org/Protocols/HTTP-NG/1998/08/draft-janssen-httpng-wire-00.txt.에서 자세히 확인하실 수 있습니다.

Current Status

At the end of 1998, the HTTP-NG team concluded that it was too early to bring the HTTP-NG proposals to the IETF for standardization. There was concern that the industry and community had not yet fully adjusted to HTTP/1.1 and that the significant HTTP-NG rearchitecture to a distributed-objects paradigm would have been extremely disruptive without a clear transition plan.

  • 1998년 말 HTTP-NG 팀은 표준화를 위해 HTTP-NG의 제안을 IETF에 제출하기에는 시기상조라고 판단하였습니다.

  • 산업과 커뮤니티가 아직 HTTP/1.1을 완전히 적응하지 못했으며, 명확한 이전 계획 없이 분산 객체 패러다임으로의 중대한 HTTP-NG 재구축은 극심한 혼란을 야기할 뿐이라는 우려가 있었습니다.

Two proposals were made:

• Instead of attempting to promote the entire HTTP-NG rearchitecture in one step, it was proposed to focus on the WebMUX transport technology. But at the time of this writing, there hasn’t been sufficient interest to establish a WebMUX working group.

• An effort was launched to investigate whether formal protocol types can be made flexible enough for use on the Web, perhaps using XML. This is especially important for a distributed-objects system that is extensible. This work is still in progress.

  • 이와 관련하여 두 가지 제안이 있었습니다.
    • 한 번에 모든 HTTP-NG를 재구축하려고 시도하기보다는 WebMUX 전송 기술에 초점을 맞추는 것을 제안하였습니다. 그러나 이 글을 쓰는 시점에 WebMUX 워킹 그룹을 설립할 만큼 충분한 흥미가 없어 보입니다.
    • XML을 통해 웹에서 사용할 수 있을 만큼 유연한 공식 프로토콜 유형이 만들어질 수 있는지 조사하려는 노력이 시작되었습니다. 확장 가능한 분산 객체 시스템에 있어 특히 중요한 것이었습니다. 이러한 움직임은 지금도 여전히 이루어지고 있습니다.

At the time of this writing, no major driving HTTP-NG effort is underway. But, with the ever-increasing use of HTTP, its growing use as a platform for diverse applications, and the growing adoption of wireless and consumer Internet technology, some of the techniques proposed in the HTTP-NG effort may prove significant in HTTP’s teenage years.

  • 글을 쓰는 시점에서 HTTP-NG의 주도하기 위한 노력은 더 이상 진행되지 않고 있습니다.

  • 그러나 HTTP의 사용이 증가하고, 다양한 응용 프로그램을 위한 플랫폼으로써 활용되며, 무선 통신과 소비자 인터넷 기술이 점점 더 채택되기 시작하면서 HTTP-NG가 제안한 일부 기술들이 지난 십 년간 유의했음을 증명합니다.


✏️ 요약


WebMUX

: 개별 메시지 스트림을 효율적으로 패킷화하여 적은 수의 TCP 연결로 멀티플렉싱 하기 위한 프로토콜

  • 여러 데이터스트림을 하나의 연결 위에서 동적이고 효과적으로 인터리빙
  • 수신자가 데이터 수신에 대한 관심을 미리 알려 리소스 부족으로 인한 교착 상태 방지
  • 데이터 정렬 보존 -> 바이너리 데이터의 효율적 전송 및 처리
  • 소켓 API 지원

Binary Wire Protocol

: 원격 연산 지원 방식을 개선하기 위한 프로토콜

  • Stateful 연결을 통한 메시지 송수신
  • 요청 메시지 : 작업, 타겟 객체, (optional) 데이터 값
  • 응답 메시지 : 작업 종료 상태, 요청 시리얼 번호, (optional) 반환 값
  • 제어 메시지 : 연결의 성능과 견고성 향상에 사용

✏️ 감상


Chapter 10 끝 🌸

꺄 짧은 챕터라서 빨리 끝났다. 챕터 하나를 하루도 안 쉬고 읽다니 기적 같다.

다음 챕터부터는 인증과 보안에 관한 이야기가 나오는데 굉장히 기대가 된다. 평소에 보안에 관심이 많은 편이다. 그래서 이번 학기에 보안 수업도 신청했는데, 읽고 있는 책까지도 보안 얘기라고 한다 ㅎㅁㅎ 보안으로 가득한 한 학기가 될 것 같다. 과연 좋은 건지 나쁜 건지는 모르겠다.

profile
맑은 눈의 다람쥐

0개의 댓글

관련 채용 정보