[TIL] HTTP : The Definitive Guide "p247 ~ p248"

시윤·6일 전
0

[TIL] Two Pages Per Day

목록 보기
102/107
post-thumbnail

Chapter 10. HTTP-NG

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


✏️ 원문 번역


Preface

As this book nears completion, HTTP is celebrating its tenth birthday. And it has been quite an accomplished decade for this Internet protocol. Today, HTTP moves the absolute majority of digital traffic around the world.

  • 책이 완성되어갈 때쯤 HTTP가 10주년을 맞고 있습니다.

  • HTTP는 십년간 인터넷 프로토콜로써 많은 성과를 얻어왔으며 오늘날 전세계 디지털 트래픽의 주류가 되었습니다.

But as HTTP grows into its teenage years it faces a few challenges. In some ways, the pace of HTTP adoption has gotten ahead of its design. Today, people are using HTTP as a foundation for many diverse applications, over many different networking technologies.

  • 그러나 HTTP가 십 년간 성장하는 동안 몇 가지 문제에 직면하게 되었습니다.

  • 어떻게 보면 HTTP의 채택 속도가 설계 속도보다도 앞섰기 때문입니다.

  • 사람들은 현재 서로 다른 네트워크 기술 위에서 HTTP를 사용하여 다양한 응용 프로그램의 기초를 다지고 있습니다.

This chapter outlines some of the trends and challenges for the future of HTTP, and a proposal for a next-generation architecture called HTTP-NG. While the working group for HTTP-NG has disbanded and its rapid adoption now appears unlikely, it nonetheless outlines some potential future directions of HTTP.

  • 이 챕터는 HTTP의 현 트렌드와 앞으로 해결해야 할 과제, 차세대 아키텍처인 HTTP-NG에 대한 제안 등을 간단히 설명합니다.

  • 현재는 HTTP-NG를 위한 단체가 해체되어 당장 채택될 일은 없어 보입니다.

  • 그럼에도 불구하고 HTTP의 잠재적인 방향성에 대해 간략히 이야기해보고자 합니다.


HTTP's Growing Pains

HTTP originally was conceived as a simple technique for accessing linked multimedia content from distributed information servers. But, over the past decade, HTTP and its derivatives have taken on a much broader role.

  • HTTP는 분산 서버로부터 연결된 멀티미디어 콘텐츠를 접근하기 위한 단순한 기술로 알려져 있습니다.

  • 하지만 지난 십 년간 HTTP와 파생 기술들은 훨씬 더 광범위한 역할을 수행하게 되었습니다.

HTTP/1.1 now provides tagging and fingerprinting to track document versions, methods to support document uploading and interactions with programmatic gateways, support for multilingual content, security and authentication, caching to reduce traffic, pipelining to reduce latency, persistent connections to reduce startup time and improve bandwidth, and range accesses to implement partial updates. Extensions and derivatives of HTTP have gone even further, supporting document publishing, application serving, arbitrary messaging, video streaming, and foundations for wireless multimedia access. HTTP is becoming a kind of “operating system” for distributed media applications.

  • HTTP/1.1은 문서의 버전을 추적하기 위한 태그와 핑거프린트, 문서 업로드 및 게이트웨이 상호작용을 위한 메서드, 다중언어 콘텐츠, 보안 및 인가 기능, 트래픽을 줄이기 위한 캐싱 기능, 지연시간을 줄이기 위한 파이프라이닝, 초기 설정 시간 절감 및 대역폭 향상을 위한 지속 연결, 부분 업데이트에 대한 접근 기능 등을 지원하고 있습니다.

  • 여기서 더 확장되고 파생된 HTTP는 문서 게시, 응용 프로그램 서비스, 무작위 메시징, 비디오 스트리밍, 무선 멀티미디어 통신을 위한 기반이 되어 더욱 발전하고 있습니다.

  • 마치 분산된 미디어 응용 프로그램을 위한 운영체제처럼 보입니다.

The design of HTTP/1.1, while well considered, is beginning to show some strains as HTTP is used more and more as a unified substrate for complex remote operations. There are at least four areas where HTTP shows some growing pains:

  • HTTP/1.1는 대체로 잘 설계되었지만 종종 복잡한 원격 작업을 위한 기반으로 사용되면서 몇 가지 문제점이 드러나기 시작합니다.

  • HTTP가 성장함에 따라 크게 네 가지 영역에서 문제가 나타나고 있습니다.

Complexity

HTTP is quite complex, and its features are interdependent. It is decidedly painful and error-prone to correctly implement HTTP software, because of the complex, interwoven requirements and the intermixing of connection management, message handling, and functional logic.

Complexity

  • HTTP는 매우 복잡하고 기능이 상호 의존적입니다.

  • 복잡하게 얽힌 요구사항과 연결 관리, 메시지 처리, 기능 로직이 서로 섞여 있기 때문에 HTTP 소프트웨어를 올바르게 구현하기 힘들며 오류가 발생하게 됩니다.

Extensibility

HTTP is difficult to extend incrementally. There are many legacy HTTP applications that create incompatibilities for protocol extensions, because they contain no technology for autonomous functionality extensions.

Extensibility

  • HTTP는 점진적인 확장이 어렵습니다.

  • 자동으로 기능을 확장하는 기술을 포함하고 있지 않습니다.

  • 때문에 확장 프로토콜과 호환이 되지 않는 레거시 HTTP 응용 프로그램이 많습니다.

Performance

HTTP has performance inefficiencies. Many of these inefficiencies will become more serious with widespread adoption of high-latency, low-throughput wireless access technologies.

Performance

  • HTTP의 성능은 비효율적입니다.

  • 비효율적인 성능은 대체로 지연 시간이 길고 처리량이 적은 무선 접근 기술이 널리 채택됨에 따라 더욱 심각해질 것입니다.

Transport dependence

HTTP is designed around a TCP/IP network stack. While there are no restrictions against alternative substacks, there has been little work in this area. HTTP needs to provide better support for alternative substacks for it to be useful as a broader messaging platform in embedded and wireless applications.

Transport dependence

  • HTTP는 TCP/IP 네트워크 스택 위에서 설계되었습니다.

  • 다른 서브스택을 사용하는 것에 제한은 없지만 이 분야는 아직 많이 연구되지 않았습니다.

  • HTTP가 임베디드 시스템이나 무선 응용 프로그램에서도 광범위한 메시징 플랫폼으로 유용하게 사용되기 위해서는 더 나은 대체 스택을 제공해야 합니다.


✏️ 요약


HTTP-NG

: HTTP의 문제점을 극복한 차세대 아키텍처

  • 현재는 HTTP-NG를 위한 단체가 해체됨
  • HTTP의 잠재적인 방향성을 논하는 데 의의가 있음

HTTP's Growing Pains

: HTTP가 멀티미디어에 접근하는 것 이상의 기능을 수행하게 되면서 발생한 문제

  • 복잡성 : 기능이 매우 복잡하고 상호 의존적 -> 오류 발생 가능성 증가
  • 호환성 : 확장 프로토콜과 호환이 되지 않는 레거시 프로그램 증가
  • 비효율성 : 특히 무선 통신에서 심각한 문제(높은 지연시간, 적은 처리량)
  • 스택 의존성 : TCP/IP 스택 위에서 구현 -> TCP에 의한 지연 발생

✏️ 감상


HTTP 복습

오늘 내용은 앞서 배웠던 HTTP의 내용을 다시 한 번 생각해볼 수 있는 기회가 되었다. 문서를 업로드하고 불러오기 위한 메서드와 결과를 나타내는 상태코드, 지속 연결, TCP/IP 레이어에 의한 특성들... 많은 것을 배워온 만큼 HTTP/1.1이 가진 고질적인 문제들이 있다는 사실이 쉽게 이해되었다.


무언가를 좋게 바꾸려는 시도가 세상을 바꾼다

또한 부족함을 인정하고 계속해서 더 나은 방향으로 나아가려 하는 HTTP-NG 단체의 정신이 본받을 만하다고 느꼈다. 누군가 HTTP의 문제를 극복하려고 노력했기 때문에 이 책이 쓰이고 20여 년이 지난 오늘날 우리가 실시간 뉴스도 보고 빠른 속도로 웹 서핑도 할 수 있게 된 것이다. 인터넷이 발달하지 않았다면 사람들이 정보를 얻고 계몽하기까지 꽤나 오랜 시간이 걸렸을 것이다.

고작 하나 바꾸려고 했을 뿐인데 이렇게나 많은 게 바뀌었다. 고작 하나가 고작 하나가 아니었던 것이다. 결과가 곧바로 눈에 보이지 않더라도 무언가를 좋게 바꾸려는 시도는 나를 비롯한 주변 사람들에게도 긍정적인 영향을 준다.

profile
맑은 눈의 다람쥐

0개의 댓글

관련 채용 정보