HTTP/2 자세히 살펴보기: 작동 방식 및 웹에 대한 의미
게시 됨: 2023-02-092015년에 HTTP 네트워크 프로토콜의 새 버전인 HTTP/2가 승인되었습니다. 이제 점점 더 대중화되고 있습니다. 이 프로토콜은 이미 Apache 및 Nginx 웹 서버, Chrome, Firefox, Opera, Edge 및 Safari 브라우저와 모바일 장치를 지원합니다.
HTTP/2 서비스 및 사이트의 수는 지속적으로 증가하고 있습니다. 가까운 장래에 인터넷은 웹 사이트 다운로드를 가속화하는 새로운 프로토콜로의 전환을 기다리고 있습니다.
이것이 사이트 구축, SEO 및 기타 측면에 어떤 영향을 미치는지 알아보겠습니다.
HTTP/2란 무엇입니까?
HTTP/1.1 프로토콜은 1999년부터 사용되어 왔으며 시간이 지남에 따라 한 가지 중요한 문제가 발생했습니다. 현대 사이트는 1999년에 유행했던 사이트와 달리 JavaScript 스크립트, CSS 스타일, 때로는 플래시 애니메이션 등 다양한 요소를 사용합니다. 모두 전송하면 브라우저와 서버가 여러 연결을 생성합니다.
HTTP/2 프로토콜은 다음과 같은 기능으로 인해 웹 사이트 속도를 크게 높입니다.
- 연결: 단일 TCP 연결을 통해 여러 요청을 보낼 수 있으며 응답은 임의의 순서로 받을 수 있습니다. 여러 TCP 연결을 유지할 필요가 없습니다.
- 스레드 우선 순위: 클라이언트는 서버 우선 순위를 설정할 수 있습니다. 어떤 종류의 리소스가 다른 리소스보다 그에게 더 중요합니다.
- 헤더 압축: HTTP 헤더의 크기를 줄일 수 있습니다.
- 서버 측에서 데이터 푸시 전송: 서버는 예를 들어 사용자가 열 다음 페이지에 대한 데이터를 기반으로 아직 요청되지 않은 데이터를 클라이언트에 보낼 수 있습니다.
HTTP 2 프로토콜 개발은 Google에서 개발한 SPDY 프로토콜을 기반으로 합니다. 그러나 Google은 이미 더 유망한 HTTP/2에 대한 추가 SPDY 지원을 거부할 것이라고 발표했습니다.
읽기: WordPress 사이트가 느린 이유와 속도를 높이는 방법은 무엇입니까?
HTTP/2의 주요 기능
- 멀티플렉싱
- 서버 푸시
- 헤더 압축
- 스트림 우선순위
- 흐름 제어
HTTP와 HTTP 2의 차이점
첫 번째 프로토콜에 적용된 변경 사항은 응용 프로그램 작동 방식에 많은 변경을 요구하지 않습니다. 그러나 향상된 속도로 작동하는 새로운 응용 프로그램에는 이점이 있습니다. 두 프로토콜 간의 주요 차이점은 아래에서 비교되었습니다.
특징 | HTTP | HTTP2 |
---|---|---|
통사론 | 상위 수준 구문은 동일합니다. | 상위 수준 구문은 동일합니다. |
데이터 프레이밍 | 수정된 데이터 프레이밍 | 향상된 데이터 프레이밍 |
쿼리 | 제한된 쿼리 | 더 많은 쿼리 |
서버 응답성 | 제한된 응답성 | 향상된 응답성 |
효율적인 웹사이트 | 최소화된 요청 | 향상된 효율성 |
헤드오브라인 블로킹 | HTTP로 제공 | HTTP2에서 극복 |
멀티플렉싱 | 없음 | 현재의 |
헤더 압축 | 없음 | 현재의 |
우선순위 요청 | 없음 | 현재의 |
아래는 HTTP/1과 HTTP/2의 기본적인 차이점을 시각적으로 잘 표현한 것입니다(제공: http://ruzhekov.com) .
HTTP/2의 장단점
장점
- 향상된 페이지 로드 속도
- 네트워크 자원의 더 나은 사용
- 향상된 사용자 경험
- 최신 웹 기술과의 호환성 향상
단점
- 프로토콜이 일관성이 없고 복잡하다고 합니다.
- 프로토콜 계층화 원칙 위반
- 무거운 암호화 비용이 수반됨
- 라우터와 같은 특정 장치와 호환되지 않음
- 편의적 암호화 부족
세상에 HTTP/2가 필요한 이유는 무엇입니까?
- HTTP는 1991년에 처음 설명되었으며 최신 버전인 HTTP/1.1은 1999년에 승인되어 오늘날에도 여전히 사용되고 있습니다.
- 웹 사이트 크기는 수년에 걸쳐 크게 증가하여 로딩 시간이 느려지고 HTTP/1.1을 사용하는 동시 연결 수가 제한되었습니다.
- 웹사이트 로드 최적화와 같은 임시 솔루션이 구현되었지만 단기 솔루션만 제공합니다.
- Google 엔지니어는 2009년에 프로토콜 개선 작업을 시작하여 더 빠르고 대부분의 브라우저에서 지원되지만 서버 측 지원이 필요한 SPDY 프로토콜을 만들었습니다.
- HTTP/2는 SPDY를 기반으로 하며 HTTP/1.1과 역호환됩니다. 즉시 업그레이드할 필요는 없지만 결국 이전 프로토콜에서 사이트 로드 속도가 느려질 수 있습니다.
HTTP/2가 정말 더 빠릅니까?
HttpWatch Experts는 여러 테스트를 수행했으며 HTTP 2에서 상당한 가속을 발견했습니다.
아래 스크린샷은 HTTP/1.1을 사용하는 페이지의 다운로드 속도를 보여줍니다.
그리고 이 스크린샷에서 — HTTP 2를 사용한 결과:
다운로드 속도가 23% 증가했습니다. HttpWatch 전문가들은 또한 이 기술이 아직 완전히 최적화되지 않았으며 최대 30%의 실제 가속을 기대한다고 말합니다.
HTTP/2가 더 빠르게 작동하는 이유는 무엇입니까?
- HTTP/2(멀티플렉싱)의 동일한 연결 내에서 전송된 여러 요청으로 인해 정적 요소 로드 속도가 빨라집니다.
- HTTP/2의 HTTP 헤더 압축은 서버와 브라우저 간의 데이터 양을 줄여 리소스를 확보합니다.
- 유행을 선도하는 브라우저(Google Chrome, Mozilla Firefox)에서 HTTP/2 지원을 위한 암호화된 연결로 향상된 보안
- 적절한 멀티플렉싱 기능을 위한 바람직한 방법인 우선순위 지정과 함께 HTTP/2의 우선순위 변경
- HTTP/2에서 우선 순위 지정 구성이 없으면 나중에 로드할 수 있는 리소스가 별도의 스트립과 전력의 일부를 차지하므로 속도가 저하될 수 있습니다.
웹사이트 페이지 로딩 속도를 높이는 것이 왜 중요한가요?
- HTTP 2 지원은 Google의 직접적인 순위 요소가 아닙니다.
- 다운로드 속도는 Google의 중요한 순위 요소입니다.
- HTTP/2는 웹사이트 속도에 긍정적인 영향을 미치고 행동 요인으로 인해 순위에 긍정적인 영향을 미칠 수 있습니다.
- 더 빠른 페이지는 실패율이 낮고 사용자 참여가 증가할 수 있습니다.
- Google Bot은 곧 HTTP/2를 지원할 예정입니다.
- HTTP 2는 향후 검색 엔진이 알고리즘을 변경함에 따라 순위 요소가 될 수 있습니다.
웹 개발자를 위한 이점
HTTP 2를 사용하면 HTTP/2 없이 페이지 로딩 속도를 높이도록 설계된 오래된 트릭을 제거할 수 있습니다. 우리는 다음을 나열합니다.
- 도메인 샤딩 또는 여러 관련 도메인을 사용하여 파일을 다운로드하여 더 많은 TCP 연결을 설정할 수 있습니다.
- 사진 스프라이트 - 사진을 하나의 파일로 결합하여 요청 수를 줄입니다. 그러나 이러한 파일은 먼저 완전히 로드되어야 표시됩니다. 또한 대용량 파일을 처리하면 더 많은 메모리가 사용됩니다.
- 요청 수를 줄이고 메모리 사용량을 늘리기 위해 수행되는 CSS 및 JavaScript 파일을 결합합니다.
- 연결 수를 줄이기 위해 인라인 포함 또는 CSS 및 JavaScript, 때로는 HTML 파일 내부에 그림을 넣습니다. 동시에 전체 파일이 로드될 때까지 페이지가 표시되지 않습니다.
- 쿠키 파일이 없는 도메인: 쿠키가 사용되지 않는 다른 도메인에서 이미지, CSS 및 JavaScript를 다운로드합니다.
HTTP 2를 구현하는 방법?
HTTP 2를 구현하려면 다음 단계를 따라야 합니다.
- 서버 지원 확인: 서버 소프트웨어가 HTTP 2를 지원하는지 확인하십시오. Apache, Nginx 및 IIS와 같은 널리 사용되는 서버 소프트웨어에는 HTTP 2 지원 기능이 내장되어 있습니다.
- HTTP 2 활성화: 서버가 HTTP 2를 지원하는지 확인했으면 이를 활성화해야 합니다. HTTP 2를 활성화하는 방법은 사용 중인 서버 소프트웨어에 따라 다릅니다.
- HTTPS 사용: HTTP 2에는 HTTPS를 사용한 보안 연결이 필요하므로 서버에 SSL 인증서를 설치해야 합니다.
- 코드 업데이트: HTTP 연결을 처리하는 라이브러리 또는 프레임워크를 사용하는 경우 HTTP 2를 지원하는지 확인하십시오. 일부 라이브러리는 HTTP 2와 작동하려면 업데이트가 필요할 수 있습니다.
- 사이트 테스트: 필요한 사항을 변경한 후 사이트를 테스트하여 HTTP 2에서 작동하는지 확인하십시오. 오류나 경고가 있는지 브라우저 콘솔을 확인하십시오.
- 성능 모니터링: 사이트 성능을 정기적으로 모니터링하여 HTTP 2에서 원활하게 실행되고 있는지 확인합니다.
- 성능 최적화 고려: HTTP 2를 구현하면 사이트 성능이 향상되지만 여전히 추가 최적화 기회가 있을 수 있습니다. 예를 들어 이미지를 스프라이트로 결합하고 이미지를 압축하고 HTTP 요청 수를 줄이면 성능을 더욱 향상시킬 수 있습니다.
결론
HTTP 2는 HTTP 1.1과 역호환되며 마이그레이션이 필요하지 않습니다. 그러나 웹 서버와 브라우저가 HTTP 2를 채택함에 따라 웹 사이트 속도 저하를 방지하기 위해 사이트 최적화 기술을 업데이트해야 할 수 있습니다.
읽기: WordPress에서 HTTP에서 HTTPS로의 마이그레이션에 대한 전체 가이드
이미지를 스프라이트로 병합하면 압축이 향상되고 데이터 다운로드가 줄어들며 이미지 포함에 데이터 URI를 사용하지 않으면 캐싱이 향상될 수 있습니다. HTTP 2에서는 도메인 샤딩이 더 이상 필요하지 않습니다. 리소스에 대한 직접 요청을 허용하고 추가 연결을 생성하여 성능을 저하시킬 수 있기 때문입니다.
자주 묻는 질문
HTTP2는 무엇을 위해 사용됩니까?
HTTP2는 인터넷을 통해 데이터를 전송하는 데 사용되는 프로토콜로, 서버에서 브라우저로 페이지, 이미지 및 비디오와 같은 웹 콘텐츠를 전달하는 속도와 보안을 향상시킵니다. 여러 요청을 동시에 보내고 받을 수 있도록 하여 이전 버전인 HTTP 1.1에 비해 더 빠른 페이지 로딩과 향상된 효율성을 제공합니다.
HTTP와 HTTP2의 차이점은 무엇입니까?
HTTP2는 이전 버전보다 빠르고 효율적인 업데이트된 HTTP 버전입니다. 단일 연결을 사용하여 여러 리소스를 로드하는 반면 HTTP에서는 여러 연결이 필요했습니다. HTTP2는 또한 데이터 압축 및 우선 순위 지정을 제공하여 사용자의 페이지 로딩 시간을 단축합니다.
http2가 널리 사용되지 않는 이유는 무엇입니까?
HTTP2는 호환성 및 구현 문제로 인해 널리 사용되지 않습니다. 일부 오래된 장치 및 소프트웨어는 HTTP2를 지원하지 않으며 구현을 위해 전용 서버 및 SSL 인증서가 필요합니다.