웹 페이지의 분할 전송 및 렌더링에 대한 자세한 설명

WBOY
풀어 주다: 2024-03-14 10:50:11
앞으로
479명이 탐색했습니다.

웹 페이지의 분할 전송 및 렌더링에 대한 자세한 설명

최근 이런 지식을 접해서 정보를 좀 찾아보고 요약해봤습니다

분할환승이란 무엇인가요?

http 헤더가 도입될 때. 이 헤더는 엔터티가 청크 인코딩을 사용하여 전송된다는 것을 나타냅니다. 청크 인코딩은 전송을 위해 엔터티를 청크로 나눌 수 있으며 청크 인코딩의 각 콘텐츠는 길이를 자체 식별합니다. 이는 여러 데이터가 필요하고 여러 데이터가 느리게 반환되는 경우 웹 개발자에게 단서를 제공합니다. 브라우저가 가능한 한 빨리 HTML을 수신하여 먼저 렌더링할 수 있도록 처리 후 한 부분을 반환할 수 있습니다.

구간 이동은 어떻게 하나요?

웹페이지를 하나씩 전송할 수 있다는 점을 알았으니 웹페이지를 수정하고, 필요한 데이터를 함께 가져오고, 템플릿 측면에서 보면 분할하는 것이 당연합니다. 템플릿을 가져와 함께 렌더링하는 서버

결국 총 처리 시간은 변하지 않지만 분할된 출력 웹 페이지를 사용하면 HTML 조각을 가능한 한 빨리 클라이언트에 렌더링할 수 있으므로 사용자는 먼저 도착한 부분을 사용할 수 있습니다. 반면, 초기 페이지 피드백은 사용자의 대기 불안을 줄일 수도 있습니다.

요약하자면, 이 최적화 방법을 사용하면 웹 페이지의 렌더링 속도를 높일 수 있습니다.

분할 전송에 적용 가능한 시나리오

1. 페이지의 일부 백엔드 처리에 시간이 많이 걸리는 경우 부분을 렌더링한 다음 클라이언트에 부분을 보낼 수 있습니다. 모든 전송이 완료될 때까지 기다리십시오. 대기 상태는 없습니다. 최대한 빨리 렌더링하고 사용자 피드백을 제공할 수 있습니다.

2. 백엔드가 렌더링된 데이터를 처리할 때 위쪽 부분이 더 빠르고 아래쪽 부분이 느립니다. (위의 빠른 부분을 먼저 렌더링할 수 있습니다.)

빅파이프

가장 느린 부분을 아래쪽에 두고 넘기시면 됩니다. 따라서 js 백필을 사용하는 로딩 아이디어가 있습니다. 백엔드는 빠른 템플릿을 먼저 렌더링한 다음 느린 템플릿을 렌더링할 수 있습니다. 페이지의 모든 블록을 비우고 병렬로 렌더링할 수 있습니다. 더 빠른 사람은 백필 js를 먼저 렌더링합니다. 이런 방식으로 병렬 및 선착순 렌더링이 가능합니다.

대형 파이프에 적용 가능한 시나리오

1 백엔드의 데이터 처리 속도가 느려서 페이지가 막히고, 가장 느린 부분은 웹 페이지 끝 부분이 아닙니다. (가장 느린 부분을 백필로 전환할 수 있습니다)
2. 백엔드에 병렬로 처리해야 할 여러 데이터 조각이 있는 경우(어떤 조각이 먼저 돌아올지 모르므로 선반을 먼저 렌더링합니다. 병렬 요청의 경우 먼저 돌아온 조각이 플러시되고 먼저 백업됨)

위 내용은 웹 페이지의 분할 전송 및 렌더링에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:linuxprobe.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!