일단 짤 두개부터 보시죠.

 

73d9c7bf5241499fb027fd748bfd18be.jpg

 

e5c32db265fb46a1ba7fdbe230b31de0.jpg

 

위에 나온 코드를 웹 브라우저에서 접속하면 메모리 사용량이 급격하게 늘어나면서 브라우저가 강제 종료되거나 시스템이 재부팅될 수 있습니다.

 

실제로 올려둔 사이트도 있는데 여기에 들어갔다간 재부팅될 수도 있으니 함부로 누르지 마세요 http://www.0xroot.cn/demo.html

 

전 아무 생각 없이 눌러봤다가 크롬 재시작했네요.

 

원리는 다음과 같습니다. history.pushstate()는 HTML5에 도입된 API로서 지정한 URL을 브라우저의 히스토리에 추가하고 현재 히스토리를 저장합니다. i<100000이란 조건문이 붙어 계속해서 히스토리 작업을 반복하게 되니 메모리 사용량이 늘어나 브라우저가 멈추는 것입니다.