LCP(Largest Contentful Paint)와 한판승부 - http/2의 희망고문
대덕메탈
종합 비철금속 전문 업체 대덕메탈입니다.
www.daeduckmetal.com
더 나은 SEO 결과를 얻기 위해, SSL 인증서를 호스팅 업체에 설치를 요청했다.
내가 인증서를 설치하면서 기대했던 효과가 두가지 있었는데, 이는 다음과 같다.
1) https 인증으로 인한 신뢰도 향상 및 검색엔진 순위 상승
2) http2 프로토콜로 인한 페이지 로딩속도 향상
여기서 http/2란, 서버와 브라우저간에 파일전송에 사용되는 프로토콜로, 기존에 많이 사용되었던 http/1.1보다 빠른 속도를 지원한다. 자세하게는, 이전 버전보다 좀더 헤더를 압축하고, 멀티플렉싱과 우선순위 지정 등의 기술이 사용되었다고 한다. 자세한 내용은 하기된 블로그에 잘 정리되어있다. 나도 나중에 한번 정리해놔야겠다.
https://yceffort.kr/2021/05/http1-vs-http2
Home
yceffort
yceffort.kr
ssl 인증서와 http/2가 무슨 관계가 있느냐하면, http/2를 사용하려면 무조건 https 연결을 사용해야 하기 때문이다. ssl 인증서가 발급된것을 확인하고, https의 자물쇠를 뿌듯하게 바라보며 개발자 도구를 열었지만, 세상은 생각보다 호락호락하지 않았다. Network창을 열고 확인한 파일들의 전송 형식은 놀랍게도 http/1.1을 유지하고있었다..
유심히 본 사람은 눈치챘을수도 있지만, Protocol중에 h2 라고 적혀있는 파일들도 분명히 있다. 이친구들은 서버가 https 연결을 지원하면서, CDN에서 받아오는 파일들이 이제서야 http/2 프로토콜로 전송되기 시작한 것이다. 아마 크지는 않겠지만, 어느정도 로딩 속도에 개선은 있었을 것이다. 하지만, 사실 진짜 중요한 친구들(이미지라던가, 이미지라던가 이미지..)은 http/1.1로 여전히 전송되고 있었기에 SEO, 특히 LCP에는 다이나믹한 변화가 없었다. 아니, 사실 변화가 없었다.
여전히 http/1.1 프로토콜은 컨텐츠의 로딩속도를 현저하게 까먹고있었다.
어째서 http/2 방식으로 전송하지 않느냐 물어볼수도 있다. 필자도 물론 쓰고싶은 마음이 굴뚝같지만, 현재 웹사이트를 호스팅하는 업체는 Apache 2.2.15버젼을 사용중이고, http2 프로토콜을 지원하려면 아파치의 버전이 2.4.x는 되어야한다.. 아마 업체차원에서도 서버 엔진을 업데이트하는것은 상당히 부담스러운 작업일 것이기 때문에, 이는 Apache 2.2가 사장되는것이 아닌 이상은 포기해야 할것이다. 그래서 나는, http/2사용은 잠시 내려놓고, 다른 방법으로 LCP를 최적화 시킬 방법을 찾기 시작했다.