Chrome DevTools 네트워크 분석 기능에 관한 종합 레퍼런스에서 페이지 로드 방식을 분석하는 새로운 방법을 알아보세요.
네트워크 요청 기록
기본적으로 DevTools는 DevTools가 열려 있는 한 Network 패널에 모든 네트워크 요청을 기록합니다.
네트워크 요청 기록 중지
요청 기록을 중지하려면 다음 안내를 따르세요.
- 네트워크 패널에서 네트워크 로그 기록 중지
를 클릭합니다. 회색으로 바뀌면 DevTools가 더 이상 요청을 기록하지 않는다는 의미입니다.
- 네트워크 패널에 포커스가 있는 상태에서 Command> + E (Mac) 또는 Control + E (Windows, Linux)를 누릅니다.
요청 지우기
네트워크 패널에서 지우기
를 클릭하여 요청 표에서 모든 요청을 지웁니다.
페이지 로드 시 요청 저장
페이지 로드 시 요청을 저장하려면 네트워크 패널에서 로그 보존 체크박스를 선택합니다. DevTools는 로그 보존을 사용 중지할 때까지 모든 요청을 저장합니다.
페이지 로드 중 스크린샷 캡처
스크린샷을 캡처하여 사용자가 페이지가 로드되기를 기다리는 동안 무엇을 보게 되는지 분석합니다.
스크린샷을 사용 설정하려면 Network 패널에서 Settings 를 열고 Capture screenshot을 선택합니다.
Network 패널에 포커스가 있을 때 페이지를 새로고침하여 스크린샷을 캡처합니다.
캡처된 후에는 다음과 같은 방법으로 스크린샷과 상호작용할 수 있습니다.
- 스크린샷 위로 마우스를 가져가면 스크린샷이 캡처된 지점을 볼 수 있습니다. Overview 창에 노란색 선이 표시됩니다.
- 스크린샷의 썸네일을 클릭하여 스크린샷이 캡처된 후 발생한 요청을 필터링합니다.
- 썸네일을 더블클릭하면 확대됩니다.
XHR 요청 재생
XHR 요청을 재생하려면 요청 테이블에서 다음 중 하나를 수행합니다.
- 요청을 선택하고 R을 누릅니다.
- 요청을 마우스 오른쪽 버튼으로 클릭하고 Replay XHR을 선택합니다.
로드 동작 변경
브라우저 캐시를 사용 중지하여 최초 방문자 에뮬레이션
신규 사용자의 사이트 환경을 에뮬레이션하려면 캐시 사용 중지 체크박스를 선택합니다. DevTools가 브라우저 캐시를 사용 중지합니다. 이렇게 하면 재방문 시 브라우저 캐시에서 요청이 제공되므로 최초 사용자 환경을 더 정확하게 에뮬레이션할 수 있습니다.
네트워크 조건 창에서 브라우저 캐시 사용 중지
다른 DevTools 패널에서 작업하는 동안 캐시를 사용 중지하려면 네트워크 조건 창을 사용하세요.
아이콘을 클릭하여 Network Condition 창을 엽니다.
- 캐시 사용 중지 체크박스를 선택 또는 선택 해제합니다.
수동으로 브라우저 캐시 삭제
언제든지 브라우저 캐시를 수동으로 삭제하려면 Requests 표의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 Clear Browser cache를 선택합니다.
오프라인 에뮬레이션
서비스 워커의 도움을 받아 오프라인에서 작동할 수 있는 프로그레시브 웹 앱이라는 새로운 웹 앱 클래스가 있습니다. 이러한 유형의 앱을 빌드할 때 데이터 연결이 없는 기기를 빠르게 시뮬레이션하는 것이 유용합니다.
완전한 오프라인 네트워크 환경을 시뮬레이션하려면 캐시 사용 중지 체크박스 옆에 있는 네트워크 제한 드롭다운 메뉴에서 오프라인을 선택합니다.
DevTools에서 Network 탭 옆에 경고 아이콘을 표시하여 오프라인이 사용 설정되었음을 알려줍니다.
느린 네트워크 연결 에뮬레이션
느린 3G, 빠른 3G, 기타 연결 속도를 에뮬레이션하려면 제한 메뉴에서 해당 옵션을 선택합니다.
DevTools에서 Network 탭 옆에 경고 아이콘을 표시하여 제한이 사용 설정되었음을 알려줍니다.
커스텀 제한 프로필 만들기
느림 또는 빠른 3G와 같은 사전 설정 외에도 자체 커스텀 제한 프로필을 추가할 수도 있습니다.
- 제한 메뉴를 열고 맞춤 > 추가...를 선택합니다.
- 설정 > 제한에 설명된 대로 새 제한 프로필을 설정합니다.
네트워크 패널로 돌아가 제한 드롭다운 메뉴에서 새 프로필을 선택합니다.
DevTools에서 Network 패널 옆에 경고 아이콘을 표시하여 제한이 사용 설정되었음을 알려줍니다.
WebSocket 연결 제한
HTTP 요청 외에도 DevTools는 버전 99부터 WebSocket 연결을 제한합니다.
WebSocket 제한을 관찰하려면 다음 안내를 따르세요.
- 예를 들어 테스트 도구를 사용하여 새 연결을 시작합니다.
- 네트워크 패널에서 제한 없음을 선택하고 연결을 통해 메시지를 보냅니다.
- 매우 느린 커스텀 제한 프로필을 만듭니다(예:
10 kbit/s
). 이렇게 느린 프로필은 차이를 발견하는 데 도움이 됩니다. - 네트워크 패널에서 프로필을 선택하고 다른 메시지를 보냅니다.
- WS 필터를 전환하고 연결 이름을 클릭한 다음 메시지 탭을 열고 전송된 메시지와 에코된 메시지의 시간차를 제한 유무와 관계없이 확인합니다. 예를 들면 다음과 같습니다.
네트워크 조건 창에서 느린 네트워크 연결 에뮬레이션
다른 DevTools 패널에서 작업하는 동안 네트워크 연결을 제한하려면 네트워크 조건 창을 사용하세요.
아이콘을 클릭하여 Network Condition 창을 엽니다.
- 네트워크 제한 메뉴에서 원하는 연결 속도를 선택합니다.
수동으로 브라우저 쿠키 삭제
언제든지 브라우저 쿠키를 수동으로 삭제하려면 요청 표의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 브라우저 쿠키 삭제를 선택합니다.
HTTP 응답 헤더 재정의
로컬에서 파일 및 HTTP 응답 헤더 재정의하기를 참고하세요.
사용자 에이전트 재정의
사용자 에이전트를 수동으로 재정의하려면 다음 안내를 따르세요.
아이콘을 클릭하여 Network Condition 창을 엽니다.
- 자동 선택을 선택 해제합니다.
- 메뉴에서 사용자 에이전트 옵션을 선택하거나 텍스트 상자에 맞춤설정 옵션을 입력합니다.
요청 필터링
속성별 요청 필터링
필터 텍스트 상자를 사용하여 요청 도메인 또는 크기와 같은 속성별로 요청을 필터링합니다.
텍스트 상자가 표시되지 않으면 Filters 창이 숨겨져 있을 수 있습니다. 필터 창 숨기기를 참고하세요.
필터를 반전하려면 필터 텍스트 상자 옆에 있는 반전 체크박스를 선택합니다.
각 속성을 공백으로 구분하여 여러 속성을 동시에 사용할 수 있습니다. 예를 들어 mime-type:image/gif larger-than:1K
는 1킬로바이트를 초과하는 모든 GIF를 표시합니다.
이러한 다중 속성 필터는 AND 연산과 동일합니다. OR 연산은 현재 지원되지 않습니다.
다음은 지원되는 속성의 전체 목록입니다.
cookie-domain
. 특정 쿠키 도메인을 설정하는 리소스를 표시합니다.cookie-name
. 특정 쿠키 이름을 설정하는 리소스를 표시합니다.cookie-path
. 특정 쿠키 경로를 설정하는 리소스를 표시합니다.cookie-value
. 특정 쿠키 값을 설정하는 리소스를 표시합니다.domain
: 지정된 도메인의 리소스만 표시합니다. 와일드 카드 문자 (*
)를 사용하여 여러 도메인을 포함할 수 있습니다. 예를 들어*.com
는.com
로 끝나는 모든 도메인 이름의 리소스를 표시합니다. DevTools에서 그동안 접한 모든 도메인으로 자동 완성 드롭다운 메뉴를 채웁니다.has-overrides
. 재정의된content
,headers
, 재정의가 있는 요청 (yes
) 또는 재정의가 없는 요청 (no
)을 표시합니다. 해당 재정의 있음 열을 요청 표에 추가할 수 있습니다.has-response-header
. 지정된 HTTP 응답 헤더가 포함된 리소스를 표시합니다. DevTools는 자동 완성 드롭다운을 지금까지 접한 모든 응답 헤더로 채웁니다.is
.is:running
을(를) 사용하여WebSocket
개의 리소스를 찾으세요.larger-than
. 지정된 크기보다 큰 리소스를 바이트 단위로 표시합니다. 값을1000
로 설정하는 것은 값을1k
로 설정하는 것과 같습니다.method
. 지정된 HTTP 메서드 유형을 통해 가져온 리소스를 표시합니다. DevTools는 그동안 접한 모든 HTTP 메서드로 자동 완성 드롭다운을 채웁니다.mime-type
. 지정된 MIME 유형의 리소스를 표시합니다. DevTools는 자동 완성 드롭다운을 지금까지 접한 모든 MIME 유형으로 채웁니다.mixed-content
. 모든 혼합 콘텐츠 리소스 (mixed-content:all
)를 표시하거나 현재 표시된 리소스 (mixed-content:displayed
)만 표시합니다.priority
. 우선순위 수준이 지정된 값과 일치하는 리소스를 표시합니다.resource-type
. 리소스 유형의 리소스(예: 이미지)를 표시합니다. DevTools는 지금까지 접한 모든 리소스 유형으로 자동 완성 드롭다운을 채웁니다.response-header-set-cookie
. 문제 탭에 원시 Set-Cookie 헤더를 표시합니다.Set-Cookie
헤더가 잘못된 잘못된 쿠키는 네트워크 패널에 신고됩니다.scheme
. 보호되지 않은 HTTP (scheme:http
) 또는 보호된 HTTPS(scheme:https
)를 통해 검색된 리소스를 표시합니다.set-cookie-domain
. 지정된 값과 일치하는Domain
속성을 가진Set-Cookie
헤더가 있는 리소스를 표시합니다. DevTools는 자동 완성을 그동안 접한 모든 쿠키 도메인으로 채웁니다.set-cookie-name
. 이름이 지정된 값과 일치하는Set-Cookie
헤더가 있는 리소스를 표시합니다. DevTools는 자동 완성을 그동안 접한 모든 쿠키 이름으로 채웁니다.set-cookie-value
. 값이 지정된 값과 일치하는Set-Cookie
헤더가 있는 리소스를 표시합니다. DevTools는 자동 완성을 그동안 접한 모든 쿠키 값으로 채웁니다.status-code
. HTTP 상태 코드가 지정된 코드와 일치하는 리소스만 표시합니다. DevTools는 자동 완성 드롭다운 메뉴를 그동안 접한 모든 상태 코드로 채웁니다.url
. 지정된 값과 일치하는url
가 있는 리소스를 표시합니다.
유형별로 요청 필터링
요청 유형별로 요청을 필터링하려면 Network 패널에서 All, Fetch/XHR, JS, CSS, Img, Media, Font, Doc, WS (WebSocket), Wasm (WebAssembly), Manifest 또는 Other (여기에 나열되지 않은 기타 유형) 버튼을 클릭합니다.
이러한 버튼이 표시되지 않는다면 Filters 창이 숨겨져 있을 수 있습니다. 필터 창 숨기기를 참고하세요.
여러 유형 필터를 동시에 사용 설정하려면 Command (Mac) 또는 Control (Windows, Linux)을 누른 상태에서 클릭합니다.
시간별 요청 필터링
개요 창에서 왼쪽 또는 오른쪽을 클릭하고 드래그하여 해당 기간 동안 활성 상태였던 요청만 표시합니다. 이 필터는 포괄적입니다. 강조 표시된 시간 동안 활성 상태였던 모든 요청이 표시됩니다.
데이터 URL 숨기기
데이터 URL은 다른 문서에 삽입된 작은 파일입니다. 요청 표에 data:
로 시작하는 모든 요청이 데이터 URL입니다.
이러한 요청을 숨기려면 데이터 URL 숨기기를 선택합니다.
하단의 상태 표시줄에는 표시된 요청 전체 중 표시된 요청 수가 표시됩니다.
확장 프로그램 URL 숨기기
작성한 코드에 집중하기 위해 Chrome에 설치했을 수 있는 확장 프로그램에서 전송한 관련 없는 요청을 필터링할 수 있습니다. 확장 프로그램 요청에 chrome-extension://
로 시작하는 URL이 있습니다.
확장 프로그램 요청을 숨기려면 확장 프로그램 URL 숨기기를 선택합니다.
하단의 상태 표시줄에는 표시된 요청 전체 중 표시된 요청 수가 표시됩니다.
차단된 응답 쿠키가 있는 요청만 표시
어떤 이유로든 응답 쿠키가 차단된 요청을 제외한 모든 항목을 필터링하려면 차단된 응답 쿠키를 선택합니다. 이 데모 페이지에서 사용해 보세요.
하단의 상태 표시줄에는 표시된 요청 전체 중 표시된 요청 수가 표시됩니다.
응답 쿠키가 차단된 이유를 알아보려면 요청을 선택하고 쿠키 탭을 연 다음 정보 아이콘 위로 마우스를 가져갑니다.
차단된 요청만 표시
차단된 요청을 제외한 모든 항목을 필터링하려면 차단된 요청을 선택합니다. 이를 테스트하려면 네트워크 요청 차단 창 탭을 사용하면 됩니다.
요청 표에는 차단된 요청이 빨간색으로 강조표시됩니다. 하단의 상태 표시줄에는 표시된 요청 전체 중 표시된 요청 수가 표시됩니다.
서드 파티 요청만 표시
출처가 페이지 출처와 다른 요청을 제외한 모든 요청을 필터링하려면 타사 요청을 확인합니다. 이 데모 페이지에서 사용해 보세요.
하단의 상태 표시줄에는 표시된 요청 전체 중 표시된 요청 수가 표시됩니다.
요청 정렬
기본적으로 요청 표의 요청은 시작 시간을 기준으로 정렬되지만 다른 기준을 사용하여 표를 정렬할 수 있습니다.
열 기준 정렬
해당 열을 기준으로 요청을 정렬하려면 요청 표에서 열의 헤더를 클릭합니다.
활동 단계를 기준으로 정렬
폭포식 구조에서 요청을 정렬하는 방법을 변경하려면 요청 표의 헤더를 마우스 오른쪽 버튼으로 클릭하고 폭포식 구조 위로 마우스를 가져간 후 다음 옵션 중 하나를 선택합니다.
- 시작 시간. 시작된 첫 번째 요청이 상단에 위치합니다.
- 응답 시간. 다운로드를 시작한 첫 번째 요청이 상단에 위치합니다.
- 종료 시간. 완료된 첫 번째 요청이 상단에 위치합니다.
- 총 재생 시간. 연결 설정 및 요청 / 응답이 가장 짧은 요청이 상단에 위치합니다.
- 지연 시간. 응답을 가장 적게 기다린 요청이 상단에 위치합니다.
이러한 설명은 각각의 옵션이 짧은 것부터 가장 긴 순으로 매겨졌다고 가정합니다. Waterfall(폭포식 구조) 열의 헤더를 클릭하면 순서가 반대가 됩니다.
이 예에서는 폭포식 구조가 총 소요 시간을 기준으로 정렬됩니다. 각 막대의 밝은 부분은 대기에 소비된 시간입니다. 어두운 부분은 바이트 다운로드에 소비된 시간입니다.
요청 분석
DevTools가 열려 있는 한 Network 패널에 모든 요청이 로깅됩니다. 네트워크 패널을 사용하여 요청을 분석합니다.
요청 로그 보기
요청 표를 사용하여 DevTools가 열려 있는 동안 발생한 모든 요청의 로그를 확인합니다. 요청을 클릭하거나 마우스 오버하면 요청에 관한 추가 정보가 표시됩니다.
요청 표에는 기본적으로 다음 열이 표시됩니다.
- 이름. 리소스의 파일 이름 또는 식별자입니다.
- 상태. 이 열에는 다음 값이 표시될 수 있습니다.
- HTTP 상태 코드(예:
200
또는404
) - 교차 출처 리소스 공유 (CORS)로 인해 요청에 대한
CORS error
가 실패했습니다. - 기타 요청의 일반
(failed)
또는(blocked:origin)
- HTTP 상태 코드(예:
- 유형. 요청된 리소스의 MIME 유형입니다.
- 시작자. 다음 객체 또는 프로세스가 요청을 시작할 수 있습니다.
- 파서. Chrome의 HTML 파서
- 리디렉션. HTTP 리디렉션입니다.
- 스크립트 JavaScript 함수입니다.
- 기타. 링크를 통해 페이지로 이동하거나 주소 표시줄에 URL을 입력하는 등의 일부 다른 프로세스 또는 작업
- Size(크기). 서버에서 전달한 응답 헤더의 크기와 응답 본문을 더한 값입니다.
- 시간. 요청 시작부터 응답의 마지막 바이트를 수신할 때까지 걸린 총 기간입니다.
- 폭포식 구조. 각 요청 활동에 대한 시각적 분석
항목 추가/삭제하기
요청 표의 헤더를 마우스 오른쪽 버튼으로 클릭하고 숨기거나 표시하는 옵션을 선택합니다. 현재 표시된 옵션 옆에는 체크표시가 있습니다.
경로, URL, 메서드, 프로토콜, 스키마, 도메인, 원격 주소, 원격 주소 공간, 개시자 주소 공간, 쿠키, 쿠키 설정, 우선순위, 연결 ID, 재정의 있음 등의 추가 열을 추가하거나 삭제할 수 있습니다.
맞춤 열 추가
요청 표에 맞춤 열을 추가하는 방법은 다음과 같습니다.
- 요청 표의 헤더를 마우스 오른쪽 버튼으로 클릭하고 응답 헤더 > 헤더 열 관리를 선택합니다.
- 대화상자 창에서 커스텀 헤더 추가를 클릭하고 이름을 입력한 후 추가를 클릭합니다.
인라인 프레임별로 요청 그룹화
페이지의 인라인 프레임이 많은 요청을 시작하는 경우 이를 그룹화하여 요청 로그를 보다 쉽게 만들 수 있습니다.
iframe별로 요청을 그룹화하려면 Network 패널에서 Settings 를 열고
Group by frame을 선택합니다.
인라인 프레임에 의해 시작된 요청을 보려면 요청 로그에서 해당 요청을 펼치세요.
요청 간의 타이밍 보기
폭포식 구조를 사용하여 요청 간의 타이밍을 볼 수 있습니다. 기본적으로 폭포식 구조는 요청 시작 시간을 기준으로 구성됩니다. 따라서 왼쪽 끝에 있는 요청이 오른쪽 끝에 있는 요청보다 먼저 시작된 것입니다.
폭포식 구조를 정렬할 수 있는 여러 가지 방법을 알아보려면 활동 단계를 기준으로 정렬을 참고하세요.
WebSocket 연결의 메시지 분석
WebSocket 연결의 메시지를 보려면 다음 단계를 따르세요.
- 요청 표의 이름 열에서 WebSocket 연결의 URL을 클릭합니다.
- 메시지 탭을 클릭합니다. 표에는 최근 100개의 메시지가 표시됩니다.
표를 새로고침하려면 Requests 표의 Name 열에서 WebSocket 연결 이름을 다시 클릭합니다.
표에는 3개의 열이 있습니다.
- Data 클래스에서 정의된 이름을 사용하지 않습니다. 메시지 페이로드입니다. 메시지가 일반 텍스트인 경우 여기에 표시됩니다. 바이너리 연산 부호인 경우 이 열은 명령 코드의 이름과 코드를 표시합니다. 연속 프레임, 바이너리 프레임, 연결 닫기 프레임, Ping 프레임, Pong 프레임인 명령 코드가 지원됩니다.
- 길이. 바이트 단위의 메시지 페이로드 길이.
- 시간. 메시지를 받거나 보낸 시간입니다.
메시지는 유형에 따라 색상이 구분됩니다.
- 발신 문자 메시지는 연한 녹색입니다.
- 수신 문자 메시지는 흰색입니다.
- WebSocket 명령 코드는 연한 노란색입니다.
- 오류는 옅은 빨간색입니다.
응답 본문의 미리보기 보기
응답 본문의 미리보기를 보려면 다음 안내를 따르세요.
- 요청 표의 이름 열에서 요청 URL을 클릭합니다.
- 미리보기 탭을 클릭합니다.
이 탭은 이미지를 볼 때 주로 유용합니다.
응답 본문 보기
요청에 대한 응답 본문을 보려면 다음 안내를 따르세요.
- 요청 표의 이름 열 아래에 있는 요청의 URL을 클릭합니다.
- 응답 탭을 클릭합니다.
HTTP 헤더 보기
요청의 HTTP 헤더 데이터를 보려면 다음 안내를 따르세요.
- 요청 표에서 요청을 클릭합니다.
- 헤더 탭을 열고 일반, 응답 헤더 또는 요청 헤더 섹션까지 아래로 스크롤합니다.
General 섹션의 DevTools에서 수신된 HTTP 상태 코드 옆에 읽을 수 있는 상태 메시지를 표시합니다.
Response Headers 섹션에서 헤더 값 위로 마우스를 가져가 Edit 버튼을 클릭하면 응답 헤더를 로컬에서 재정의할 수 있습니다.
HTTP 헤더 소스 보기
기본적으로 Headers 탭에는 헤더 이름이 알파벳순으로 표시됩니다. HTTP 헤더 이름을 수신된 순서대로 보려면 다음 단계를 따르세요.
- 확인하려는 요청의 헤더 탭을 엽니다. HTTP 헤더 보기를 참고하세요.
- 요청 헤더 또는 응답 헤더 섹션 옆에 있는 소스 보기를 클릭합니다.
임시 헤더 경고
Headers 탭에 Provisional headers are shown...
경고 메시지가 표시될 때도 있습니다. 이는 다음과 같은 이유 때문일 수 있습니다.
요청이 네트워크를 통해 전송되지 않았지만 원본 요청 헤더를 저장하지 않는 로컬 캐시에서 제공되었습니다. 이 경우 캐싱을 사용 중지하여 전체 요청 헤더를 볼 수 있습니다.
네트워크 리소스가 올바르지 않습니다. 예를 들어 콘솔에서
fetch("https://jec.fish.com/unknown-url/")
를 실행합니다.
또한 보안상의 이유로 DevTools는 임시 헤더만 표시할 수 있습니다.
요청 페이로드 보기
요청의 페이로드(쿼리 문자열 매개변수 및 양식 데이터)를 보려면 요청 테이블에서 요청을 선택하고 페이로드 탭을 엽니다.
페이로드 소스 보기
기본적으로 DevTools는 페이로드를 사람이 읽을 수 있는 형식으로 표시합니다.
쿼리 문자열 매개변수 및 양식 데이터의 소스를 보려면 페이로드 탭에서 쿼리 문자열 매개변수 또는 양식 데이터 섹션 옆에 있는 소스 보기를 클릭합니다.
쿼리 문자열 매개변수의 URL 디코딩된 인수를 봅니다.
인수의 URL 인코딩을 전환하려면 페이로드 탭에서 디코딩된 보기 또는 URL 인코딩 보기를 클릭합니다.
쿠키 보기
요청의 HTTP 헤더로 전송된 쿠키를 보려면 다음 안내를 따르세요.
- 요청 표의 이름 열 아래에 있는 요청의 URL을 클릭합니다.
- 쿠키 탭을 클릭합니다.
각 열에 대한 설명은 필드를 참조하세요.
쿠키를 수정하려면 쿠키 보기, 수정 및 삭제를 참고하세요.
요청의 타이밍 분석 보기
요청의 타이밍 분석을 보려면 다음 안내를 따르세요.
- 요청 표의 이름 열에서 요청 URL을 클릭합니다.
- 시간 탭을 클릭합니다.
이 데이터에 빠르게 액세스하는 방법을 알아보려면 타이밍 분석 미리보기를 참고하세요.
타이밍 탭에 표시될 수 있는 각 단계에 관한 자세한 내용은 시간 분석 단계 설명을 참고하세요.
타이밍 분석 미리보기
요청의 타이밍 분석 미리보기를 보려면 요청 표의 폭포식 구조 열에서 요청 항목 위로 마우스를 가져갑니다.
마우스 오버할 필요 없이 이 데이터에 액세스하는 방법은 요청의 타이밍 분석 보기를 참고하세요.
시간 분석 단계 설명
시간 탭에 표시될 수 있는 각 단계에 대한 자세한 내용은 다음과 같습니다.
- 현재 재생목록. 브라우저는 연결 시작 전과 다음 시점의 요청을 큐에 추가합니다.
- 우선순위가 더 높은 요청이 있습니다.
- 이 출처에 대해 이미 한도인 6개의 TCP 연결이 열려 있습니다. HTTP/1.0 및 HTTP/1.1에만 적용됩니다.
- 브라우저가 일시적으로 디스크 캐시에 공간을 할당합니다.
- 중단됨. 대기열에 설명된 이유로 인해 연결 시작 후 요청이 중단될 수 있습니다.
- DNS 조회. 브라우저가 요청의 IP 주소를 확인하는 중입니다.
- 초기 연결. 브라우저가 TCP 핸드셰이크/재시도를 포함한 연결을 설정하고 SSL을 협상합니다.
- 프록시 협상. 브라우저가 프록시 서버와 요청을 협상합니다.
- 요청이 전송되었습니다. 요청을 전송하는 중입니다.
- ServiceWorker 준비. 브라우저가 서비스 워커를 시작하는 중입니다.
- ServiceWorker에 대한 요청 요청이 서비스 워커로 전송되고 있습니다.
- 대기 (TTFB). 브라우저가 응답의 첫 바이트를 기다리는 중입니다. TTFB는 Time To First Byte(첫 바이트까지의 시간)를 의미합니다. 이 타이밍에는 지연 시간 1회와 서버가 응답을 준비하는 데 걸린 시간이 포함됩니다.
- 콘텐츠 다운로드. 브라우저가 네트워크에서 직접 또는 서비스 워커로부터 응답을 수신하고 있습니다. 이 값은 응답 본문을 읽는 데 소요된 총 시간입니다. 값이 예상보다 크면 네트워크가 느리거나 브라우저에서 다른 작업을 수행하느라 응답 읽기가 지연됨을 나타낼 수 있습니다.
- 푸시 수신. 브라우저가 HTTP/2 서버 푸시를 통해 이 응답에 대한 데이터를 수신하고 있습니다.
- 푸시 읽기. 브라우저가 이전에 수신한 로컬 데이터를 읽고 있습니다.
시작자 및 종속 항목 보기
요청의 시작자 및 종속 항목을 보려면 Shift 키를 누른 상태에서 요청 표에서 요청 위로 마우스를 가져갑니다. DevTools는 시작자를 녹색으로, 종속 항목을 빨간색으로 표시합니다.
Requests 표가 시간순으로 정렬되면 마우스를 가져간 요청 위에 있는 첫 번째 녹색 요청이 종속 항목의 시작자입니다. 그 위에 다른 녹색 요청이 있다면 이 높은 요청이 시작자의 시작자입니다. 될 수 있습니다.
로드 이벤트 보기
DevTools는 DOMContentLoaded
및 load
이벤트의 시간을 Network 패널의 여러 위치에 표시합니다. DOMContentLoaded
이벤트는 파란색이고 load
이벤트는 빨간색입니다.
총 요청 수 보기
총 요청 수는 네트워크 패널 하단의 요약 창에 표시됩니다.
전송 및 로드된 리소스의 총 크기 보기
DevTools의 Network 패널 하단에 있는 Summary 창에 전송 및 로드된 (압축되지 않은) 리소스의 총 크기가 표시됩니다.
브라우저에서 압축을 해제한 후의 리소스 크기를 확인하려면 압축되지 않은 리소스 크기 보기를 참조하세요.
요청을 일으킨 스택 트레이스 보기
자바스크립트 문으로 인해 리소스가 요청되는 경우 Initiator 열 위로 마우스를 가져가면 요청까지의 스택 트레이스가 표시됩니다.
압축되지 않은 리소스 크기 보기
설정 > 큰 요청 행 사용을 선택한 다음 크기 열의 하단 값을 확인합니다.
이 예에서 네트워크를 통해 전송된 www.google.com
문서의 압축된 크기는 43.8 KB
인 반면 압축되지 않은 크기는 136 KB
입니다.
요청 데이터 내보내기
모든 네트워크 요청을 HAR 파일에 저장합니다.
HAR (HTTP 보관 파일)은 여러 HTTP 세션 도구에서 캡처된 데이터를 내보내는 데 사용하는 파일 형식입니다. 형식은 특정 필드 세트를 갖는 JSON 객체입니다.
다음 두 가지 방법으로 모든 네트워크 요청을 HAR 파일에 저장할 수 있습니다.
- 요청 표에서 요청을 마우스 오른쪽 버튼으로 클릭하고 콘텐츠와 함께 HAR로 저장을 선택합니다.
- Network 패널 상단의 작업 표시줄에서
Export HAR을 클릭합니다.
HAR 파일이 있으면 다음 두 가지 방법으로 분석을 위해 DevTools로 다시 가져올 수 있습니다.
- HAR 파일을 Requests 테이블로 드래그 앤 드롭합니다.
- Network 패널 상단의 작업 표시줄에서
Import HAR을 클릭합니다.
클립보드에 하나 이상의 요청 복사
요청 표의 이름 열에서 요청을 마우스 오른쪽 버튼으로 클릭하고 복사에 마우스를 가져간 후 다음 옵션 중 하나를 선택합니다.
- 링크 주소 복사 요청의 URL을 클립보드에 복사합니다.
- 파일 이름 복사. 클립보드에 파일 이름을 복사합니다.
- 답변 복사 응답 본문을 클립보드에 복사합니다.
- PowerShell로 복사. 요청을 PowerShell 명령어로 복사합니다.
- 가져오기로 복사 요청을 가져오기 호출로 복사합니다.
- Node.js 가져오기로 복사 요청을 Node.js 가져오기 호출로 복사합니다.
- cURL로 복사 요청을 cURL 명령어로 복사합니다.
- 모두 PowerShell로 복사합니다. 모든 요청을 PowerShell 명령어 체인으로 복사합니다.
- 모두 가져오기로 복사: 모든 요청을 가져오기 호출 체인으로 복사합니다.
- 모두 Node.js 가져오기로 복사합니다. 모든 요청을 Node.js 가져오기 호출 체인으로 복사합니다.
- 모두 cURL로 복사 모든 요청을 cURL 명령어 체인으로 복사합니다.
- 모두 HAR로 복사. 모든 요청을 HAR 데이터로 복사합니다.
Network 패널의 레이아웃 변경
Network 패널 UI의 섹션을 펼치거나 접어 중요한 부분에 집중할 수 있습니다.
필터 창 숨기기
기본적으로 DevTools에는 필터 창이 표시됩니다. 필터
를 클릭하여 숨깁니다.
큰 요청 행 사용
네트워크 요청 테이블에 더 많은 공백을 사용하려면 큰 행을 사용합니다. 일부 열은 큰 행을 사용할 때 추가 정보를 제공하기도 합니다. 예를 들어 Size 열의 하단 값은 압축되지 않은 요청의 크기입니다.
설정 을 열고 큰 요청 행 사용을 클릭하여 큰 행을 사용 설정합니다.
Overview 창 숨기기
기본적으로 DevTools에는 개요 창이 표시됩니다. 설정 을 열고 개요 표시 체크박스를 선택 해제하여 숨깁니다.