웹 브라우저 작동 방식: 친구야, 이거 알면 웹 개발이 쉬워져!

2024. 7. 15. 17:51·웹개발/JavaScript
728x90

안녕, 친구들! 오늘은 웹 브라우저가 어떻게 작동하는지에 대해 이야기해볼게. 너무 어려운 내용은 아니니까 편하게 들어줘!


웹 브라우저는 어떻게 작동할까?

웹 브라우저가 웹 페이지를 보여주기 위해 어떤 과정을 거치는지 알아보자. 아주 쉽게 설명할 테니까 걱정 마!


HTML 파싱(Parsing)

먼저, 웹 브라우저는 웹 페이지의 코드를 읽어야 해. 이걸 '파싱(parsing)'이라고 해. 브라우저가 HTML 파일을 받아서 읽기 시작하면, 이게 바로 HTML 파싱이야.

HTML 파싱을 통해 브라우저는 웹 페이지의 구조를 이해하게 돼. 예를 들어, <div>, <p>, <h1> 같은 태그들을 인식하고, 각각의 위치와 역할을 파악하지.


자바스크립트 파싱

HTML을 다 읽으면 이제 자바스크립트(JS)를 읽을 차례야. 자바스크립트는 웹 페이지에 동적인 기능을 더해주는 중요한 역할을 해.

자바스크립트 파싱은 두 단계로 나눌 수 있어:

  1. Fetching: 먼저, 자바스크립트 파일을 서버에서 가져와야 해. 이걸 'Fetching'이라고 해.
  2. Executing: 가져온 자바스크립트 코드를 실행해서 웹 페이지에 적용하는 단계야. 이걸 'Executing'이라고 하지.

왜 자바스크립트를 맨 마지막에 써야 할까?

여기서 중요한 포인트가 있어. HTML을 다 읽고 나서 자바스크립트를 읽어야 하는데, 그렇지 않으면 웹 페이지가 제대로 표시되지 않을 수 있어. 그래서 자바스크립트 코드는 보통 HTML <body> 태그의 마지막에 작성해.

이유는 간단해. 브라우저가 HTML을 먼저 다 읽고 나서 자바스크립트를 가져와서 실행해야 페이지가 제대로 보이거든. 만약 자바스크립트를 중간에 넣으면, 브라우저가 HTML을 읽다가 멈추고 자바스크립트를 읽으러 가야 해서 페이지 로딩이 느려질 수 있어.


정리하자면

  1. HTML 파싱: 웹 브라우저가 HTML 파일을 받아서 구조를 이해해.
  2. JS Fetching: 자바스크립트 파일을 서버에서 가져와.
  3. JS Executing: 가져온 자바스크립트 코드를 실행해.

자바스크립트는 HTML을 다 읽고 나서 실행되도록 <body> 태그의 마지막에 작성하는 게 좋아.

이제 웹 브라우저가 어떻게 작동하는지 조금 더 이해가 됐지? 웹 페이지가 어떻게 만들어지고 보여지는지 알면 웹 개발이 더 재미있어질 거야! 다음에 또 재미있는 이야기로 찾아올게. 그럼 안녕!

728x90

'웹개발 > JavaScript' 카테고리의 다른 글

생성자 함수란 무엇일까?  (0) 2024.07.18
자바스크립트 자료형 쉽게 이해하기: 기본 자료형부터 참조 자료형까지  (0) 2024.07.17
웹 브라우저의 역사 : 친구야, 이거 알면 재밌어!  (0) 2024.07.15
프론트엔드에 Node.js가 왜 필요해요?  (0) 2024.07.15
JavaScript 반복문 응용하기  (0) 2024.05.20
'웹개발/JavaScript' 카테고리의 다른 글
  • 생성자 함수란 무엇일까?
  • 자바스크립트 자료형 쉽게 이해하기: 기본 자료형부터 참조 자료형까지
  • 웹 브라우저의 역사 : 친구야, 이거 알면 재밌어!
  • 프론트엔드에 Node.js가 왜 필요해요?
튼튼발자
튼튼발자
프론트엔드 개발자입니다. 헬스를 가끔해서인지 몸이 튼튼한거 같습니다. 그래서 튼튼한 개발자 => 튼튼발자입니다. 프론트엔드 및 관련 개발 내용 블로그 글로 정리해서 올려둡니다.
    250x250
  • 튼튼발자
    튼튼발자
    튼튼발자
  • 전체
    오늘
    어제
    • 분류 전체보기 (192)
      • 튼튼발자의 끄적끄적 (10)
      • 웹개발 (94)
        • HTML (5)
        • CSS (2)
        • JavaScript (40)
        • TypeScript (5)
        • REACT (22)
        • Next.js (13)
        • GIt (7)
      • 기타 (3)
        • 일상 (3)
      • 프로젝트 (27)
        • Componique: UI 컴포넌트 라이브러리 (18)
        • GitHub Profile Viewer (8)
        • 잇핏 (1)
      • 프론트엔드 개발자로 취업준비 (1)
        • 기술 면접 (7)
        • 코딩 테스트 준비하기 (0)
        • 자기소개서&지원서&이력서 (0)
      • 컴퓨터과학 (12)
        • 운영체제 (6)
        • 알고리즘 (6)
      • 전공 공부 (37)
        • AI(인공지능) (2)
        • 컴퓨터네트워크 (19)
        • 네트워크프로그래밍 (3)
        • SW소프트웨어응용설계 (7)
        • 클라우드컴퓨팅 (3)
        • 웹서비스프로그래밍 (3)
      • PT (0)
      • 취준일기 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프로그래밍
    자바스크립트
    react
    네트워크
    tailwind
    코딩
    ui컴포넌트
    데이터전송
    NextJs
    리액트
    github
    상태관리
    componique
    프론트엔드개발
    JS
    웹개발
    프론트엔드
    트랜스포트계층
    JavaScript
    TCP
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
튼튼발자
웹 브라우저 작동 방식: 친구야, 이거 알면 웹 개발이 쉬워져!
상단으로

티스토리툴바