페이지 닫기에서 동기식 XMLHTTPRequest() 허용 안함
이제 Chrome에서는 페이지가 닫히거나 사용자가 페이지에서 벗어나는 동안 페이지 닫기 중에 XMLHTTPRequest()
를 동기식으로 호출하는 것을 허용하지 않습니다.
이는 beforeunload
, unload
, pagehide
, visibilitychange
에 적용됩니다.
페이지가 언로드될 때 데이터가 서버로 전송되도록 하려면 sendBeacon()
또는 Fetch
keep-alive
를 사용하는 것이 좋습니다. 현재 엔터프라이즈 사용자는 AllowSyncXHRInPageDismissal
정책 플래그를 사용하고 개발자는 출처 체험판 플래그 allow-sync-xhr-in-page-dismissal
를 사용하여 페이지 로드 취소 중에 동기식 XHR 요청을 허용할 수 있습니다. 이는 일시적인 '선택 해제' 조치이며 Chrome 88에서 이 플래그가 삭제될 예정입니다.
이 방법과 대안에 관한 자세한 내용은 페이지 닫기 중에 동기식 XMLHTTPRequest() 허용 안 함을 참고하세요.
삭제 의도 | Chrome 플랫폼 상태 | Chromium 버그
FTP 지원 중단됨
Chrome의 현재 FTP 구현은 암호화된 연결 (FTPS)이나 프록시를 지원하지 않습니다. 브라우저에서 FTP를 사용하는 빈도가 충분히 낮아 더 이상 기존 FTP 클라이언트 개선에 투자할 수 없습니다. 또한 영향을 받는 모든 플랫폼에서 더 강력한 FTP 클라이언트를 사용할 수 있습니다.
Chrome 72에서는 FTP를 통한 문서 하위 리소스 가져오기 및 최상위 FTP 리소스 렌더링 지원이 삭제되었습니다. 현재 FTP URL로 이동하면 리소스 유형에 따라 디렉터리 목록 또는 다운로드가 표시됩니다. Google Chrome 74 이상 버전의 버그로 인해 HTTP 프록시를 통한 FTP URL 액세스 지원이 중단되었습니다. FTP용 프록시 지원은 Google Chrome 76에서 완전히 삭제되었습니다.
Google Chrome의 FTP 구현의 나머지 기능은 디렉터리 목록을 표시하거나 암호화되지 않은 연결을 통해 리소스를 다운로드하는 것으로 제한됩니다.
지원 중단 타임라인은 다음과 같이 잠정적으로 설정되어 있습니다.
Chrome 80 (2020년 2월 안정화 버전)
FTP는 비엔터프라이즈 클라이언트의 경우 기본적으로 사용 중지되지만 --enable-ftp
또는 --enable-features=FtpProtocol
명령줄 플래그를 사용하여 사용 설정할 수 있습니다. 또는 chrome://flags에서 #enable-ftp
옵션을 사용하여 사용 설정할 수 있습니다.
Chrome 81 (2020년 3월 안정화 버전)
FTP는 모든 Chrome 설치에서 기본적으로 사용 중지되어 있지만 --enable-ftp
또는 --enable-features=FtpProtocol
명령줄 플래그를 사용하여 사용 설정할 수 있습니다.
Chrome 82 (2020년 4월 안정화 버전)
FTP 지원이 완전히 삭제됩니다.
삭제 의도 | Chrome 플랫폼 상태 | Chromium 버그
페이지 로드 취소 중 팝업 허용 금지
페이지가 더 이상 window.open()
를 사용하여 언로드 중에 새 페이지를 열지 않을 수 있습니다. Chrome 팝업 차단기에서 이미 이를 금지했지만 이제 팝업 차단기가 사용 설정되어 있는지와 관계없이 금지됩니다.
기업은 AllowPopupsDuringPageUnload
정책 플래그를 사용하여 언로드 중에 팝업을 허용할 수 있습니다. Chrome은 Chrome 82에서 이 플래그를 삭제할 예정입니다.
삭제 의도 | Chromestatus 추적기 | Chromium 버그
원본이 아닌 ImageBitmap 직렬화 및 전송이 삭제됨
이제 스크립트가 출처가 깨끗하지 않은 ImageBitmap을 직렬화하거나 전송하려고 하면 오류가 발생합니다. 출처가 깨끗하지 않은 ImageBitmap은 CORS 로직에서 확인하지 않은 교차 출처 이미지의 데이터를 포함하는 ImageBitmap입니다.
삭제 의도 | Chrome 플랫폼 상태 | Chromium 버그
이제 프로토콜 처리에 보안 컨텍스트가 필요함
이제 registerProtocolHandler()
및 unregisterProtocolHandler()
메서드에 보안 컨텍스트가 필요합니다. 이러한 메서드는 네트워크를 통해 민감한 정보가 전송될 수 있도록 클라이언트 상태를 재구성할 수 있습니다.
registerProtocolHandler()
메서드는 사용자가 동의한 후 프로토콜을 처리하도록 웹페이지를 등록하는 메커니즘을 제공합니다. 예를 들어 웹 기반 이메일 애플리케이션은 mailto:
스키마를 처리하도록 등록할 수 있습니다. 상응하는 unregisterProtocolHandler()
메서드를 사용하면 사이트에서 프로토콜 처리 등록을 포기할 수 있습니다.
삭제 의도 | Chrome 플랫폼 상태 | Chromium 버그
Web Components v0 삭제됨
이제 Web Components v0이 Chrome에서 삭제되었습니다. Web Components v1 API는 Chrome, Safari, Firefox, 곧 Edge에서 제공되는 웹 플랫폼 표준입니다. 업그레이드에 관한 안내는 Web Components 업데이트: v1 API로 업그레이드할 수 있는 기간 연장을 참고하세요. 이제 다음 기능이 삭제되었습니다. 이번 지원 중단은 아래에 나열된 항목에 적용됩니다.
맞춤 요소
삭제 의도 | Chrome 플랫폼 상태 | Chromium 버그
HTML 가져오기
삭제 의도 | Chrome 플랫폼 상태 | Chromium 버그
Shadow DOM
삭제 의도 | Chrome 플랫폼 상태 | Chromium 버그
임의 요소의 -webkit-appearance:button 삭제
<button>
및 <input>
버튼에서만 작동하도록 -webkit-appearance:button
를 변경합니다. 지원되지 않는 요소에 button
가 지정되면 요소의 모양이 기본값으로 설정됩니다. 다른 모든 -webkit-appearance
키워드에는 이미 이러한 제한이 적용되어 있습니다.
삭제 의도 | Chrome 플랫폼 상태 | Chromium 버그
지원 중단 정책
플랫폼을 정상적으로 유지하기 위해 지원 종료된 API가 웹 플랫폼에서 삭제되는 경우가 있습니다. API가 삭제되는 이유는 다음과 같이 다양합니다.
- 이러한 API는 최신 API로 대체되었습니다.
- 다른 브라우저와 일치하고 일관성을 유지하기 위해 사양 변경사항을 반영하도록 업데이트됩니다.
- 이러한 실험은 다른 브라우저에서는 실현되지 않은 초기 실험이므로 웹 개발자를 위한 지원 부담이 늘어날 수 있습니다.
이러한 변경사항 중 일부는 극소수의 사이트에 영향을 미칩니다. Google은 문제를 사전에 완화하기 위해 개발자가 사이트를 계속 운영하는 데 필요한 변경사항을 적용할 수 있도록 사전 알림을 제공하고 있습니다.
Chrome에는 현재 API 지원 중단 및 삭제 절차가 있습니다. 기본적으로 다음과 같습니다.
- blink-dev 메일링 리스트에 공지합니다.
- 페이지에서 사용이 감지되면 Chrome DevTools 콘솔에서 경고를 설정하고 시간 척도를 지정합니다.
- 기다렸다가 사용량이 감소하면 모니터링한 후 기능을 삭제합니다.
chromestatus.com에서 지원 중단된 필터 를 사용하여 지원 중단된 모든 기능의 목록을 확인하고 삭제된 필터를 적용하여 삭제된 기능의 목록을 확인할 수 있습니다. 또한 이 게시물에서 변경사항, 추론, 이전 경로를 요약해 보겠습니다.