HTTP 103이란 무엇입니까?

오늘 Google Chrome 103이 여러 가지 새로운 기능과 함께 출시되었습니다. 주목할만한 기능 중 하나는 HTTP 상태 코드 103의 도입입니다. 이 블로그 게시물은 빠른 데모와 함께 HTTP 103 상태 코드에 대해 자세히 설명합니다.

HTTP 103



Mozilla Developer Network 웹 문서에서 HTTP 103 Early Hints는 정보 응답 상태 코드로 주로 Link 헤더와 함께 사용하여 서버가 여전히 응답을 준비하는 동안 사용자 에이전트가 리소스 사전 로드를 시작할 수 있도록 합니다.

자세한 내용은 RFC link을 참조하십시오.

HTTP 103은 링크rel=preload를 사용하여 HTTP 헤더 필드를 구성하여 페이지 속도를 최적화하는 데 사용할 수 있습니다.

어떻게 작동합니까?



일반적으로 브라우저가 요청을 보내면 서버는 이를 수신하여 1초 이내에 요청을 처리하고 아래와 같이 HTTP 200 OK 응답을 보냅니다.



HTTP 103 초기 힌트를 사용하면 페이지 렌더링 속도를 개선할 여지가 있습니다.

서버가 HTTP 103 기능으로 업데이트되면 브라우저가 요청을 보낼 때 서버가 콘텐츠에 style.css 또는 script.js 등과 같은 리소스가 필요하다는 것을 알게 되면 HTTP 103 Early로 힌트(응답)합니다. 아래와 같이 콘텐츠를 미리 로드하도록 브라우저에 대한 힌트 응답입니다.



그런 다음 서버가 완전한 응답을 처리하면 일반 HTTP 200 OK를 브라우저에 보냅니다.

이 프로세스는 브라우저가 콘텐츠를 미리 로드하므로 페이지 렌더링 속도에 도움이 됩니다.

이 기능을 사용하려면 위에서 언급한 대로 서버를 업데이트해야 합니다. Apache HTTP Server의 경우 here을 확인하여 구성하십시오.

초기 힌트는 HTTP/2 및 HTTP/3에서만 작동합니다.

200, 301, 304 응답 반환 코드만 지원합니다.

또한 preconnect 또는 preload rel 유형이 있는 응답 링크 헤더에서 작동합니다.

데모



HTTP 103 초기 힌트를 시연하기 위해 Ubuntu 이미지를 사용하여 AWS에 EC2 인스턴스를 배포했습니다. HTTP/2 및 SSL과 함께 Apache HTTP Server를 설치했습니다.

여기 내 conf 파일 내용이 있습니다.
H2Push on
H2EarlyHints on

다음은 데모 페이지의 curl 출력입니다.

일반 HTTP 200 정상
H2PushResource 파일에서 conf를 구성하고 서버를 다시 로드해 보겠습니다.
H2Push on
H2EarlyHints on
<Location /index.html>
    H2PushResource /main.css
</Location>
sudo systemctl restart apache2 명령을 사용하여 Apache 서버를 다시 시작하십시오.

다음은 HTTP 103 초기 힌트 기능을 활성화한 후의 컬 출력입니다.

HTTP 103 초기 힌트

위에서 볼 수 있듯이 서버의 첫 번째 응답은 HTTP/2 103이며 브라우저에 미리 로드main.css한 다음 서버는 HTTP 200으로 응답합니다.

다음은 서버 응답 시간 섹션입니다.

서버 응답 시간

마지막 생각들



HTTP 103 초기 힌트는 브라우저에서 리소스를 미리 로드하도록 암시하여 페이지 렌더링 시간을 최적화하는 데 도움이 된다는 것을 배웠습니다. 또한 설명된 대로 HTTP/2 서버 푸시의 주요 문제를 해결했습니다here. Cloudflare는 또한 기계 학습을 사용하여 초기 힌트를 더 스마트하게 만들기 위해 노력하고 있습니다. 우리의 손가락을 교차 유지합시다.

좋은 웹페이지 즐겨찾기