웹 프론트엔드 HTML 튜토리얼 HTML 페이지 로딩 및 파싱 프로세스에 대한 자세한 소개

HTML 페이지 로딩 및 파싱 프로세스에 대한 자세한 소개

Feb 09, 2017 pm 05:31 PM

브라우저가 HTML을 로드하고 렌더링하는 순서, HTML 페이지 로딩 속도를 높이는 방법, HTML 페이지 로딩 및 구문 분석 프로세스 등이 이 기사에서 자세히 소개됩니다. 관심 있는 친구는 브라우저 로딩을 놓치지 마세요. 그리고 html 렌더링 순서

1. IE 다운로드 순서는 위에서 아래로, 렌더링 순서도 위에서 아래로 동시에 진행됩니다.

2. 페이지의 특정 부분을 렌더링할 때 그 위의 모든 부분이 다운로드되었습니다(모든 관련 요소가 다운로드되었다는 의미는 아닙니다).

3. 의미상 해석 가능한 태그 삽입 파일(JS 스크립트, CSS 스타일)이 있는 경우 IE 다운로드 프로세스에서는 다운로드를 위해 별도의 연결을 활성화합니다.

4. 스타일 시트가 다운로드되면 이전에 다운로드한 모든 스타일 시트와 함께 구문 분석됩니다. 구문 분석이 완료되면 이전 요소(이전에 렌더링된 항목 포함)가 다시 렌더링됩니다.

5. JS나 CSS에서 재정의가 있는 경우 나중에 정의된 함수가 이전에 정의된 함수를 덮어씁니다.

JS 로딩

1. 병렬로 다운로드 및 구문 분석할 수 없습니다(다운로드 차단).

2. JS가 참조되면 브라우저는 js 요청을 보내고 요청의 반환을 기다립니다. 브라우저에는 안정적인 DOM 트리 구조가 필요하고 JS에는 document.write 또는appendChild를 사용하거나 심지어 location.href를 직접 사용하는 등 DOM 트리 구조를 직접 변경하는

코드가 있을 가능성이 높기 때문입니다. 점프, JS가 DOM 트리

를 수정하는 것을 방지하려면 브라우저가 DOM 트리를 다시 빌드해야 하므로 다른 다운로드 및 렌더링이 차단됩니다.

속도를 높이는 방법. HTML 페이지 로딩 속도

1. 페이지 무게 감소:

a. 페이지 무게는 로딩 속도에 영향을 미치는 가장 중요한 요소입니다.

b. 불필요한 공백과 댓글을 삭제하세요.

c. 인라인 스크립트와 CSS를 외부 파일로 이동합니다.

d. HTML Tidy를 사용하여 HTML의 무게를 줄일 수 있고 일부 압축 도구를 사용하여 JavaScript의 무게를 줄일 수도 있습니다.

2. 파일 수 줄이기:

a. 페이지에서 참조되는 파일 수를 줄이면 HTTP 연결 수가 줄어들 수 있습니다.

b. 많은 JavaScript 및 CSS 파일을 병합할 수 있으며 Caibangzi는 JavaScript 기능과 Prototype.js를 base.js 파일로 병합했습니다.

3. 도메인 이름 쿼리 줄이기:

a. DNS 쿼리 및 도메인 이름 확인에도 시간이 많이 걸리므로 외부 JavaScript, CSS, 이미지 등에 대한 참조를 줄여야 합니다. 다양한 도메인 이름을 사용할수록 적을수록 좋습니다.

4. 캐시 재사용 데이터:

a.

5. 페이지 요소의 로드 순서 최적화:

a. 먼저 페이지에 처음 표시되는 콘텐츠와 이와 관련된 JavaScript 및 CSS를 로드한 다음 HTML 관련 항목을 로드합니다. 처음에 표시되지 않는 것 관련 사진, 플래시, 비디오 및 기타 매우 큰 리소스가 마지막에 로드됩니다.

6. 인라인 JavaScript 수 줄이기:

a. 브라우저 파서는 인라인 JavaScript가 페이지 구조를 변경한다고 가정하므로 인라인 JavaScript를 사용하는 것이 더 비쌉니다.

b. 콘텐츠를 출력하는 데 document.write()를 사용하지 말고 최신 W3C DOM 메서드를 사용하여 최신 브라우저의 페이지 콘텐츠를 처리하세요.

7. 최신 CSS 및 법적 태그 사용:

a. 최신 CSS를 사용하여 태그와 이미지를 줄입니다. 예를 들어 최신 CSS + 텍스트를 사용하면 일부 이미지를 텍스트만으로 완전히 바꿀 수 있습니다.

b. HTML을 구문 분석할 때 브라우저가 "오류 수정" 작업을 수행하지 못하도록 합법적인 태그를 사용합니다. HTML Tidy를 사용하여 HTML을 줄일 수도 있습니다.

8. 콘텐츠 청크:

a. 중첩 테이블을 사용하지 말고 중첩되지 않은 테이블이나 p를 사용하세요. 큰 중첩 테이블을 기반으로 레이아웃을 여러 개의 작은 테이블로 나누면 전체 페이지(또는 큰 테이블) 콘텐츠가 표시되기 전에 로드될 때까지 기다릴 필요가 없습니다.

9. 이미지 및 표의 크기 지정:

a. 브라우저가 이미지나 표의 크기를 즉시 결정할 수 있으면 일부를 다시 실행하지 않고도 페이지를 즉시 표시할 수 있습니다. 레이아웃 준비.

b. 이렇게 하면 페이지 표시 속도가 빨라질 뿐만 아니라 페이지가 로드된 후 일부 부적절한 레이아웃 변경이 방지됩니다.

c. 이미지는 높이와 너비를 사용합니다.

HTML 페이지 로딩 및 파싱 과정

1. 사용자가 URL을 입력하면(HTML 페이지이고 첫 번째 방문이라고 가정) 브라우저가 서버에 요청하면 서버가 html 파일을 반환합니다.

2. 브라우저가 HTML 코드 로드를 시작하고 태그에 외부 CSS 파일을 참조하는 태그가 있음을 발견합니다.

3. 브라우저는 CSS 파일에 대한 요청을 다시 보내고 서버는 CSS 파일을 반환합니다.

4. 브라우저는 html의 부분의 코드를 계속 로드하고 CSS 파일을 얻었으며 페이지를 렌더링할 수 있습니다.

5. 브라우저는 이미지를 참조하는 코드에서 태그를 찾아 서버에 요청을 보냅니다. 이때 브라우저는 이미지가 다운로드될 때까지 기다리지 않고 후속 코드를 계속 렌더링합니다.

6. 서버는 이미지 파일을 반환합니다. 이미지는 특정 영역을 차지하고 다음 문단의 배열에 영향을 주기 때문에 브라우저는 이 부분을 다시 렌더링해야 합니다.

7. 브라우저는 Javascript 코드 줄이 포함된

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

공식 계정 웹 페이지의 캐싱 업데이트에 어려움 : 버전 업데이트 후 사용자 경험에 영향을 미치는 이전 캐시를 피하는 방법은 무엇입니까? 공식 계정 웹 페이지의 캐싱 업데이트에 어려움 : 버전 업데이트 후 사용자 경험에 영향을 미치는 이전 캐시를 피하는 방법은 무엇입니까? Mar 04, 2025 pm 12:32 PM

공식 계정 웹 페이지 업데이트 캐시, 이것은 간단하고 간단하며 냄비를 마시기에 충분히 복잡합니다. 공식 계정 기사를 업데이트하기 위해 열심히 노력했지만 사용자는 여전히 기존 버전을 열었습니까? 이 기사에서는이 뒤에있는 비틀기와 회전을 살펴 보고이 문제를 우아하게 해결하는 방법을 살펴 보겠습니다. 읽은 후에는 다양한 캐싱 문제를 쉽게 처리 할 수있어 사용자가 항상 가장 신선한 콘텐츠를 경험할 수 있습니다. 기본 사항에 대해 먼저 이야기 해 봅시다. 액세스 속도를 향상시키기 위해 브라우저 또는 서버는 일부 정적 리소스 (예 : 그림, CSS, JS) 또는 페이지 컨텐츠를 저장합니다. 다음에 액세스 할 때 다시 다운로드하지 않고도 캐시에서 직접 검색 할 수 있으며 자연스럽게 빠릅니다. 그러나 이것은 또한 양날의 검입니다. 새 버전은 온라인입니다.

HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? Mar 17, 2025 pm 12:27 PM

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

웹 페이지의 PNG 이미지에 뇌졸중 효과를 효율적으로 추가하는 방법은 무엇입니까? 웹 페이지의 PNG 이미지에 뇌졸중 효과를 효율적으로 추가하는 방법은 무엇입니까? Mar 04, 2025 pm 02:39 PM

이 기사는 CSS를 사용한 웹 페이지에 효율적인 PNG 테두리 추가를 보여줍니다. CSS는 JavaScript 또는 라이브러리에 비해 우수한 성능을 제공하며, 미묘하거나 눈에 띄는 효과를 위해 테두리 너비, 스타일 및 색상 조정 방법을 자세히 설명합니다.

HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? Mar 17, 2025 pm 12:20 PM

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

& lt; datalist & gt의 목적은 무엇입니까? 요소? & lt; datalist & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:33 PM

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

& lt; Progress & Gt의 목적은 무엇입니까? 요소? & lt; Progress & Gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:34 PM

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

html5 & lt; time & gt; 의미 적으로 날짜와 시간을 나타내는 요소? html5 & lt; time & gt; 의미 적으로 날짜와 시간을 나타내는 요소? Mar 12, 2025 pm 04:05 PM

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

& lt; meter & gt의 목적은 무엇입니까? 요소? & lt; meter & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:35 PM

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

See all articles