가장 기초적인 지식이지만 어렴풋이 알고 있던 내용을 한번 짚고 넘어가고 싶었고 StackOverFlow에 잘 설명이 되어 있어 여기에 정리해보려 한다.
우리가 브라우저에서 보는 화면은 알다시피 3가지로 구성된다.
일반적으로 우리가 흔히 말하는 페이지를 구성하는 과정은
HTML > CSS > JavaScript 순서로 점진적으로 페이지를 그려간다.
HTML과 CSS는 알다시피 프로그래밍 언어가 아니다.
HTML과 CSS는 마크업 언어와 스타일 시트 언어로서 웹 페이지의 구조와 디자인을 정의하는 데 사용되지만, 전통적인 의미의 프로그래밍 언어는 아니다. 프로그래밍 언어는 논리적 연산, 제어 흐름, 데이터 조작 등의 기능을 포함해야 한다.
이 셋 모두 유저가 보는 페이지에서 원하는 행동을 취할 수 있도록 함께 사용되는 것들이다.
우리가 브라우저에 URL을 입력하거나 클릭을 하면 브라우저는 '컨텐츠(contents)'를 서버에 요청한다.
그럼 서버는 일반적으로 DOM, CSS(link 태그), JavaScript(script태그)를 포함한 초기(initial)의 HTML문을 반환한다.
이를 이용해 브라우저는
<script>
태그를 마주치면 이것을 파싱한다. JavaScript는 dom에 존재하는 컴포넌트를 추가/제거/수정하고 css가 어떻게 적용될지를 조작할 수 있을 뿐 아니라 새로운 네트워크 요청을 발생시킬 수 있다.출처 : Stack Overflow - Relationship between HTML and javascript. The basics of frontend development