" 일반적으로 CSS를 불러오기 위해 link 요소를 head 요소의 자식 요소로 하고, JavaScript를 불러오기 위해 script 요소를 body 요소가 끝나기 직전에 위치시키는 이유가 무엇인가요? "
- html은 구조적 언어이다. 구조에 따라 담기는 정보가 다르다.
html은 head요소에 문서와 관련된 정보를 적기 때문에, HTML문서와 연결된 정보로서 연결되는 CSS 정보를 담은 link 요소를 자식요소로 넣어준다.- 또한 JS를 head안에 넣어줄 수 있지만 body의 맨 끝에 위치시키는 이유는, 동적 콘텐츠를 파싱하는데 로딩 시간이 더 길기 때문이다. 사용자에게 먼저 정보 콘텐츠를 제공해 정보를 읽는 사이 동적 콘텐츠를 불어올 수 있기 때문이다.
1) CSS를 HTML에 연결하는 방법
2) 파일 분리 해서 연결하는 이유?
3) HEAD 요소의 역할 :
데이터의 데이터, '메타데이터'
메타데이터는 스타일, 스크립트, 브라우저의 탐색 및 렌더링을 도와줄 데이트 등 페이지에 대한 정보를 가진다.
4) BODY 요소의 역할 :
브라우저에서 시각적으로 보여지는 모든 정보는 body 요소 안에 작성된 것이다. (그 외 페이지의 정보에 관한 것들은 head요소에 포함된다.)
5) script 태그 :
HTML문서 내에 JS파일을 첨부할때 사용한다.
사실, script 태그는 head안에 작성해도 된다.
하지만 body 안에 작성하는 것이 더 좋다고 하는 이유는 뭘까?
브라우저는 HTML의 문서의 위에서부터 아래로 한줄씩 읽어 내려가며 작동한다. HTML은 JS코드를 만나면,HTML 문서 읽기를 멈추고 JS코드를 읽기 시작한다. 따라서, head태그에서 script코드 로딩이 완료될 때까지 잡고 있으면 그만큼 사용자의 랜더링이 길어진다.
=> 사용자 경험에 유리하다.
"해당 질문이 HTML이 parsing하는 순서에 대한 질문이라고 이해했습니다."