웹 서핑 중 ERR_CONTENT_DECODING_FAILED 오류 메시지를 마주한 적이 있으신가요? 이 오류는 거의 모든 브라우저에서 발생할 수 있으며, 특정 웹사이트를 로딩할 때 나타나기도 하고 새 서버로 마이그레이션한 후에 갑자기 발생하기도 합니다. 문제는 페이지를 몇 번 새로고침해도 오류가 계속 지속된다는 점입니다. 이번 글에서는 이 오류가 발생하는 주요 원인을 짚어보고, 문제를 완전히 해결할 수 있는 실질적인 방법들을 단계별로 안내해 드리겠습니다.

ERR_CONTENT_DECODING_FAILED 오류의 주요 원인
안타깝게도 이 오류를 유발하는 원인을 단 하나로 특정하기는 어렵습니다. 다만 실제로 가장 흔하게 보고되는 원인들은 다음과 같습니다.
- 잘못된 인코딩 선언: HTTP 요청 헤더가 실제로는 gzip으로 인코딩되지 않은 콘텐츠를 gzip 인코딩 상태라고 잘못 표시하는 경우가 있습니다. 이 경우 디코딩 과정에서 충돌이 발생해 오류가 나타납니다.
- 브라우저 캐시 및 쿠키: 캐시는 로딩 속도를 높이고 더욱 매끄러운 사용 경험을 제공하기 위해 저장되는 데이터이며, 쿠키도 비슷한 목적으로 사용됩니다. 그러나 시간이 지나면 이런 데이터가 손상되어 브라우저의 핵심 요소와 충돌할 수 있습니다.
- 프록시/VPN: 프록시나 VPN이 디코딩 과정에 문제를 일으켜 브라우저가 웹페이지를 정상적으로 불러오지 못하게 할 수 있습니다.
- 소켓 풀(Socket Pools): 소켓 풀링이 활성화되면 브라우저는 매번 새 소켓을 만들지 않고 기존 소켓 풀을 재사용합니다. 이 소켓 풀이 손상되면 디코딩 과정이 제대로 작동하지 않을 수 있습니다.
- DNS 설정: DNS 정보 역시 성능 향상을 위해 컴퓨터에 저장됩니다. 시간이 지나며 이 정보가 손상되면 브라우저 동작에 방해가 될 수 있습니다.
- MTU 한계값: 네트워크 어댑터에 MTU 값이 설정되어 있지 않으면 디코딩 과정에서 충돌이 발생할 수 있습니다.
- Windows 방화벽: Windows 방화벽이 특정 사이트로의 연결을 차단해 오류가 발생할 가능성도 있습니다.
- 잘못된 DNS 주소: Windows가 잘못된 DNS 설정을 가져오면 연결 자체가 이루어지지 않아 오류가 발생할 수 있습니다.
- 네트워크 어댑터 드라이버: 드라이버가 시스템에 올바르게 설치되지 않으면 사이트와의 연결이 정상적으로 설정되지 않아 오류가 발생할 수 있습니다.
문제의 성격을 파악하셨다면 이제 해결 방법으로 넘어가 보겠습니다. 아래 방법들은 제시된 순서대로 하나씩 적용해 보시길 권장합니다.
방법 1: G-Zip 인코딩 비활성화
때로는 G-Zip 인코딩 자체가 이 오류의 원인일 수 있습니다. 대부분의 브라우저는 서드파티 확장 프로그램 없이는 이 기능을 직접 끌 수 없습니다. 따라서 이 단계에서는 확장 프로그램을 설치한 후 이를 통해 G-Zip 인코딩을 비활성화하겠습니다.
- Chrome을 실행하고 해당 확장 프로그램 페이지로 이동합니다.
- 'Chrome에 추가' 버튼을 클릭한 후 팝업 창에서 '확장 프로그램 추가'를 선택합니다.

- 확장 프로그램이 Chrome에 자동으로 추가됩니다.
- 새 탭을 열고 창 우측 상단의 확장 프로그램 아이콘을 클릭합니다.

- 'Request Header' 제목 아래 빈 칸을 클릭하고 다음 명령어를 입력합니다.
accept-encoding - Value 입력란에는 다음 값을 입력합니다.
gzip;q=0,deflate;q=0

- 이제 G-Zip 인코딩이 비활성화되었습니다. 특정 사이트에서만 문제가 발생한다면 해당 사이트를 열고 위 과정을 반복하는 것이 좋습니다.
- 완료 후 페이지를 새로고침하고 문제가 지속되는지 확인합니다.
방법 2: 브라우저 기록 및 쿠키 삭제
브라우저의 방문 기록이나 쿠키가 손상되면 인코딩 과정에 영향을 줄 수 있습니다. 이 단계에서는 브라우저의 기록과 쿠키를 삭제해 보겠습니다. 사용하는 브라우저에 따라 절차가 조금씩 다르므로, 주요 브라우저별 방법을 안내해 드립니다.
Chrome의 경우
- Chrome을 실행하고 새 탭을 엽니다.
- 우측 상단의 세로 점 세 개(⋮) 메뉴를 클릭하고 '도구 더보기'로 마우스를 이동합니다.

- 메뉴에서 '인터넷 사용 기록 삭제'를 선택합니다.

- '기간' 드롭다운을 클릭하고 '전체 기간'을 선택합니다.

- '고급' 탭으로 전환한 뒤 처음 네 개 항목에 체크합니다.

- '데이터 삭제' 버튼을 클릭하고 확인 창에서 '예'를 선택합니다.
- 문제가 지속되는지 확인합니다.
Firefox의 경우
- Firefox를 실행하고 새 탭을 엽니다.
- 우측 상단의 '라이브러리' 아이콘을 클릭하고 '방문 기록' 옵션을 선택합니다.

- '최근 방문 기록 삭제' 버튼을 클릭한 후 '삭제할 기간' 옆의 드롭다운을 엽니다.
- '전체 기록'을 선택하고 '방문 기록' 항목 아래의 모든 체크박스에 체크합니다.

- '지금 삭제' 버튼을 클릭하고 확인 창에서 '예'를 선택합니다.
- 브라우저의 쿠키와 방문 기록이 삭제되었습니다. 문제가 지속되는지 확인합니다.
Microsoft Edge의 경우
- 브라우저를 실행하고 새 탭을 엽니다.
- 우측 상단의 세로 점 세 개(…) 메뉴를 클릭합니다.

- '기록' 옵션을 클릭한 후 '기록 지우기' 버튼을 선택합니다.

- 처음 네 개 항목에 체크하고 '지우기' 버튼을 클릭합니다.

- 문제가 지속되는지 확인합니다.
방법 3: 프록시/VPN 비활성화
인터넷에 연결할 때 프록시나 VPN을 사용 중이라면 일부 사이트와의 연결에 영향을 주어 디코딩 과정이 원활하게 진행되지 않을 수 있습니다. 이 단계에서는 Windows에 기본으로 설정되어 있을 수 있는 프록시를 비활성화하겠습니다. VPN 사용 중이라면 이를 끄는 것은 사용자가 직접 결정하시면 됩니다.
- Windows 키 + I 키를 동시에 누릅니다.
- '네트워크 및 인터넷' 옵션을 클릭한 후 좌측 메뉴에서 '프록시'를 선택합니다.

- '프록시 서버 사용' 버튼을 클릭해 끕니다(Off).

- 문제가 지속되는지 확인합니다.
방법 4: 소켓 풀 초기화
브라우저에 저장된 소켓 풀이 손상된 경우가 있습니다. 이 단계에서는 소켓 풀을 초기화(flush)해 보겠습니다.
- Chrome을 실행하고 새 탭을 엽니다.
- 주소창에 다음 명령어를 입력하고 Enter 키를 누릅니다.
chrome://net-internals
- 좌측 메뉴에서 'Sockets' 옵션을 클릭한 후 'Flush Socket Pools' 버튼을 선택합니다.

- 문제가 지속되는지 확인합니다.
참고: 이 방법은 Chrome에서만 작동합니다.
방법 5: Winsock 초기화
컴퓨터에는 다양한 인터넷 관련 설정이 저장되어 있으며, 때로는 이 설정이 손상되어 새로 고쳐야 할 필요가 있습니다. 이 단계에서는 Winsock 설정을 초기화해 보겠습니다.
- Windows 키 + R 키를 동시에 눌러 실행(Run) 창을 엽니다.

- 'cmd'를 입력하고 Shift + Ctrl + Enter 키를 동시에 누릅니다.

- 확인 창에서 '예'를 클릭해 관리자 권한으로 명령 프롬프트를 엽니다.
- 명령 프롬프트에 다음 명령어를 입력하고 Enter 키를 누릅니다.
netsh Winsock reset

- 작업이 완료될 때까지 기다린 후 컴퓨터를 재시작하고 문제가 지속되는지 확인합니다.
방법 6: MTU(최대 전송 단위) 설정
컴퓨터에서 사용하는 모든 인터넷 연결에는 최적의 환경을 위해 MTU 값이 설정되어 있어야 합니다. 이 단계에서는 현재 연결에 MTU를 설정해 보겠습니다.
- Windows 키 + R 키를 동시에 누릅니다.
- 'ncpa.cpl'을 입력하고 Enter 키를 누릅니다.

- 현재 사용 중인 인터넷 연결의 이름을 메모해 둡니다.
- 모든 창을 닫고 Windows 키 + R 키를 다시 누릅니다.
- 'cmd'를 입력하고 Shift + Ctrl + Enter 키를 동시에 누릅니다.

- 다음 명령어를 입력하고 Enter 키를 누릅니다. 이때 "Connection Name" 부분은 앞서 확인한 실제 연결 이름으로 바꿔 입력해야 합니다.
netsh interface IPV4 set subinterface "Connection Name" mtu=1472 store=persitent
- 문제가 지속되는지 확인합니다.
방법 7: 방화벽 일시 비활성화
사용 중인 방화벽이나 백신 프로그램이 특정 사이트 또는 인터넷 연결 자체를 차단하고 있을 가능성도 있습니다. 잠시 방화벽을 비활성화한 뒤 문제가 지속되는지 확인해 보시기 바랍니다.
방법 8: DNS 수동 설정
Windows가 자동으로 가져온 DNS가 올바르지 않을 수 있습니다. 이 단계에서는 Google에서 제공하는 공개 DNS를 수동으로 설정해 보겠습니다.
- Windows 키 + R 키를 동시에 누릅니다.
- 'ncpa.cpl'을 입력하고 Enter 키를 누릅니다.

- 사용 중인 연결을 더블클릭하고 '속성'을 선택합니다.

- '네트워킹' 탭으로 이동한 후 '인터넷 프로토콜 버전 4(TCP/IPv4)' 항목을 더블클릭합니다.

- '다음 DNS 서버 주소 사용' 옵션에 체크합니다.
- '기본 설정 DNS 서버'에 8.8.8.8, '대체 DNS 서버'에 8.8.4.4를 입력합니다.

- '확인'을 클릭하고 문제가 지속되는지 확인합니다.
방법 9: DNS 캐시 초기화
DNS 설정이 손상되었을 가능성도 있습니다. 이 단계에서는 DNS 캐시를 초기화해 보겠습니다.
- Windows 키 + R 키를 동시에 누릅니다.
- 'cmd'를 입력하고 Shift + Ctrl + Enter 키를 동시에 누릅니다.

- 다음 명령어를 입력하고 Enter 키를 누릅니다.
ipconfig /flushdns

- 작업이 완료될 때까지 기다린 후 문제가 지속되는지 확인합니다.