웹 프런트 엔드 성능

6.1 예시적인 프론트 - 엔드 성능

성능 테스트 도구 :

아파치 벤치 마크 (AB)는 HTML 요청에서 소비의 마지막 바이트에 수신 시작 시간에 전송 된 모든의 응답 시간을 얻을. 다음과 같이 AB 명령 줄은 다음과 같습니다

AB -c] [동시 사용자 -n 수는 [발행 요청 수] 테스트 페이지 URL [입니다]

방화범:

DOMContentLoaded 이벤트 : 초기 HTML 문서가 완전히로드 및 구문 분석 후 DOMContentLoaded 이벤트가 로딩 스타일 시트, 이미지 및 서브 프레임의 완료를 기다리지 않고, 트리거됩니다.

온로드 이벤트 :로드로드 페이지와 사진 후.

웹 프론트 엔드 애플리케이션 성능에 대한 연구가 정확한 응답 시간 데이터를 얻을하지 않습니다, 사실, 웹 서버와 웹 애플리케이션 서버의 성능에 부분적으로 의존 (연결 / 다운로드 리소스 파일을 설정하기 위해) 및 일부 브라우저 / 웹의 실제 메커니즘에 따라 달라집니다 페이지 실행에 JS 파일입니다. 이 웹 서비스와 애플리케이션 서버 부하 및 서버의 압력과 관련된 응답 시간에 따라 달라집니다,하지만 브라우저에 필요한 메커니즘과 JS 파일의 실행 시간을 구현하는 서버 부하와 압력의 거의 무관하다. 후자의 연구 목적을 탈출이 장의 내용을 탐구한다에 대한 정확한 데이터를 응답 시간의이 부분을 얻을 아니라, 전체 응답 시간을 줄이고, 프런트 엔드 성능과 더 나은 웹 애플리케이션을 드래그.

6.2HTTP 개요

프로토콜은 요청 / 응답 모델을 사용하여 데이터 전송을 위해 HTTP의 WWW 모드. HTTP 프로토콜 자체는 각 HTTP 요청을 독립적 인, 비 연결 지향 프로토콜입니다.

6.2.1HTTP 프로토콜 구조

1. 요청 패킷 포맷

다음 요청 패킷의 포맷은 :

 

형식의 동작을 요청하기 :

방법 [구분] 요청 -URI [구분] HTTP-VersionCRLF

메시지 본문이 HTTP 요청의 내용을 포함에서 http. GET 및 다른 방법의 경우, 메시지 본문이 비어; POST 메소드의 메시지 본문이 서버에 송신 할 데이터가 포함되어 있습니다.

2. 응답 메시지 형식

다음과 같이 응답 메시지의 형식은 다음과 같습니다

응답 메시지 상태 코드 :

1XX : 클래스 정보 응답받은 요청을 지시하고 처리를 계속합니다.

2XX : 치료 성공 응답 클래스 작업을 나타냅니다 성공적으로 수신 이해하고 받아 들여졌다.

3XX : 지정된 동작의 완료를 나타내는 응답을 재, 상기 처리를 받아야한다.

4XX는 : 클라이언트 오류는 클라이언트 요청에 구문 오류가 있거나 제대로 실행되지 않았 음을 나타냅니다.

5XX 서버 오류, 서버는 적절한 요청이 올바른 수행 할 수 있음을 나타낸다.

응답, 첫 번째 서버 자체에 대한 몇 가지 정보를 제공하는 HTML 내용이나 메시지 본문에 포함 된 다른 데이터를 반환합니다.

헤더 정보의 선단부와 연관된 속성 6.2.3

1.Accept 인코딩

수락-Encoding 헤더 필드하는 등의 수락 인코딩을 같이 받아 서버 알려주는 페이지 파일에 대한 편집 모드에 포함 된 브라우저에서 보낸 요청 헤더 중 하나입니다 GZIP을 수축하는 서버에게 브라우저는 압축 동의하지 않습니다 페이지의 내용은 두 가지 방법을 GZIP을 사용. 결국 페이지 압축 및 압축은 상당한 성능 차이가 발생할 수없는 이유는 무엇입니까? 압축은 크게 브라우저의 성능을 향상시킬 수 있습니다.

⚠️ : 현재 모든 주요 브라우저 페이지에서 gzip 압축을 지원하므로 서비스 측이 경우 반환 된 페이지가 gzip으로 압축되어 있는지 확인해야합니다.

2.Connection

HTTP 프로토콜은 비 연결 지향, 비 저장 프로토콜입니다. 값이 연결 유지 (keep-alive)로 설정하면, 브라우저와 서버 사이의 지속적인 연결을 사용하는 데 동의합니다.

3.Expires

HTTP 응답 데이터는 헤더 필드, 리턴 데이터 유효 시간을 표시하는 값 필드를 만료하는 단계를 더 포함하는 방법. ⚠️ 브라우저 캐시기구 : Expires 헤더를 기반으로 주어진 정보 : 현재 시간이 규정 시간 미만인 경우, 브라우저가 직접 캐시에서 해당 리소스 파일이나 HTML 문서를 획득 만료하고, 상기 현재 시간이 큰 경우, 지정된 시간이 만료보다 브라우저는 자원을 얻을 수있는 서버에 요청을 보냅니다.

브라우저에서 6.3 URL 열기

서버의 URL에 6.3.1 연결

사용자가 주소 표시 줄에 URL을 입력하고 GO 버튼을 눌러 URL을 열 수있는 브라우저가 필요 클릭 할 수있는 브라우저 우선 서버의 URL이 위치한 찾을 수 있습니다. DNS 서버를 쿼리하여, 브라우저는 사이트의 URL의 IP 주소가 위치한 얻을 수 있습니다. 브라우저는 서버에 대한 연결을 설정, 주소에 대한 연결 요청을 보냅니다.

6.3.2 HTML 문서의 해당 페이지를 얻을 수

연결이 설정되면, 브라우저는 서버에 HTTP 요청, HTML 문서의 URL에 해당하는 요청을 보냅니다. 에 관계없이 URL 요청의 서버는 브라우저가 HTML 문서해야합니다 반환, 정적 HTML 파일 또는 동적 스크립트 (ASPX, PHP 또는 JSP를)입니다. HTML 문서는 브라우저 페이지 렌더링이 필요하다.

6.3.3 필요한 자원에 대한 문서 액세스를 구문 분석

문서를 구문 분석하는 브라우저 HTML 문서를 획득 한 후, 목적은 자원이 필요하다뿐만 아니라 페이지 DOM 트리를 생성하는 것을 알고있다. DOM 트리 생성은 DOMContentLoaded 이벤트가 트리거됩니다.

모든 요소를 병렬로 다운로드 할 수 없습니다. 일반적으로, 하나의 페이지는 직접 사용하고, JS 스크립트의 두 종류가 실행해야 포함 <script> 태그 인라인 JS 성명을 표시하며 다른 외부 JS 파일을 참조한다.

파일 6.3.4 페이지 JS 및 CSS 파일

브라우저의 페이지에 JS 파일 JS 코드를 자격이 때 처리됩니다, 당신은 단지 두 가지를 확인해야합니다 :

(1)가 수행되는 HTML 문서에 나타나는 순서대로 모든 JS 코드는, 그것이 수행 될 때 파괴되지 않는 JS 파일 간의 종속성의 존재를 보장 할 수있다.

DOM 트리에 따라 실행되는 동안 (2) JS 파일이 생성되었다.

6.3.5onload 이벤트

HTML 문서 분석이 완료되면, DOM 트리를 생성, 필요한 자원 파일이 성공적으로 다운로드 (JS 파일)가 실행 된 모든 페이지, 브라우저는 온로드 이벤트와 콜백 HTML 문서 온로드 기능을 발급합니다.

6.4에있어서의 전단의 성능을 향상

프론트 엔드의 성능을 향상, 두 가지 아이디어가 있습니다 :

(1)로드 페이지에 소요되는 시간을 줄일 수

(2) 모양을 개선하고 사용자가 신속하게 페이지를 찾을 수 있도록 사용자의 느낌

6.4.1 네트워크 시간을 단축

1. DNS 캐싱 기술

2. 파일을 전송할 필요의 크기를 줄입니다

파일 전송 속도 3. 속도 최대

요청 6.4.2의 수를 감소

1. 브라우저 캐시를 사용하여

➢ 서버가 정보 자원을 캐시 할 수있다 만료 자원 응답 머리띠를 반환 있는지 확인합니다.

➢ 사용 스타일에 참조 JS 스크립트. 당신이 포함 된 스타일 시트 및 JS 스크립트를 사용하는 경우, 모든 변경은 HTML 문서 스타일 시트가 발생합니다 및 JS 스크립트를 다시로드 할 필요 캐싱을 이용할 수 없습니다. 물론, 어떤 캐시 또는 스타일 시트와 JS 스크립트를 사용 스타일 시트와 JS 스크립트 참조를 다시로드 할 수 있지만 더 HTTP 요청으로 이어질 것입니다있다.

➢ 더 URI를 사용하여 브라우저 캐시 될 수 있습니다. 많은 사이트 리소스 파일을 반환하는 데 필요한 이미지 나 JS를 생성하는 스크립트를 사용하고 스크립트의 URI는 끊임없이 변화하는 콘텐츠로 연결 몇 가지 매개 변수 (일관성있는 캐시 URI 엄격한 요구 사항을) 캐시 할 수 없습니다와 함께 제공됩니다.

2. 병합 된 이미지 파일을 사용하여

6.4.3 동시성을 다운로드 할 수있는 브라우저를 향상

HTML 문서의 뒷면에 1.JS 파일

2. 여러 도메인

6.4.4 페이지 표시를 만들기 위해 가능한 한 빨리 시작

(1) (예에서와 헤드에서 참조 HTML 스타일 시트 <head> 태그)

(2) 최종 문서의 HTML 테이블 스타일 참조.

 

추천

출처www.cnblogs.com/shen-qiang/p/11763958.html