크롬을 활용해서 웹 개발을 하다가 보면 크롬의 콘솔에서만 등장하는 몇몇 에러 메시지들이 있습니다. 그중에 오늘 다룰 에러 메시지는 net::ERR_CONTENT_LENGTH_MISMATCH 이라는 에러 메시지입니다.
크롬의 콘솔에서 저런 에러가 발생하는 것이 발견되었다면 그건 서버에서 웹 리소스를 보내줄 때 실제 컨텐츠의 길이와 response안에 헤더에 설정되어있는 Content-Length가 다르기 때문입니다. 이게 무슨말이냐 하면 쉽게 설명하기 위해서 그림으로 풀어보았습니다.
위의 상황에서 클라이언트 영역에서는 할 수 있는게 없습니다. 서버에서 Content-Length를 제대로 설정해주는 작업이 필요합니다. 보통 상황의 경우 발생하지 않는 에러이지만 이런 에러는 서버측에서 Content-Length를 컨트롤하는 상황에서 제대로 매칭되지 않은 경우일 것입니다. 만약에 리소스를 replace하는 작업을 하거나 뒤에 append하는 작업을 했을 경우 기존에 리소스를 받아왔던 header의 Content-Length를 그대로 사용하는것이 아니라 정제한 내용의 길이를 Content-Length로 설정해주어서 반환하면 됩니다.