Page Cache vs. Disk Cache vs. Memory Cache in Browser

  1. Page Cache
    1. 웹페이지에서 사용자가 다른 링크를 클릭해서 다른 페이지로 넘어 갈 경우, 현재 페이지의 DOM tree, image resource, JavaScript object, Plug-in등을 다 clean up을 하는게 맞으나, 사용자는 대게 현재 페이지로 다시 돌아올려고 하는 빈도가 많은데 이렇게 현재 페이지의 리소스들을 다 없애 버리면 사용자가 back 했을 경우, 다시 처음부터 html, resource 다운로드 받고, parsing하고 이미지 decoding, layout, re-scroll등의 작업들을 다시 하여야 한다.
      이러한 오버헤드를 막기 위해서 Page Cache 라는 개념을 도입하여서, 사용자가 다른 페이지로 navigate할 때, 현재 페이지는 메모리에 suspend되고 사용자가 다시 돌아왔을 경우에 이를 다시 resume함으로서 smooth한 사용자 경험을 제공할 수 있다.
  2. Memory Cache
    1. Web page의 sub resource(이미지, 스크립트, 스타일쉬트 등)를 메모리에 저장하여, loader에서 web page를 로드 할 때, 여전히 사용되는 Resource들은 web server에서 받아오지 않고 메모리에 cache된 것을 사용한다.
  3. Disk Cache