Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워킹

HTTP/2는 무엇이며 어떤 역할을 합니까?

지난 20년 동안 월드 와이드 웹은 극적으로 발전했습니다. 모든 개선된 웹 기술은 기술 한계에 도달한 현재의 것(HTTP)보다 더 빠르고 더 나은 통신 및 파일 전송 솔루션과 프로토콜을 필요로 합니다.

HTTP/2는 무엇이며 어떤 역할을 합니까?

HTTP/2란 무엇입니까?

HTTP/2는 Hypertext의 최신 버전입니다. 전송 프로토콜(HTTP) – World Wide Web에서 사용하는 기본 프로토콜 . 2015년 2월에 처음 승인되었습니다. 이는 원래 HTTP 이후 거의 20년입니다. HTTP/2는 로드 시간을 줄이고 서버와 브라우저 간의 통신을 크게 향상시킵니다. 대부분의 브라우저는 이미 HTTP/2를 추가했으며 사용자의 관점에서 많은 것이 바뀌지 않았습니다. 이것이 우리 중 많은 사람들이 아직 그것을 읽거나 듣지 못한 주된 이유입니다.

HTTP/2의 기능

HTTP의 후속 제품으로서 HTTP/2는 HTTP의 모든 특성을 개선하는 데 중점을 둡니다. . 이전 프로토콜과의 하위 호환성을 유지하기 위해 HTTP의 대부분의 기능을 유지합니다. 그러나 몇 가지 과감한 개선이 이루어졌습니다.

HTTP 또는 HTTP/2 모두 다음을 정의합니다.

  • 웹 브라우저와 서버가 다양한 명령에 대한 응답으로 취해야 하는 작업
  • 모든 정보가 웹을 통해 한 컴퓨터에서 다른 컴퓨터로 전송되는 방식
  • 메시지 작성, 형식 지정 및 전송 방법.

즉, HTTP 및 HTTP/2는 웹 콘텐츠가 컴퓨터에 전달되는 방식에 대한 표준을 설정하지만 HTTP/2가 이전 버전보다 모든 것을 더 빠르게 만든다는 차이점이 있습니다. 여기에서 HTTP/2가 하는 일을 자세히 볼 수 있습니다.

다중화된 스트림

한 서버와 클라이언트 간에 HTTP/2 프로토콜을 통해 전송되는 양방향 일련의 텍스트 형식 프레임을 "스트림"이라고 합니다. HTTP는 한 번에 이러한 "스트림" 중 하나만 전송할 수 있습니다. 스트림이 전송된 후 다음 스트림 전송 사이에 시간 지연이 있습니다.

HTTP/2는 "스트림"을 하나씩 전송하는 문제를 직접 해결하는 새로운 바이너리 프레이밍 레이어를 설정합니다. 이를 통해 클라이언트와 서버는 HTTP/2 페이로드를 작고 독립적이며 관리하기 쉬운 인터리브 프레임 시퀀스로 분해할 수 있습니다. 이 모든 정보는 다른 쪽 끝에 수신되면 재조립됩니다. 이 프로토콜을 사용하면 연속 스트림 간에 대기 시간 없이 동시에 여러 개의 독립적인 양방향 시퀀스를 교환할 수 있습니다.

장점:

  • 병렬 다중화 요청과 응답은 서로를 차단하지 않습니다.
  • 단일 TCP 연결은 여러 데이터 스트림을 전송할 때에도 효과적인 네트워크 리소스 활용을 보장할 수 있습니다.
  • 더 빠른 웹 성능, 감소된 지연 시간, 더 나은 검색 엔진 결과
  • 실행 중인 네트워크 및 IT 리소스의 CapEx 및 OpEx 감소

HTTP/2는 무엇이며 어떤 역할을 합니까?

HTTP/2 서버 푸시 및 캐시 푸시

서버가 캐시 가능한 추가 정보를 클라이언트에 보낼 수 있는 기능입니다. . 해당 정보는 요청되지 않았지만 향후 요청을 위해 예상됩니다. 클라이언트가 하나의 리소스 A를 요청하고 다른 리소스 B가 요청된 리소스와 참조되는 것으로 알려진 경우 서버는 다른 클라이언트 요청을 기다리는 대신 A와 함께 B를 푸시할 수 있습니다. 그런 다음 클라이언트는 푸시된 리소스 B를 나중에 사용할 수 있도록 캐시에 저장합니다. 이 기능은 전체 요청-응답 왕복 프로세스를 저장하고 네트워크 대기 시간을 줄입니다. Google은 원래 SPDY 프로토콜에서 Server Push를 도입했습니다.

HTTP/2의 또 다른 개선 사항은 캐시 푸시입니다. 이렇게 하면 클라이언트의 캐시가 사전에 업데이트되거나 무효화됩니다. 이렇게 하면 클라이언트가 실제로 원하지 않는 푸시 가능한 리소스를 서버가 식별할 수 있습니다.

장점:

  • 클라이언트는 캐시된 리소스의 효율적인 저장소를 유지하기 위해(또는 서버 푸시를 완전히 비활성화하기 위해) 푸시된 리소스를 거부할 수 있습니다.
  • 클라이언트는 동시에 다중화되는 푸시된 스트림의 수를 제한할 수 있습니다.
  • 서버는 푸시된 리소스의 우선 순위를 지정할 수 있습니다. 이것이 HTTP/2와 HTTP의 성능 차이의 핵심입니다.
  • 서버는 동일한 TCP 연결 내에서 클라이언트가 요청한 정보와 함께 푸시된 리소스를 다중화할 수 있습니다.
  • 클라이언트는 여러 페이지에서 캐시된 리소스를 사용할 수 있습니다.
  • 클라이언트는 푸시된 리소스를 캐시 메모리에 저장합니다.

이진 프로토콜

HTTP/2는 텍스트 프로토콜을 바이너리 프로토콜로 변환할 때 기능이 크게 향상되었습니다. . HTTP는 요청-응답 주기를 실행하기 위해 텍스트 명령을 처리하는 데 사용되지만 HTTP/2는 이진 명령에 의존합니다. 동일한 작업을 실행하는 시간을 1초와 0초로 단축합니다.

HTTP/2를 지원하는 브라우저는 텍스트 명령을 네트워크를 통해 전송하기 전에 이진 코드로 변환합니다. 그러나 바이너리 프레이밍 레이어는 HTTP 서버 및 클라이언트와 역호환되지 않습니다.

장점:

  • HTTP의 텍스트 특성과 관련된 보안 문제 방지(예:응답 분할 공격).
  • 압축, 우선 순위 지정, 다중화, TLS의 효과적인 처리 및 흐름 제어와 같은 HTTP/2 기능을 활성화합니다.
  • 쉽게 구현하고 처리할 수 있도록 명령을 간결하게 표현합니다.
  • 클라이언트와 서버 간의 강력하고 효과적인 데이터 처리
  • 처리량 향상 및 네트워크 지연 감소
  • HTTP와 비교할 때 오류 가능성이 적습니다.
  • 매우 효율적인 네트워크 리소스 활용.
  • 데이터 구문 분석의 오버헤드가 낮습니다.
  • 더 가벼운 네트워크 공간

HTTP/2는 무엇이며 어떤 역할을 합니까?

스트림 우선순위 지정

HTTP/2를 사용하면 클라이언트가 특정 데이터 스트림에 기본 설정을 제공할 수 있습니다. 서버는 이러한 클라이언트의 지침을 따를 의무가 없지만 이 메커니즘을 통해 서버는 사용자 요구 사항에 따라 네트워크 리소스 할당을 최적화할 수 있습니다. .

스트림 우선 순위는 각 스트림에 할당된 가중치 및 종속성과 함께 작동합니다. 모든 스트림이 1에서 256 사이의 가중치를 할당한다는 점을 제외하고는 본질적으로 서로 종속되어 있다는 사실에도 불구하고 스트림 우선 순위 지정 메커니즘은 여전히 ​​논쟁의 대상입니다. 그러나 스트림 우선 순위 지정이 단일 TCP 연결에서 여러 데이터 스트림을 처리하는 HTTP/2 기능과 결합되면 우선 순위가 다른 서버 요청이 동시에 도착할 수 있습니다.

장점:

  • 네트워크 지연 문제로 인한 부정적인 영향 감소
  • 사용자 경험과 페이지 로드 속도가 향상되었습니다.
  • 서버와 클라이언트 간의 데이터 통신 최적화.
  • 매우 효과적인 네트워크 리소스 활용.
  • 주요 콘텐츠 요청에 대한 배달 시간 단축

상태 저장 헤더 압축

사용자가 HTTP를 사용하여 미디어가 풍부한 콘텐츠 웹사이트를 탐색할 때 클라이언트는 거의 동일한 여러 헤더 프레임을 푸시합니다. 이는 각 클라이언트 요청에 서버가 요청된 작업을 수행하는 데 필요한 만큼의 정보가 포함되어야 하기 때문입니다. 이 프로세스는 대기 시간과 불필요한 리소스 소비로 이어집니다.

HTTP/2에는 많은 수의 중복 헤더 프레임을 압축하는 기능이 포함되어 있습니다. 헤더 압축에 대한 안전하고 간단한 접근 방식으로 HPACK 사양에 의존합니다. . 클라이언트와 서버는 이전 클라이언트-서버 요청에 사용된 헤더 목록을 유지 관리합니다. 이는 중복 헤더 프레임에 대한 문제를 직접 해결합니다.

장점:

  • 일반적으로 사용되는 헤더와 큰 헤더를 인코딩합니다. 그러면 전체 헤더 프레임을 보낼 필요가 없습니다. 각 스트림의 개별 크기가 크게 줄어듭니다.
  • 압축 헤더로 데이터 스트림을 탐색하는 CRIME과 같은 보안 공격을 방지합니다.
  • 다중화 메커니즘의 효율적인 활용
  • 효율적인 스트림 우선순위 지정.
  • 리소스 오버헤드 감소

HTTP/2는 무엇이며 어떤 역할을 합니까?

HTTP/2의 실제 이점

HTTP/2는 기술의 잠재력을 극대화하는 데 중점을 둡니다. , 미래의 요구와 기대를 충족합니다. 다음은 HTTP/2 사용의 실제 이점입니다.

웹 성능 및 모바일 웹 성능 – HTTP/2는 하나의 클라이언트-서버 통신 주기에서 더 많은 데이터를 보내고 받을 수 있는 기능이 있습니다. 모바일 데이터 네트워크 및 사용자당 대역폭이 제한된 네트워크에서 인터넷 서비스에 액세스할 때 지연을 줄이는 데 효과적입니다.

저렴한 고속 인터넷 – HTTP/2는 데이터 통신의 효율성을 높입니다. 이를 통해 인터넷 공급자는 고속 인터넷 표준을 유지하면서 전체 비용을 절감할 수 있습니다.

보안 – HTTP/2는 텍스트 기반 애플리케이션 계층 프로토콜을 대상으로 하는 위협에 취약하지 않습니다. 또한 "Security by Obscurity" 접근 방식을 사용하여 클라이언트와 서버 간의 민감한 데이터 전송을 보호합니다.

광범위한 도달범위 – HTTP/2의 장점은 공급자의 인터넷 결과를 줄입니다. 이는 전 세계적으로 더 넓은 인터넷 범위로 이어질 것입니다.

리치 미디어 웹 경험 – HTTP/2가 World Wide Web에 가져오는 기술 기능과 이점은 미디어가 풍부한 콘텐츠를 더 빠른 페이지 로드 속도로 전달할 수 있는 인프라를 제공합니다.

마무리

HTTP/2는 비교적 새로운 프로토콜이지만 이에 대한 지원은 계속해서 증가하고 있습니다. 요즘 대부분의 인터넷 브라우저는 HTTP/2(Microsoft Edge, Google Chrome, Safari, Firefox, Android용 Chrome)를 지원합니다. 많은 웹 서버에는 HTTP/2 기본 지원(Apache HTTP Server, Tomcat, NGINX)이 포함되어 있습니다. 의심의 여지 없이 HTTP/2는 미래의 WWW 프로토콜입니다.