Chrome DevTools 네트워크 분석 기능의 종합 레퍼런스에서 페이지 로드 방식을 분석하는 새로운 방법을 찾아보세요.
네트워크 요청 기록
DevTools는 기본적으로 DevTools가 열려 있는 한 Network 패널에 모든 네트워크 요청을 기록합니다.
네트워크 요청 기록 중지
요청 기록을 중지하려면 다음 단계를 따르세요.
- 네트워크 패널에서 네트워크 로그 기록 중지 를 클릭합니다. 회색으로 변하여 DevTools가 더 이상 요청을 기록하지 않음을 나타냅니다.
- Network 패널에 포커스가 있을 때 Command> + E (Mac) 또는 Control + E (Windows, Linux)를 누릅니다.
요청 지우기
네트워크 패널에서 지우기 를 클릭하여 요청 표의 모든 요청을 삭제합니다.
페이지 로드 전체 요청 저장
페이지 로드 전체의 요청을 저장하려면 Network 패널에서 Preserve log 체크박스를 선택합니다. DevTools은 Preserve log를 중지할 때까지 모든 요청을 저장합니다.
페이지 로드 중 스크린샷 캡처
스크린샷을 캡처하여 사용자가 페이지 로드를 기다리는 동안 무엇을 보는지 분석합니다.
스크린샷을 사용 설정하려면 네트워크 패널 내에서 설정 을 열고 스크린샷 캡처를 선택합니다.
Network 패널이 스크린샷 캡처를 위해 포커스 상태일 때 페이지를 새로고침합니다.
캡처된 후에는 다음의 방법으로 스크린샷과 상호작용할 수 있습니다.
- 스크린샷 위로 마우스를 가져가 스크린샷이 캡처된 지점을 확인합니다. 개요 타임라인에 노란색 선이 나타납니다.
- 스크린샷의 썸네일을 클릭하여 스크린샷이 캡처된 후 발생한 모든 요청을 필터링합니다.
- 썸네일을 더블클릭하여 확대하려면 확대합니다.
XHR 요청 재생
XHR 요청을 재생하려면 요청 표에서 다음 중 하나를 실행합니다.
- 요청을 선택하고 R 키를 누릅니다.
- 요청을 마우스 오른쪽 버튼으로 클릭하고 Replay XHR을 선택합니다.
로드 동작 변경
브라우저 캐시를 사용 중지하여 신규 방문자 에뮬레이션
사이트에 처음 방문한 사용자 환경을 에뮬레이션하려면 캐시 사용 중지 확인란을 선택합니다. DevTools가 브라우저 캐시를 중지합니다. 이렇게 하면 반복 방문 시 브라우저 캐시에서 요청이 제공되므로 이렇게 하면 최초 사용자의 환경이 더 정확하게 에뮬레이션됩니다.
Network Conditions 창에서 브라우저 캐시 사용 중지
다른 DevTools 패널에서 작업하는 동안 캐시 사용을 중지하려면 네트워크 조건 창을 사용하세요.
- 아이콘을 클릭하여 Network Condition(네트워크 조건) 창을 엽니다.
- 캐시 사용 안함 체크박스를 선택하거나 선택 해제합니다.
브라우저 캐시 수동으로 삭제
언제든지 브라우저 캐시를 수동으로 모두 삭제하고 싶다면 요청 표의 아무 곳이나 오른쪽 클릭한 다음 브라우저 캐시 삭제를 선택합니다.
오프라인 에뮬레이션
프로그레시브 웹 앱이라는 새로운 웹 앱 클래스가 있으며, 이 클래스는 서비스 워커의 도움을 받아 오프라인에서 작동할 수 있습니다. 이 유형의 앱을 빌드할 때는 데이터 연결이 없는 기기를 빠르게 시뮬레이션하는 것이 유용합니다.
완전한 오프라인 네트워크 환경을 시뮬레이션하려면 캐시 사용 중지 체크박스 옆에 있는 네트워크 제한 드롭다운 메뉴에서 오프라인을 선택합니다.
DevTools는 Network 탭 옆에 경고 아이콘을 표시하여 오프라인이 사용 설정되었다는 것을 알립니다.
느린 네트워크 연결 에뮬레이션
빠른 4G, 느린 4G 또는 3G를 에뮬레이션하려면 상단의 작업 표시줄에 있는 제한 드롭다운 메뉴에서 해당하는 사전 설정을 선택합니다.
DevTools는 Network 패널 옆에
경고 아이콘을 표시하여 제한이 활성화되었다고 알려줍니다.맞춤 제한 프로필 만들기
느리거나 빠른 4G와 같은 사전 설정 외에도 자체 맞춤 제한 프로필을 추가할 수도 있습니다.
- 제한 메뉴를 열고 맞춤 > 추가...를 선택합니다.
- 설정 > 제한에 설명된 대로 새 제한 프로필을 설정합니다.
네트워크 패널로 돌아가 제한 드롭다운 메뉴에서 새 프로필을 선택합니다.
DevTools는 Network 패널 옆에 경고 아이콘을 표시하여 제한이 활성화되었다고 알려줍니다.
WebSocket 연결 제한
DevTools는 버전 99부터 HTTP 요청 외에도 WebSocket 연결을 제한합니다.
WebSocket 제한을 관찰하려면 다음 단계를 따르세요.
- 테스트 도구를 사용하여 새 연결을 시작합니다.
- Network 패널에서 No throttling(제한 없음)을 선택하고 연결을 통해 메시지를 전송합니다.
- 매우 느린 커스텀 제한 프로필(예:
10 kbit/s
)을 만듭니다. 이렇게 느린 프로필은 차이를 발견하는 데 도움이 됩니다. - 네트워크 패널에서 프로필을 선택하고 메시지를 다시 보냅니다.
- WS 필터를 전환하고 연결 이름을 클릭한 다음 메시지 탭을 열고 제한 여부와 관계없이 전송된 메시지와 에코된 메시지 간의 시간 차이를 확인합니다. 예를 들면 다음과 같습니다.
Network Conditions 창에서 느린 네트워크 연결 에뮬레이션
다른 DevTools 패널에서 작업하는 동안 네트워크 연결을 제한하려면 Network terms 창을 사용합니다.
- 아이콘을 클릭하여 Network Conditions 창을 엽니다.
- 네트워크 제한 메뉴에서 연결 속도를 선택합니다.
브라우저 쿠키 수동 삭제
언제든지 브라우저 쿠키를 수동으로 삭제하려면 요청 표의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 브라우저 쿠키 삭제를 선택합니다.
HTTP 응답 헤더 재정의
로컬에서 파일 및 HTTP 응답 헤더 재정의를 참고하세요.
사용자 에이전트 재정의
사용자 에이전트를 수동으로 재정의하려면 다음 단계를 따르세요.
- 아이콘을 클릭하여 Network Condition(네트워크 조건) 창을 엽니다.
- 자동 선택을 선택 해제합니다.
- 메뉴에서 사용자 에이전트 옵션을 선택하거나 상자에 맞춤 옵션을 입력합니다.
검색 요청
요청 헤더, 페이로드, 응답을 검색하려면 다음 단계를 따르세요.
다음 바로가기를 눌러 오른쪽의 검색 탭을 엽니다.
- macOS의 경우 Command + F
- Windows 또는 Linux의 경우 Control + F
검색 탭에서 쿼리를 입력하고 Enter 키를 누릅니다. 원하는 경우
또는 을 클릭하여 대소문자 구분 또는 정규 표현식을 각각 사용 설정할 수 있습니다.검색결과 중 하나를 클릭합니다. 네트워크 패널에는 일치하는 요청이 노란색으로 강조표시됩니다. 또한 패널은 헤더 또는 응답 탭을 열고 일치하는 문자열이 있는 경우 이를 강조 표시합니다.
검색 결과를 새로고침하려면
새로고침을 클릭합니다. 결과를 지우려면 지우기를 클릭합니다.DevTools에서 검색할 수 있는 모든 방법에 관한 자세한 내용은 검색: 로드된 모든 리소스에서 텍스트 찾기를 참고하세요.
요청 필터링
속성별 요청 필터링
Filter 상자를 사용하여 도메인이나 요청 크기와 같은 속성별로 요청을 필터링합니다.
상자가 보이지 않으면 필터 막대가 숨겨져 있을 수 있습니다. 필터 표시줄 숨기기를 참고하세요.
필터를 반전하려면 필터 상자 옆에 있는 반전 체크박스를 선택합니다.
각 속성을 공백으로 구분하여 여러 속성을 동시에 사용할 수 있습니다. 예를 들어 mime-type:image/gif larger-than:1K
는 1KB보다 큰 모든 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 (여기에 나열되지 않은 기타 유형) 버튼을 클릭합니다.
이러한 버튼이 보이지 않는다면 필터 작업 표시줄이 숨겨져 있기 때문일 수 있습니다. 필터 표시줄 숨기기를 참고하세요.
여러 유형의 리소스를 동시에 표시하려면 Command (Mac) 또는 Control (Windows, Linux) 키를 길게 누른 다음 여러 유형 필터를 클릭합니다.
시간별 요청 필터링
개요 타임라인을 왼쪽이나 오른쪽으로 드래그하여 해당 기간 동안 활성 상태였던 요청만 표시합니다. 이 필터는 포괄적입니다. 강조 표시된 시간에 활성 상태였던 모든 요청이 표시됩니다.
데이터 URL 숨기기
데이터 URL은 다른 문서에 삽입된 작은 파일입니다. 요청 표에 data:
로 시작하는 모든 요청은 데이터 URL입니다.
이러한 요청을 숨기려면 필터 작업 표시줄에서 필터 더보기 >
데이터 URL 숨기기를 선택합니다.하단의 상태 표시줄에는 총 요청 수 중에서 표시된 요청 수가 표시됩니다.
확장 프로그램 URL 숨기기
작성한 코드에 집중하려면 Chrome에 설치했을 수 있는 확장 프로그램에서 전송하는 관련 없는 요청을 필터링할 수 있습니다. 확장 요청의 URL은 chrome-extension://
로 시작합니다.
연장 요청을 숨기려면 필터 작업 표시줄에서 필터 더보기 >
연장 URL 숨기기를 선택합니다.하단의 상태 표시줄에는 표시된 총 요청 수가 표시됩니다.
차단된 응답 쿠키가 있는 요청만 표시합니다.
어떠한 이유로든 응답 쿠키가 차단된 요청을 제외한 모든 항목을 필터링하려면 필터 작업 표시줄에서 필터 더보기 > 데모 페이지에서 사용해 보세요.
차단된 응답 쿠키를 선택합니다. 이하단의 상태 표시줄에는 표시된 총 요청 수가 표시됩니다.
응답 쿠키가 차단된 이유를 확인하려면 요청을 선택하고 쿠키 탭을 연 다음
정보 아이콘 위로 마우스를 가져갑니다.또한 Chrome 플래그 또는 구성으로 인해 쿠키가 차단된 요청 옆에 네트워크 패널에
경고 아이콘이 표시됩니다. 아이콘 위로 마우스를 가져가면 단서가 포함된 툴팁이 표시되고 아이콘을 클릭하면 문제 패널로 이동하여 자세한 내용을 확인할 수 있습니다.차단된 요청만 표시
차단된 요청을 제외한 모든 항목을 필터링하려면 필터 작업 표시줄에서 필터 더보기 > 네트워크 요청 차단 탭을 사용하세요.
차단된 요청을 선택합니다. 이를 테스트하려면 창의요청 표에서는 차단된 요청이 빨간색으로 강조 표시됩니다. 하단의 상태 표시줄에는 표시된 총 요청 수가 표시됩니다.
서드 파티 요청만 표시
출처가 페이지 출처와 다른 요청을 제외한 모든 요청을 필터링하려면 필터 작업 표시줄에서 필터 더보기 > 데모 페이지에서 사용해 보세요.
서드 파티 요청을 선택합니다. 이하단의 상태 표시줄에는 총 요청 수 중에서 표시된 요청 수가 표시됩니다.
요청 정렬
기본적으로 요청 테이블의 요청은 시작 시간을 기준으로 정렬되지만 다른 기준을 사용하여 테이블을 정렬할 수 있습니다.
열을 기준으로 정렬
요청 표에서 열 헤더를 클릭하면 해당 열을 기준으로 요청을 정렬합니다.
활동 단계를 기준으로 정렬
Waterfall이 요청을 정렬하는 방식을 변경하려면 Requests 표의 헤더를 오른쪽 클릭하고 Waterfall 위로 마우스를 가져간 후 다음 옵션 중 하나를 선택합니다.
- 시작 시간. 첫 번째로 시작된 요청이 상단에 위치합니다.
- 응답 시간. 첫 번째로 다운로드를 시작한 요청이 상단에 위치합니다.
- 종료 시간. 첫 번째로 완료된 요청이 상단에 위치합니다.
- 전체 기간 연결 설정 및 요청 / 응답 시간이 가장 짧은 요청이 상단에 위치합니다.
- 지연 시간. 응답을 가장 적게 기다린 요청이 상단에 위치합니다.
이러한 설명은 각각의 옵션이 가장 짧은 것부터 가장 긴 것 순으로 순위가 매겨진다고 가정합니다. Waterfall 열의 헤더를 클릭하면 역순으로 정렬됩니다.
이 예에서 Waterfall은 총 소요 시간을 기준으로 정렬됩니다. 각 막대의 밝은 부분은 대기에 소모한 시간입니다. 어두운 부분은 바이트 다운로드에 소모한 시간입니다.
요청 분석
DevTools는 열려 있는 한 Network 패널에 모든 요청을 로깅합니다. Network 패널을 사용하여 요청을 분석합니다.
요청 로그 보기
요청 표를 사용하여 DevTools가 열려 있는 동안 생성된 모든 요청의 로그를 봅니다. 요청을 클릭하거나 마우스를 가져가면 요청에 관한 추가 정보가 표시됩니다.
Requests 표는 다음의 열을 기본으로 표시합니다.
- 이름. 리소스의 파일 이름 또는 식별자입니다.
상태: 이 열에는 다음 값이 표시될 수 있습니다.
- HTTP 상태 코드(예:
200
또는404
) - 교차 출처 리소스 공유 (CORS)로 인해 실패한 요청의 경우
CORS error
(blocked:origin)
: 헤더가 잘못 구성된 요청의 경우 이 상태 값 위로 마우스를 가져가면 문제에 대한 힌트가 포함된 도움말이 표시됩니다.(failed)
다음에 오류 메시지가 표시됩니다.
- HTTP 상태 코드(예:
유형. 요청된 리소스의 MIME 유형입니다.
Initiator. 다음 객체 또는 프로세스가 요청을 시작할 수 있습니다.
- 파서. Chrome의 HTML 파서.
- 리디렉션 HTTP 리디렉션
- 스크립트 JavaScript 함수
- 기타. 링크를 사용하여 페이지로 이동하거나 주소 표시줄에 URL을 입력하는 등의 다른 프로세스 또는 작업
Size(크기). 서버가 전달한 응답 헤더의 크기에 응답 본문을 더한 크기입니다.
시간. 요청 시작부터 응답의 최종 바이트를 수신할 때까지 걸린 총 기간입니다.
폭포식 구조 각 요청의 활동에 대한 시각적 분석
항목 추가/삭제하기
요청 표의 헤더를 마우스 오른쪽 버튼으로 클릭하고 숨기거나 표시하는 옵션을 선택합니다. 표시된 옵션 옆에는 체크 표시가 있습니다.
경로, URL, 메서드, 프로토콜, 스킴, 도메인, 원격 주소, 원격 주소 공간, 이니시에이터 주소 공간, 쿠키, 쿠키 설정, 우선순위, 연결 ID, 재정의 있음, 폭포식 구조 열을 추가하거나 삭제할 수 있습니다.
맞춤 열 추가
요청 표에 맞춤 열을 추가하려면 다음 단계를 따르세요.
- Requests 표의 헤더를 마우스 오른쪽 버튼으로 클릭하고 Response Headers > Manage Header Columns를 선택합니다.
- 대화상자 창에서 맞춤 헤더 추가를 클릭하고 이름을 입력한 다음 추가를 클릭합니다.
인라인 프레임별로 요청 그룹화
페이지의 인라인 프레임이 많은 요청을 시작하는 경우 요청을 그룹화하여 요청 로그를 더 쉽게 만들 수 있습니다.
iframe별로 요청을 그룹화하려면 네트워크 패널 내에서 설정 을 열고
프레임별로 그룹화를 선택합니다.인라인 프레임에서 시작한 요청을 보려면 요청 로그에서 해당 요청을 펼칩니다.
요청 간의 타이밍 보기
Waterfall을 사용하여 요청 간의 타이밍을 봅니다. 기본적으로 Waterfall은 요청의 시작 시간별로 정리되어 있습니다. 따라서 왼쪽으로 끝에 있는 요청이 오른쪽 끝에 있는 것보다 먼저 시작된 것입니다.
활동 단계를 기준으로 정렬을 참고하여 Waterfall을 정렬하는 다양한 방법을 알아보세요.
WebSocket 연결의 메시지 분석
WebSocket 연결의 메시지를 보려면 다음 단계를 따르세요.
- 요청 표의 이름 열에서 WebSocket 연결의 URL을 클릭합니다.
- 메시지 탭을 클릭합니다. 표에는 최근 메시지 100개가 표시됩니다.
표를 새로고침하려면 Requests 표의 Name 열 아래에 있는 WebSocket 연결의 이름을 다시 클릭합니다.
테이블에는 다음과 같은 세 개의 열이 있습니다.
- Data 클래스에서 정의된 이름을 사용하지 않습니다. 메시지 페이로드 메시지가 일반 텍스트인 경우 여기에 표시됩니다. 바이너리 연산 부호인 경우 이 열은 해당 연산 부호의 이름과 코드를 표시합니다. 연속 프레임, 바이너리 프레임, 연결 닫기 프레임, 핑 프레임, Pong 프레임과 같은 명령 코드가 지원됩니다.
- 길이 바이트 단위의 메시지 페이로드 길이.
- 시간. 메일을 받거나 보낸 시간입니다.
메시지는 유형에 따라 색상이 구분됩니다.
- 발신 텍스트 메시지는 연두색입니다.
- 수신 텍스트 메시지는 흰색입니다.
- WebSocket 연산 부호는 옅은 노란색입니다.
- 오류는 옅은 빨간색입니다.
스트림의 이벤트 분석
서버가 Fetch API, EventSource API, XHR을 통해 스트리밍하는 이벤트를 보려면 다음 단계를 따르세요.
- 이벤트를 스트리밍하는 페이지에서 네트워크 요청을 기록합니다. 예를 들어 이 데모 페이지를 열고 버튼 3개 중 하나를 클릭합니다.
- 네트워크에서 요청을 선택하고 EventStream 탭을 엽니다.
이벤트를 필터링하려면 EventStream 탭 상단의 필터 표시줄에 정규식을 지정합니다.
캡처된 이벤트 목록을 지우려면
지우기를 클릭합니다.응답 본문의 미리보기 보기
응답 본문의 미리보기를 보려면 다음 단계를 따르세요.
- 요청 표의 이름 열 아래에 있는 요청의 URL을 클릭합니다.
- 미리보기 탭을 클릭합니다.
이 탭은 주로 이미지를 보는 데 유용합니다.
응답 본문 보기
요청에 대한 응답 본문을 보려면 다음 단계를 따르세요.
- 요청 표의 이름 열에서 요청의 URL을 클릭합니다.
- 응답 탭을 클릭합니다.
HTTP 헤더 보기
요청의 HTTP 헤더 데이터를 보려면 다음 안내를 따르세요.
- 요청 표에서 요청을 클릭합니다.
- Headers 탭을 열고 General, Response Headers, Request Headers, 원하는 경우 Early Hints Headers 섹션으로 스크롤합니다.
일반 섹션의 DevTools는 수신된 HTTP 상태 코드 옆에 사람이 읽을 수 있는 상태 메시지를 표시합니다.
응답 헤더 섹션에서 헤더 값 위로 마우스를 가져가 로컬에서 응답 헤더를 재정의할 수 있습니다.
수정 버튼을 클릭하여HTTP 헤더 소스 보기
기본적으로 Headers 탭에는 헤더 이름이 알파벳순으로 표시됩니다. HTTP 헤더 이름을 수신한 순서대로 보려면 다음을 수행합니다.
- 관심 있는 요청의 헤더 탭을 엽니다. HTTP 헤더 보기를 참고하세요.
- Request Header 또는 Response Header 섹션 옆의 view source를 클릭합니다.
임시 헤더 경고
헤더 탭에 Provisional headers are shown...
경고 메시지가 표시되는 경우가 있습니다. 이는 다음과 같은 이유 때문일 수 있습니다.
이 요청은 네트워크를 통해 전송되지 않고 원본 요청 헤더를 저장하지 않는 로컬 캐시에서 제공되었습니다. 이 경우 캐싱을 사용 중지하여 전체 요청 헤더를 볼 수 있습니다.
네트워크 리소스가 유효하지 않습니다. 예를 들어 콘솔에서
fetch("https://jec.fish.com/unknown-url/")
를 실행합니다.
DevTools는 보안상의 이유로 임시 헤더만 표시할 수도 있습니다.
요청 페이로드 보기
요청의 페이로드(쿼리 문자열 매개변수 및 양식 데이터)를 보려면 요청 표에서 요청을 선택하고 페이로드 탭을 엽니다.
페이로드 소스 보기
기본적으로 DevTools는 페이로드를 사람이 읽을 수 있는 형식으로 표시합니다.
쿼리 문자열 매개변수 및 양식 데이터의 소스를 보려면 페이로드 탭에서 쿼리 문자열 매개변수 또는 양식 데이터 섹션 옆에 있는 소스 보기를 클릭합니다.
쿼리 문자열 매개변수의 URL 디코딩된 인수 보기
인수의 URL 인코딩을 전환하려면 페이로드 탭에서 디코딩된 항목 보기 또는 URL 인코딩된 항목 보기를 클릭합니다.
쿠키 보기
요청의 HTTP 헤더로 전송된 쿠키를 보려면 다음 안내를 따르세요.
- 요청 표의 이름 열에서 요청의 URL을 클릭합니다.
- Cookies(쿠키) 탭을 클릭합니다.
각 열에 대한 설명은 필드를 참조하세요.
쿠키를 수정하려면 쿠키 보기, 수정 및 삭제를 참고하세요.
요청의 타이밍 분석 보기
요청의 타이밍 분석을 보려면 다음 단계를 따르세요.
- 요청 표의 이름 열 아래에 있는 요청의 URL을 클릭합니다.
- 시간 탭을 클릭합니다.
이 데이터에 더 빠르게 액세스하는 방법은 타이밍 분석 미리보기를 참고하세요.
타이밍 탭에서 볼 수 있는 각 단계에 관한 자세한 내용은 타이밍 분석 단계 설명을 참고하세요.
타이밍 분석 미리보기
요청의 타이밍 분석 미리보기를 보려면 요청 표의 폭포식 구조 열에서 요청 항목 위로 마우스를 가져갑니다.
마우스 오버 없이 이 데이터에 액세스하는 방법은 요청의 타이밍 분석 보기를 참고하세요.
타이밍 분석 단계 설명
타이밍 탭에서 볼 수 있는 각 단계에 관한 자세한 설명은 다음과 같습니다.
- 큐 추가. 브라우저는 연결이 시작되기 전에 요청을 큐에 추가하고 다음과 같은 경우에도 요청을 큐에 추가합니다.
- 더 높은 우선순위의 요청이 있습니다.
- 이 출처에 이미 6개의 TCP 연결이 열려 있습니다. 이는 한도입니다. HTTP/1.0 및 HTTP/1.1에만 적용됩니다.
- 브라우저가 일시적으로 디스크 캐시에 공간을 할당합니다.
- Stalled. 연결이 시작된 후 큐 추가에 설명된 이유로 요청이 중단될 수 있습니다.
- DNS 룩업 브라우저가 요청의 IP 주소를 분석하고 있습니다.
- 초기 연결 브라우저에서 TCP 핸드셰이크 또는 재시도, SSL 협상 등을 포함하여 연결을 설정하고 있습니다.
- 프록시 협상 브라우저가 프록시 서버와 요청을 협상하고 있습니다.
- 요청이 전송되었습니다. 요청이 전송됩니다.
- ServiceWorker 준비. 브라우저가 서비스 워커를 시작 중입니다.
- ServiceWorker에 대한 요청 요청이 서비스 워커에 전송되고 있습니다.
- 대기 중 (TTFB) 브라우저가 응답의 첫 번째 바이트를 기다리고 있습니다. TTFB는 Time To First Byte(첫 바이트까지의 시간)의 두문자어입니다. 이 타이밍은 지연 시간의 1회 왕복 및 서버가 응답을 준비하는 데 걸린 시간을 포함합니다.
- 콘텐츠 다운로드 브라우저가 네트워크에서 직접 또는 서비스 워커로부터 응답을 수신하고 있습니다. 이 값은 응답 본문을 읽는 데 소비된 총 시간입니다. 값이 예상보다 크면 네트워크가 느리거나 브라우저에서 응답 읽기가 지연되는 다른 작업을 수행 중이라는 의미일 수 있습니다.
시작자 및 종속 항목 보기
요청의 시작자와 종속성을 보려면 Shift 키를 길게 누른 다음 요청 표에서 요청 위로 마우스를 가져갑니다. DevTools는 시작자를 녹색으로, 종속 항목을 빨간색으로 표시합니다.
요청 표가 시간 순서로 정리되었을 때, 마우스를 가져간 요청 위에 있는 첫 번째 초록색 요청이 종속성의 시작자입니다. 그 위에 다른 초록색 요청이 있다면 그 더 높은 요청이 시작자의 시작자입니다. 그 밖에도 많은 사례가 있습니다.
로드 이벤트 보기
DevTools는 DOMContentLoaded
및 load
이벤트의 타이밍을 Network 패널의 여러 위치에 표시합니다. DOMContentLoaded
이벤트는 파란색으로 표시되고 load
이벤트는 빨간색으로 표시됩니다.
총 요청 수 보기
총 요청 수는 네트워크 패널 하단의 상태 표시줄에 나열됩니다.
전송 및 로드된 리소스의 총 크기 보기
DevTools는 Network 패널 하단의 상태 표시줄에 전송되고 로드된 (압축되지 않은) 리소스의 총 크기를 표시합니다.
압축 해제된 리소스 크기 보기를 참고하여 브라우저가 압축을 해제한 후의 리소스 크기를 확인하세요.
요청을 유발한 스택 트레이스 보기
JavaScript 구문이 리소스 요청을 일으켰다면, Initiator 열에 마우스를 가져가 해당 요청까지의 스택 추적을 볼 수 있습니다.
압축 해제된 리소스 크기 보기
Settings > Big request rows를 선택한 다음 Size 열의 하단 값을 확인합니다.
이 예에서 네트워크를 통해 전송된 www.google.com
문서의 압축 크기는 43.8 KB
이고 압축 해제된 크기는 136 KB
입니다.
요청 데이터 내보내기
필터가 적용된 상태에서 요청 목록을 내보내거나 복사할 수 있으며, 아래에 설명된 여러 방법을 사용할 수 있습니다.
모든 네트워크 요청을 HAR 파일에 저장
HAR (HTTP 보관 파일)은 캡처된 데이터를 내보낼 때 여러 HTTP 세션 도구에서 사용하는 파일 형식입니다. 형식은 특정 필드 조합이 있는 JSON 객체입니다.
민감한 정보가 실수로 유출되는 가능성을 줄이기 위해 기본적으로 Cookie
, Set-Cookie
, Authorization
헤더와 같은 민감한 정보를 제외하는 '정리된' 네트워크 로그를 HAR 형식으로 내보낼 수 있습니다. 필요한 경우 민감한 정보가 포함된 로그를 내보낼 수도 있습니다.
모든 네트워크 요청을 HAR 파일에 저장하려면 다음 두 가지 방법 중 하나를 선택합니다.
요청 표에서 요청을 마우스 오른쪽 버튼으로 클릭하고 복사 > [나열된 모든 항목을 HAR로 저장 (삭제됨)) 또는 [나열된 모든 항목을 HAR로 저장 (민감한 정보 포함))을 선택합니다.
네트워크 패널 상단의 작업 표시줄에서
HAR (정리됨) 내보내기...를 클릭합니다.민감한 정보를 포함하여 내보내려면 먼저
설정 > 환경설정 > 네트워크 > 민감한 정보가 포함된 HAR을 생성하도록 허용을 사용 설정한 후 내보내기 버튼을 길게 클릭하고 HAR 내보내기 (민감한 정보 포함)를 선택합니다.
HAR 파일을 받으면 다음 두 가지 방법으로 DevTools에 다시 가져와 분석할 수 있습니다.
- HAR 파일을 요청 표에 드래그 앤 드롭합니다.
- 네트워크 패널 상단의 작업 표시줄에서 HAR 가져오기를 클릭합니다.
요청, 필터링된 요청 집합 또는 모든 요청을 클립보드에 복사
Requests 표의 Name 열에서 요청을 오른쪽 클릭하고 Copy 위로 마우스를 가져간 다음 다음 옵션 중 하나를 선택합니다.
단일 요청, 응답 또는 스택 트레이스를 복사하려면 다음 단계를 따르세요.
- URL 복사 요청의 URL을 클립보드에 복사합니다.
- cURL로 복사 요청을 cURL 명령어로 복사합니다.
- PowerShell로 복사. 요청을 PowerShell 명령어로 복사합니다.
- 가져오기로 복사 요청을 가져오기 호출로 복사합니다.
- 가져오기로 복사 (Node.js). 요청을 Node.js 가져오기 호출로 복사합니다.
- 답변 복사 응답 본문을 클립보드에 복사합니다.
- 스택 트레이스 복사 요청의 스택 트레이스를 클립보드에 복사합니다.
모든 요청을 복사하려면 다음 단계를 따르세요.
- 모든 URL 복사. 모든 요청의 URL을 클립보드에 복사합니다.
- 모두 cURL로 복사합니다. 모든 요청을 일련의 cURL 명령어로 복사합니다.
- 모두 PowerShell로 복사 모든 요청을 일련의 PowerShell 명령어로 복사합니다.
- 모두 가져오기로 복사 모든 요청을 가져오기 호출의 체인으로 복사합니다.
- 모두 가져오기로 복사 (Node.js) 모든 요청을 Node.js 가져오기 호출의 체인으로 복사합니다.
- 모두 HAR (정리됨)로 복사
Cookie
,Set-Cookie
,Authorization
헤더와 같은 민감한 정보 없이 모든 요청을 HAR 데이터로 복사합니다. - 모든 항목을 HAR 형식으로 복사 (민감한 정보 포함) 모든 요청을 민감한 정보가 포함된 HAR 데이터로 복사합니다.
필터링된 요청 집합을 복사하려면 네트워크 로그에 필터를 적용하고 요청을 마우스 오른쪽 버튼으로 클릭한 후 다음을 선택합니다.
- 나열된 모든 URL을 복사합니다. 필터링된 모든 요청의 URL을 클립보드에 복사합니다.
- 나열된 모든 항목을 cURL로 복사합니다. 필터링된 모든 요청을 일련의 cURL 명령어로 복사합니다.
- PowerShell로 표시된 모두 복사 필터링된 모든 요청을 일련의 PowerShell 명령어로 복사합니다.
- 나열된 항목을 모두 가져오기로 복사합니다. 필터링된 모든 요청을 가져오기 호출의 체인으로 복사합니다.
- 나열된 모든 항목을 가져오기로 복사합니다 (Node.js). 필터링된 모든 요청을 Node.js 가져오기 호출의 체인으로 복사합니다.
- 나열된 모든 항목을 HAR (정리됨) 형식으로 복사합니다. 필터링된 모든 요청을
Cookie
,Set-Cookie
,Authorization
헤더와 같은 민감한 정보 없이 HAR 데이터로 복사합니다. - 나열된 모든 항목을 HAR 형식으로 복사 (민감한 정보 포함) 필터링된 모든 요청을 민감한 정보가 포함된 HAR 데이터로 복사합니다.
Network 패널의 레이아웃 변경
Network 패널 UI의 섹션을 펼치거나 접어 중요한 내용에 집중할 수 있습니다.
필터 작업 표시줄 숨기기
기본적으로 DevTools는 Network 패널 상단에 Filters bar를 표시합니다. 필터를 클릭하여 숨깁니다.
큰 요청 행 사용
네트워크 요청 테이블에 더 많은 공백을 원하는 경우 큰 행을 사용할 수 있습니다. 일부 열은 큰 행을 사용할 때 추가 정보를 제공하기도 합니다. 예를 들어 Size 열의 하단 값은 압축되지 않은 요청 크기이고 Priority 열에는 초기 (최저 값) 및 최종 (최상위 값) 가져오기 우선순위가 모두 표시됩니다.
설정 을 열고 큰 요청 행을 클릭하여 큰 행을 표시합니다.
개요 트랙 숨기기
기본적으로 DevTools에는 개요 트랙이 표시됩니다. 설정 을 열고 개요 표시 체크박스를 선택 해제하여 숨깁니다.