0228 CSS의 <link> 태그가 <head> 태그에 위치하는 것과 JS <script> 태그가 태그 종료 직전에 위치하는 것이 일반적으로 좋다고 하는데 왜 그럴까요? 다른 예외 경우는 없을까요?
우선 링크 태그가 head에 위치하는 이유는 일반적으로 CSS와 html은 동시에 로드된다. 하지만 CSS가 밑에 있다면 CSS 로딩이 늦어진다. 그렇다면 html에 로드되고 보일 텐데 하지만 브라우저는 스타일이 로드되면 다시 렌더링 되는 것을 막기 위해 html만 가지고 렌더링하는 것을 막게 됩니다. 그 결과 이용자는 빈 화면을 보게 되기 때문에 상단에 위치해야 합니다.script가 종료 직전에 위치하는 이유는 눈에 보이는 html을 먼저 파싱 하기 위해서입니다. 즉 html이 script를 다운하고 실행하는 동안 기다리는 동안 로드되지 않는 것을 막기 위해 script를 아래쪽에 배치함으로써 html을 빨리 로드되게 하고 있습니다. 하지만 예외로는 잘 쓰이지 않지만 document.write가 있습니다. 이때는 html이 변경되기 때문에 예외로 인정됩니다.