<!DOCTYPE html>
<html lang="ko">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>async vs defer</title>
    <script src="main.js"></script>
  </head>
  <body></body>
</html>

위와 같은 html 문서가있고 브라우저는 제일 위부터 순서대로 하나씩 해석해 나간다.

그래서 head안에 script를 포함하게 되면 브라우저가 문서를 읽다가

script태그를 다운받아야 한다고 이해하게 된다.

이럴때 다운받아야 하는 js파일이 크기가 매우 크다면 사용자가 웹사이트를 보는데

많은 시간이 소요가 된다. 그래서 좋은 방법이 아니다.

<!DOCTYPE html>
<html lang="ko">
  	<head>
    	<meta charset="UTF-8" />
    	<meta name="viewport" content="width=device-width, initial-			scale=1.0" />
    	<title>async vs defer</title>
  </head>
  <body>
    <div></div>
    <script src="main.js"></script>
  </body>
</html>

이 방법은 script태그를 body태그 끝부분에 작성해주는건데 html문서를 다 읽고

페이지가 로드되고나서 script태그를 해석하게 된다.

이 방법은 사용자가 웹문서를 빨리 볼 수 있다는 장점은 있지만 단점도 있다

단점은 만약에 웹사이트가 js에 굉장히 의존적인 아이라면 즉,

사용자가 의미있는 컨텐츠를 보기 위해서는 js를 이용해서 서버에 있는 데이터를 받아온다던지

DOM요소를 더 예쁘게 꾸며준다던지 그런식으로 동작하는 웹사이트라면

사용자가 정상적인 페이지를 보기 전 까지는 서버에서 Javascript를 받아오는 시간도 기다려야 하고

실행하는 시간도기다려야 하는 단점이 있다.