브라우저 주소창에 http:// 대신 about: 으로 시작하는 주소를 넣으면 웹 서버가 아니라 브라우저 자신이 만들어 주는 페이지가 열립니다. 웹 개발을 하다 보면 이 주소들을 생각보다 자주 만나게 되는데, 특히 아래 세 가지는 의미를 알아 두면 디버깅할 때 덜 헤맵니다.
about:blank - 아무것도 없는 문서
about:blank 는 내용이 비어 있는 HTML 문서입니다. 시작 페이지를 빈 화면으로 두고 싶을 때 쓰기도 하지만, 개발에서는 자바스크립트로 새 창이나 iframe을 만들 때 많이 등장합니다.
var w = window.open('about:blank');
w.document.write('<p>인쇄용 미리보기</p>');
이렇게 빈 창을 먼저 열고 스크립트로 내용을 채우는 방식은 인쇄 미리보기나 팝업 리포트를 만들 때 자주 씁니다. src 를 지정하지 않은 iframe도 처음에는 about:blank 상태입니다. 그리고 about:blank 문서는 자신을 만든 페이지의 출처(origin)를 이어받기 때문에, 부모 페이지에서 그 안의 DOM에 접근할 수 있습니다. PHP로 만든 관리 화면에서 iframe에 결과를 써 넣는 코드가 동작하는 이유가 이겁니다.
about:about - 내부 페이지 목록
about:about 을 열면 그 브라우저가 가진 내부 페이지 목록이 나옵니다. 파이어폭스에서는 about: 페이지 목록이 그대로 보이고, 크롬이나 엣지 같은 크로미움 계열에서는 chrome://about(엣지는 edge://about)으로 넘어가서 설정, 다운로드, 플래그 같은 내부 주소를 한눈에 볼 수 있습니다. 캐시나 네트워크 상태, 실험 기능 설정을 찾을 때 이 목록에서 고르면 주소를 외울 필요가 없습니다.
about:blank#blocked - 이동이 막혔다는 표시
크롬에서 링크를 눌렀는데 주소창에 about:blank#blocked 만 보이고 빈 화면이 뜨는 경우가 있습니다. 브라우저가 그 이동을 허용하지 않아서 목적지 대신 빈 페이지로 바꿔 놓았다는 뜻입니다. 보안 정책상 막힌 프로토콜로 이동하려 했거나, iframe·팝업 안에서 허용되지 않은 방식으로 페이지를 이동하려 했을 때 이렇게 됩니다.
직접 만든 페이지에서 이 화면이 나온다면 먼저 링크의 href 값을 확인해 보세요. javascript: 로 시작하는 링크, 앱 실행용 사용자 정의 스킴, 상대 경로가 잘못 조합된 URL 같은 것들이 원인일 때가 많습니다. iframe 안이라면 sandbox 속성이나 서버가 보내는 Content-Security-Policy 헤더도 같이 봐야 합니다. 개발자 도구 콘솔에 차단 이유가 찍히는 경우가 대부분이니 콘솔부터 열어 보는 게 빠릅니다.