이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
HTTP/2: HTTP/1.x에 대한 개선 사항 이해
HTTP(Hypertext Transfer Protocol)는 웹 서버와 웹 클라이언트 간의 통신에 사용되는 프로토콜입니다. 이 프로토콜은 메시지 형식 및 전송 방법과 웹 서버 및 웹 클라이언트가 다양한 명령에 대한 응답으로 수행해야 하는 작업을 정의합니다. 프로토콜의 최신 버전인 HTTP/2는 2015년에 출시되었으며 HTTP/1.x에 비해 몇 가지 개선 사항이 있습니다. 이 기사에서는 두 프로토콜 간의 차이점과 HTTP/2가 HTTP/1.x보다 향상된 이유를 살펴봅니다.
HTTP/1.x는 프로토콜의 이전 버전이며 인터넷 초창기부터 사용되었습니다. 일반 텍스트를 사용하여 웹 서버와 웹 클라이언트 간에 메시지를 전송하는 간단한 프로토콜입니다. HTTP/1.x에는 다음과 같은 몇 가지 제한 사항이 있습니다.
Head-of-Line Blocking: HTTP/1.x는 단일 연결을 사용하여 웹 서버와 웹 클라이언트 간의 모든 요청과 응답을 전송합니다. 요청이 차단되면 이전 요청이 완료될 때까지 모든 후속 요청도 차단됩니다. 이것은 HOL(head-of-line) 차단으로 알려져 있으며 웹 사이트의 성능을 크게 저하시킬 수 있습니다.
서버 푸시 없음: HTTP/1.x에서 웹 서버는 클라이언트의 요청에만 응답할 수 있습니다. 서버가 사전에 클라이언트에 데이터를 보낼 방법이 없습니다. 이는 클라이언트가 웹 페이지를 렌더링하는 데 필요한 모든 리소스를 검색하기 위해 서버에 여러 요청을 해야 함을 의미합니다.
비효율적인 리소스 사용: HTTP/1.x에서는 각 요청에 대해 별도의 연결이 생성되어 비효율적인 리소스 사용이 발생할 수 있습니다.
HTTP/2는 프로토콜의 최신 버전이며 HTTP/1.x에 비해 몇 가지 개선 사항이 있습니다. HTTP/1.x의 한계를 해결하고 웹사이트의 성능을 개선하도록 설계되었습니다. HTTP/2의 주요 개선 사항 중 일부는 다음과 같습니다.
다중화: HTTP/2는 단일 연결을 사용하여 웹 서버와 웹 클라이언트 간에 여러 요청과 응답을 전송합니다. 즉, 요청과 응답을 병렬로 보내고 받을 수 있으므로 웹 사이트의 성능이 크게 향상됩니다.
서버 푸시: HTTP/2를 사용하면 클라이언트가 리소스를 요청하기 전에 웹 서버가 리소스를 클라이언트에 사전에 보낼 수 있습니다. 즉, 클라이언트는 단일 요청으로 웹 페이지를 렌더링하는 데 필요한 모든 리소스를 받을 수 있으므로 웹 사이트의 성능이 향상됩니다.
헤더 압축: HTTP/2는 메시지의 헤더를 압축하여 웹 서버와 웹 클라이언트 간에 전송해야 하는 데이터의 양을 줄입니다. 이것은 특히 느린 연결에서 웹 사이트의 성능을 향상시킵니다.
바이너리 프로토콜: HTTP/2는 일반 텍스트 대신 바이너리 프로토콜을 사용하므로 HTTP/1.x보다 더 효율적이고 빠릅니다.
HTTP/2를 사용하려면 Apache 또는 Nginx와 같이 이를 지원하는 웹 서버가 필요합니다. 또한 Google Chrome, Mozilla Firefox 또는 Microsoft Edge와 같이 이를 지원하는 웹 브라우저가 필요합니다. HTTP/2 검사기 도구를 사용하여 웹사이트에서 HTTP/2를 사용하는지 확인할 수 있습니다.
Apache에서 HTTP/2를 활성화하려면 mod_http2를 설치하고 활성화해야 합니다. 다음 명령을 실행하여 이를 수행할 수 있습니다.
sudo apt-get install libnghttp2-dev
sudo apt-get install libapache2-mod-http2
sudo a2enmod http2
sudo service apache2 restart
Nginx에서 HTTP/2를 활성화하려면 버전 1.9.5 이상이 설치되어 있어야 합니다. Nginx 구성 파일에 다음 줄을 추가하여 HTTP/2를 활성화할 수 있습니다.
listen 443 ssl http2;
ssl_protocols TLSv1.2;
HTTP/2는 HTTP 프로토콜의 최신 버전이며 HTTP/1.x에 비해 몇 가지 중요한 개선 사항이 있습니다. HTTP/1.x의 한계를 해결하고 웹사이트의 성능을 향상시킵니다. 단일 연결을 사용하여 여러 요청 및 응답을 전송하고, 서버 푸시를 활성화하고, 헤더를 압축하고, 바이너리 프로토콜을 사용함으로써 HTTP/2는 웹 사이트의 대기 시간을 크게 줄이고 사용자 경험을 향상시킵니다. HTTP/2를 사용하려면 이를 지원하는 웹 서버와 웹 브라우저가 필요합니다. 따라서 아직 HTTP/2를 사용하고 있지 않다면 전환할 때입니다.