웹사이트 크기가 14kB 미만이어야 하는 이유
(endtimes.dev)- 15kB 페이지와 16kB 페이지의 로딩 속도 차이는 그리 크지 않는 반면 15kB와 14kB 차이는 특정 상황하에 612ms나 차이가 남
- 이는 TCP Slow start라는 혼잡 제어 전략 때문
- 기본적으로 브라우저와 서버가 맨 처음 통신할 때는 그 대역폭을 알 수 없음
- 10개의 TCP 패킷을 보내보고 그 수를 20개, 40개, 80개로 늘려나감
- TCP 패킷의 최대 크기는 1500 bytes인데 이 중 40 bytes를 헤더에 사용하므로 남은 1460 bytes * 10 = 약 14.25 kB를 사용 가능
- 위성 인터넷을 사용하는 경우 1번의 왕복에 612ms나 소요됨
- 그러니 더 빠른 페이지 로딩을 위해 처음 주고받는 14 kB 데이터에 중요한 리소스를 제공하길 권장
- HTML 데이터는 압축되어 제공되니 이를 고려하면 약 50 kB라고 고려할 수 있음
- HTTP 헤더나 TLS 핸드셰이킹 등을 고려한다면 항상 이 규칙이 들어맞진 않지만 그럼에도 유용한 기준일 것
원문에서 참고 자료로 소개한 Critical Resources and the First 14 KB - A Review 글과, 문동욱님이 쓰신 사이 좋게 네트워크를 나눠 쓰는 방법, TCP의 혼잡 제어 글도 같이 읽기 좋습니다.