도메인 샤딩 (Domain sharding)
브라우저는 각 도메인의 활성 연결 수를 제한합니다. 해당 제한을 초과하는 리소스를 동시에 다운로드할 수 있도록 **도메인 샤딩(Domain sharding)**은 콘텐츠를 여러 하위 도메인으로 분할합니다. 여러 도메인을 사용하여 여러 리소스를 제공하는 경우, 브라우저는 더 많은 리소스를 동시에 다운로드할 수 있으므로, 페이지 로드 시간이 빨라지고 사용자 경험이 향상됩니다.
성능 측면에서, 도메인 샤딩의 문제는 각 도메인에 대한 추가 DNS 조회 비용과 각 TCP 연결 설정에 따른 오버헤드입니다.
HTTP 요청의 초기 응답은 일반적으로 다운로드 해야 하는 JavaScript, CSS, 이미지 및 기타 미디어 파일과 같은 기타 리소스를 나열하는 HTML 파일입니다. 브라우저는 도메인 당 활성 연결 수를 제한하므로, 리소스를 순차적으로 다운로드해야 해서 단일 도메인에서 필요한 모든 리소스를 제공하는 데 속도가 느려질 수 있습니다. 도메인 샤딩을 사용하면 필요한 다운로드가 둘 이상의 도메인에서 제공되므로, 브라우저가 필요한 리소스를 동시에 다운로드할 수 있습니다. 그러나, 다중 도메인은 DNS 조회로 인해 초기 로드 시간이 느려지므로, 안티패턴입니다.
HTTP2는 무제한 동시 요청을 지원하므로 HTTP/2가 활성화되면 도메인 샤딩이 더 이상 필요하지 않게 됩니다.