네트워크 기능 참조

Kayce Basques
Kayce Basques
Sofia Emelianova
Sofia Emelianova

Chrome DevTools 네트워크 분석 기능에 관한 이 포괄적인 참조에서 페이지가 로드되는 방식을 분석하는 새로운 방법을 알아보세요.

네트워크 요청 기록

기본적으로 DevTools는 DevTools가 열려 있는 동안 네트워크 패널에 모든 네트워크 요청을 기록합니다.

네트워크 패널

네트워크 요청 녹화 중지

녹음 요청을 중지하려면 다음 단계를 따르세요.

  • 네트워크 패널에서 네트워크 로그 기록 중지를 클릭합니다. 네트워크 녹화를 중지합니다. DevTools에서 더 이상 요청을 기록하지 않음을 나타내기 위해 회색으로 바뀝니다.
  • 네트워크 패널이 포커스된 상태에서 Command + E (Mac) 또는 Control + E (Windows, Linux)를 누릅니다.

요청 지우기

네트워크 패널에서 지우기 삭제를 탭합니다.를 클릭하여 요청 표에서 모든 요청을 지웁니다.

지우기 버튼

페이지 로드 간에 요청 저장

페이지 로드 간에 요청을 저장하려면 네트워크 패널에서 로그 보존 체크박스를 선택합니다. 로그 보존을 사용 중지할 때까지 DevTools는 모든 요청을 저장합니다.

페이지 로드 중 스크린샷 캡처

페이지가 로드되기를 기다리는 동안 사용자에게 표시되는 내용을 분석하기 위해 스크린샷을 캡처합니다.

스크린샷을 사용 설정하려면 네트워크 패널 내에서 설정 설정을 탭합니다.을 열고 스크린샷 캡처를 선택합니다.

네트워크 패널이 포커스된 상태에서 페이지를 새로고침하여 스크린샷을 캡처합니다.

캡처한 후에는 다음과 같은 방법으로 스크린샷과 상호작용할 수 있습니다.

  • 스크린샷 위로 마우스를 가져가면 스크린샷이 캡처된 지점이 표시됩니다. 개요 타임라인에 노란색 선이 표시됩니다.
  • 스크린샷의 썸네일을 클릭하여 스크린샷이 캡처된 후에 발생한 요청을 필터링합니다.
  • 썸네일을 더블클릭하여 확대합니다.

스크린샷 캡처가 사용 설정되었습니다.

XHR 요청 다시 재생

XHR 요청을 재생하려면 요청 표에서 다음 중 하나를 수행하세요.

  • 요청을 선택하고 R을 누릅니다.
  • 요청을 마우스 오른쪽 버튼으로 클릭하고 XHR 재실행을 선택합니다.

'XHR 다시 재생'을 선택합니다.

로드 동작 변경

브라우저 캐시를 사용 중지하여 신규 방문자 에뮬레이션

처음 방문하는 사용자가 사이트를 어떻게 경험하는지 에뮬레이션하려면 캐시 사용 중지 체크박스를 선택합니다. DevTools는 브라우저 캐시를 사용 중지합니다. 반복 방문 시 요청이 브라우저 캐시에서 제공되므로 최초 사용자의 환경을 더 정확하게 에뮬레이션합니다.

캐시 사용 중지 체크박스

네트워크 조건 드로어에서 브라우저 캐시 사용 중지

다른 DevTools 패널에서 작업하는 동안 캐시를 사용 중지하려면 네트워크 조건 드로어를 사용하세요.

  1. 네트워크 상태 아이콘을 클릭하여 네트워크 조건 창을 엽니다.
  2. 캐시 사용 중지 체크박스를 선택하거나 선택 해제합니다.

브라우저 캐시 수동으로 삭제하기

언제든지 브라우저 캐시를 수동으로 삭제하려면 요청 표의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 브라우저 캐시 삭제를 선택합니다.

'브라우저 캐시 지우기'를 선택합니다.

오프라인 에뮬레이션

서비스 워커의 도움으로 오프라인에서 작동할 수 있는 새로운 클래스의 웹 앱인 프로그레시브 웹 앱이 있습니다. 이러한 유형의 앱을 빌드할 때는 데이터 연결이 없는 기기를 빠르게 시뮬레이션할 수 있는 것이 유용합니다.

완전히 오프라인인 네트워크 환경을 시뮬레이션하려면 캐시 사용 중지 체크박스 옆에 있는 네트워크 제한 드롭다운 메뉴에서 오프라인을 선택합니다.

드롭다운 메뉴에서 오프라인을 선택했습니다.

오프라인이 사용 설정되었음을 알리기 위해 DevTools의 네트워크 탭 옆에 경고 아이콘이 표시됩니다.

느린 네트워크 연결 에뮬레이션

빠른 4G, 느린 4G 또는 3G를 에뮬레이션하려면 상단의 작업 모음에서 제한 드롭다운 메뉴에서 해당 사전 설정을 선택합니다.

미리 설정이 있는 네트워크 제한 드롭다운 메뉴

DevTools는 네트워크 패널 옆에 경고 아이콘을 표시하여 스로틀링이 사용 설정되어 있음을 알려줍니다.

맞춤 제한 프로필 만들기

느린 4G 또는 빠른 4G와 같은 사전 설정 외에도 자체 맞춤 제한 프로필을 추가할 수 있습니다.

  1. 제한 메뉴를 열고 맞춤 > 추가...를 선택합니다.
  2. 설정 > 제한에 설명된 대로 새 제한 프로필을 설정합니다.
  3. 네트워크 패널로 돌아가 제한 드롭다운 메뉴에서 새 프로필을 선택합니다.

    제한 메뉴에서 선택한 맞춤 프로필 네트워크 패널에 경고 아이콘이 표시됩니다.

DevTools는 네트워크 패널 옆에 경고. 경고 아이콘을 표시하여 스로틀링이 사용 설정되어 있음을 알려줍니다.

WebSocket 연결 제한

HTTP 요청 외에도 DevTools는 버전 99부터 WebSocket 연결을 제한합니다.

WebSocket 제한을 관찰하려면 다음을 실행하세요.

  1. 테스트 도구를 사용하여 새 연결을 시작합니다.
  2. 네트워크 패널에서 제한 없음을 선택하고 연결을 통해 메시지를 보냅니다.
  3. 매우 느린 맞춤 제한 프로필(예: 10 kbit/s)을 만듭니다. 이러한 느린 프로필을 사용하면 차이를 쉽게 확인할 수 있습니다.
  4. 네트워크 패널에서 프로필을 선택하고 다른 메시지를 보냅니다.
  5. WS 필터를 전환하고 연결 이름을 클릭한 다음 메시지 탭을 열고 스로틀링이 적용된 경우와 적용되지 않은 경우 전송된 메시지와 에코된 메시지 간의 시간 차이를 확인합니다. 예를 들면 다음과 같습니다.

스로틀링을 사용하거나 사용하지 않고 전송되고 에코된 메시지

네트워크 조건 드로어에서 느린 네트워크 연결 에뮬레이션

다른 DevTools 패널에서 작업하는 동안 네트워크 연결을 제한하려면 네트워크 조건 드로어를 사용하세요.

  1. 네트워크 상태 아이콘을 클릭하여 네트워크 조건 창을 엽니다.
  2. 네트워크 제한 메뉴에서 연결 속도를 선택합니다.

브라우저 쿠키 수동으로 삭제하기

언제든지 브라우저 쿠키를 수동으로 삭제하려면 요청 표의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 브라우저 쿠키 삭제를 선택합니다.

브라우저 쿠키 삭제를 선택합니다.

HTTP 응답 헤더 재정의

로컬에서 파일 및 HTTP 응답 헤더 재정의를 참고하세요.

사용자 에이전트 재정의

사용자 에이전트를 수동으로 재정의하려면 다음 단계를 따르세요.

  1. 네트워크 상태 아이콘을 클릭하여 네트워크 조건 창을 엽니다.
  2. 자동 선택을 선택 해제합니다.
  3. 메뉴에서 사용자 에이전트 옵션을 선택하거나 상자에 맞춤 옵션을 입력합니다.

요청 헤더, 페이로드, 응답을 검색하려면 다음 단계를 따르세요.

  1. 다음 단축키를 눌러 오른쪽의 검색 탭을 엽니다.

    • macOS에서는 Command + F를 누릅니다.
    • Windows 또는 Linux에서는 Ctrl + F를 누릅니다.
  2. 검색 탭에 검색어를 입력하고 Enter 키를 누릅니다. 원하는 경우 또는 을 클릭하여 대소문자 구분 또는 정규 표현식을 각각 사용 설정합니다.

  3. 검색 결과 중 하나를 클릭합니다. 네트워크 패널에서 일치하는 요청이 노란색으로 강조 표시됩니다. 또한 패널에서 헤더 또는 응답 탭을 열고 일치하는 문자열이 있으면 이를 강조 표시합니다.

네트워크 패널의 오른쪽에 있는 검색 탭

검색 결과를 새로고침하려면 새로고침을 클릭합니다. 결과를 지우려면 지우기를 클릭합니다.

DevTools에서 검색할 수 있는 모든 방법에 관한 자세한 내용은 검색: 로드된 모든 리소스에서 텍스트 찾기를 참고하세요.

요청 필터링

속성별로 요청 필터링

필터 상자를 사용하여 도메인 또는 요청 크기와 같은 속성별로 요청을 필터링합니다.

상자가 표시되지 않으면 필터 표시줄이 숨겨져 있을 수 있습니다. 필터 표시줄 숨기기를 참고하세요.

필터 텍스트 상자와 반전 체크박스

필터를 반전하려면 필터 상자 옆에 있는 반전 체크박스를 선택합니다.

각 속성을 공백으로 구분하여 여러 속성을 동시에 사용할 수 있습니다. 예를 들어 mime-type:image/gif larger-than:1K은 1KB보다 큰 GIF를 모두 표시합니다. 이러한 다중 속성 필터는 AND 연산과 동일합니다. OR 작업은 지원되지 않습니다.

다음은 지원되는 속성의 전체 목록입니다.

  • cookie-domain. 특정 쿠키 도메인을 설정하는 리소스를 표시합니다.
  • cookie-name. 특정 쿠키 이름을 설정하는 리소스를 표시합니다.
  • cookie-path. 특정 쿠키 경로를 설정하는 리소스를 표시합니다.
  • cookie-value. 특정 쿠키 값을 설정하는 리소스를 표시합니다.
  • domain. 지정된 도메인의 리소스만 표시합니다. 와일드 카드 문자 (*)를 사용하여 여러 도메인을 포함할 수 있습니다. 예를 들어 *.com에는 .com으로 끝나는 모든 도메인 이름의 리소스가 표시됩니다. DevTools는 자동 완성 드롭다운 메뉴를 표시하고 여기에 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가 있는 리소스를 표시합니다.

유형별로 요청 필터링

리소스 유형별로 요청을 필터링하려면 네트워크 패널에서 모두, Fetch/XHR, JS, CSS, Img, Media, Font, Doc, WS (WebSocket), Wasm (WebAssembly), Manifest 또는 Other (여기에 나열되지 않은 기타 유형) 버튼을 클릭합니다.

이 버튼이 표시되지 않으면 필터 작업 표시줄이 숨겨져 있을 수 있습니다. 필터 표시줄 숨기기를 참고하세요.

여러 유형의 리소스를 동시에 표시하려면 Command (Mac) 또는 Control (Windows, Linux) 키를 누른 상태에서 유형 필터를 여러 개 클릭합니다.

유형 필터를 사용하여 CSS 및 문서 리소스를 표시합니다.

시간별로 요청 필터링

개요 타임라인에서 왼쪽이나 오른쪽으로 드래그하여 해당 기간에 활성화된 요청만 표시합니다. 필터는 포함됩니다. 강조 표시된 시간 동안 활성 상태였던 요청이 표시됩니다.

21~25ms 주변에서 활성화되지 않은 요청을 필터링합니다.

데이터 URL 숨기기

데이터 URL은 다른 문서에 삽입된 작은 파일입니다. 요청 표에 표시된 요청 중 data:로 시작하는 요청은 데이터 URL입니다.

이러한 요청을 숨기려면 필터 작업 표시줄에서 필터 더보기 > 데이터 URL 숨기기를 선택합니다.

요청 표에서 숨겨진 데이터 URL입니다.

하단의 상태 표시줄에 전체 요청 수 중에서 표시된 요청 수가 표시됩니다.

확장 프로그램 URL 숨기기

작성한 코드에 집중하려면 Chrome에 설치했을 수 있는 확장 프로그램에서 보낸 관련 없는 요청을 필터링하면 됩니다. 확장 프로그램 요청에는 chrome-extension://로 시작하는 URL이 있습니다.

확장 프로그램 요청을 숨기려면 필터 작업 모음에서 필터 더보기 > 확장 프로그램 URL 숨기기를 선택합니다.

확장 프로그램 URL이 요청 표에서 숨겨져 있습니다.

하단의 상태 표시줄에 전체 요청 수 중에서 표시된 요청 수가 표시됩니다.

차단된 응답 쿠키가 있는 요청만 표시

어떤 이유로든 응답 쿠키가 차단된 요청을 제외한 모든 항목을 필터링하려면 필터 작업 표시줄에서 필터 더보기 > 차단된 응답 쿠키를 선택합니다.

요청 표에는 차단된 응답 쿠키가 있는 요청만 표시됩니다.

하단의 상태 표시줄에 전체 요청 수 중에서 표시된 요청 수가 표시됩니다.

응답 쿠키가 차단된 이유를 확인하려면 요청을 선택하고 쿠키 탭을 연 다음 정보 아이콘 위로 마우스를 가져갑니다.

또한 네트워크 패널에는 Chrome 플래그 또는 구성으로 인해 쿠키가 차단된 요청 옆에 경고 아이콘이 표시됩니다. 아이콘 위로 마우스를 가져가면 힌트가 포함된 툴팁이 표시되며, 아이콘을 클릭하면 문제 패널로 이동하여 자세한 내용을 확인할 수 있습니다.

Chrome 플래그 또는 구성으로 차단된 요청 옆에 있는 경고 아이콘

차단된 요청만 표시

차단된 요청을 제외한 모든 항목을 필터링하려면 필터 작업 모음에서 필터 더보기 > 차단된 요청을 선택합니다. 이를 테스트하려면 드로어의 네트워크 요청 차단 탭을 사용하면 됩니다.

요청 표에는 차단된 요청만 표시됩니다.

요청 표에는 차단된 요청이 빨간색으로 강조 표시됩니다. 하단의 상태 표시줄에 전체 요청 수 중에서 표시된 요청 수가 표시됩니다.

서드 파티 요청만 표시

페이지 출처와 다른 출처의 요청을 제외한 모든 항목을 필터링하려면 필터 작업 모음에서 필터 더보기 > 서드 파티 요청을 선택합니다.

요청 표에는 서드 파티 요청만 표시됩니다.

하단의 상태 표시줄에 전체 요청 수 중에서 표시된 요청 수가 표시됩니다.

정렬 요청

기본적으로 요청 표의 요청은 시작 시간을 기준으로 정렬되지만 다른 기준을 사용하여 표를 정렬할 수 있습니다.

열별로 정렬

요청 표에서 열 헤더를 클릭하여 해당 열을 기준으로 요청을 정렬합니다.

활동 단계별 정렬

워터폴에서 요청을 정렬하는 방식을 변경하려면 요청 표의 헤더를 마우스 오른쪽 버튼으로 클릭하고 워터폴 위로 마우스를 가져간 다음 다음 옵션 중 하나를 선택합니다.

  • 시작 시간. 시작된 첫 번째 요청이 상단에 표시됩니다.
  • 응답 시간 다운로드를 시작한 첫 번째 요청이 상단에 표시됩니다.
  • 종료 시간 완료된 첫 번째 요청이 상단에 있습니다.
  • 전체 기간 연결 설정 및 요청 / 응답이 가장 짧은 요청이 맨 위에 있습니다.
  • 지연 시간. 응답을 가장 짧은 시간 동안 기다린 요청이 맨 위에 있습니다.

이 설명에서는 각 옵션이 가장 짧은 것부터 가장 긴 것 순으로 순위가 지정된다고 가정합니다. 워터폴 열의 헤더를 클릭하면 순서가 반대로 바뀝니다.

이 예시에서 워터폴은 총 기간을 기준으로 정렬됩니다. 각 막대의 더 밝은 부분은 대기하는 데 소요된 시간입니다. 더 어두운 부분은 바이트를 다운로드하는 데 걸린 시간입니다.

총 기간별로 폭포식 차트를 정렬합니다.

요청 분석

DevTools가 열려 있는 동안에는 모든 요청이 네트워크 패널에 기록됩니다. 네트워크 패널을 사용하여 요청을 분석합니다.

요청 로그 보기

요청 표를 사용하여 DevTools가 열려 있는 동안 이루어진 모든 요청의 로그를 확인합니다. 요청을 클릭하거나 마우스를 가져가면 요청에 대한 추가 정보가 표시됩니다.

요청 표입니다.

요청 표에는 기본적으로 다음 열이 표시됩니다.

  • 이름. 리소스의 파일 이름 또는 식별자입니다.
  • 상태: 이 열에는 다음 값이 표시될 수 있습니다.

    상태 열의 값이 다릅니다.

    • HTTP 상태 코드(예: 200 또는 404)
    • 교차 출처 리소스 공유 (CORS)로 인해 요청이 실패한 경우 CORS error
    • (blocked:origin): 헤더가 잘못 구성된 요청의 경우 이 상태 값 위로 마우스를 가져가면 무엇이 잘못되었는지에 관한 힌트가 포함된 도움말이 표시됩니다.
    • (failed) 뒤에 오류 메시지가 표시됩니다.
  • 유형. 요청된 리소스의 MIME 유형입니다.

  • Initiator. 다음 객체 또는 프로세스는 요청을 시작할 수 있습니다.

    • 파서 Chrome의 HTML 파서입니다.
    • 리디렉션 HTTP 리디렉션입니다.
    • 스크립트 JavaScript 함수입니다.
    • 기타 링크를 사용하여 페이지로 이동하거나 주소 표시줄에 URL을 입력하는 등의 다른 프로세스 또는 작업
  • Size(크기). 서버에서 전송한 응답 헤더와 응답 본문의 결합된 크기입니다.

  • 시간. 요청 시작부터 응답의 마지막 바이트 수신까지의 총 기간입니다.

  • 폭포 차트 각 요청 활동의 시각적 분석

항목 추가/삭제하기

요청 표의 헤더를 마우스 오른쪽 버튼으로 클릭하고 숨기거나 표시하는 옵션을 선택합니다. 표시된 옵션 옆에 체크표시가 있습니다.

요청 표에 열을 추가하거나 삭제합니다.

경로, URL, 메서드, 프로토콜, 스키마, 도메인, 원격 주소, 원격 주소 공간, 시작자 주소 공간, 쿠키, 쿠키 설정, 우선순위, 연결 ID, 재정의 있음, 워터폴과 같은 추가 열을 추가하거나 삭제할 수 있습니다.

맞춤 열 추가

요청 표에 맞춤 열을 추가하려면 다음 단계를 따르세요.

  1. 요청 표의 헤더를 마우스 오른쪽 버튼으로 클릭하고 응답 헤더 > 헤더 열 관리를 선택합니다.
  2. 대화상자에서 맞춤 헤더 추가를 클릭하고 이름을 입력한 다음 추가를 클릭합니다.

요청 표에 맞춤 열을 추가합니다.

인라인 프레임별 요청 그룹화

페이지의 인라인 프레임에서 많은 요청을 시작하는 경우 요청을 그룹화하여 요청 로그를 더 친숙하게 만들 수 있습니다.

iframe별로 요청을 그룹화하려면 네트워크 패널 내에서 설정 설정을 탭합니다.을 열고 프레임별로 그룹화를 선택합니다.

요청이 iframe별로 그룹화된 네트워크 요청 로그입니다.

인라인 프레임에서 시작된 요청을 보려면 요청 로그에서 펼칩니다.

요청의 타이밍을 서로 비교하여 확인

폭포를 사용하여 요청의 타이밍을 서로 관련하여 확인합니다. 기본적으로 워터폴은 요청의 시작 시간을 기준으로 구성됩니다. 따라서 왼쪽에 있는 요청이 오른쪽에 있는 요청보다 먼저 시작되었습니다.

폭포를 정렬할 수 있는 다양한 방법은 활동 단계별로 정렬을 참고하세요.

'요청' 탭의 '폭포식 구조' 열

WebSocket 연결의 메시지 분석

WebSocket 연결의 메시지를 보려면 다음 단계를 따르세요.

  1. 요청 표의 이름 열에서 WebSocket 연결의 URL을 클릭합니다.
  2. 메시지 탭을 클릭합니다. 표에는 최근 100개의 메시지가 표시됩니다.

표를 새로고침하려면 요청 표의 이름 열에서 WebSocket 연결 이름을 다시 클릭합니다.

메시지 탭

표에는 다음 세 개의 열이 포함되어 있습니다.

  • Data 클래스에서 정의된 이름을 사용하지 않습니다. 메시지 페이로드입니다. 메시지가 일반 텍스트인 경우 여기에 표시됩니다. 바이너리 명령 코드의 경우 이 열에 명령 코드의 이름과 코드가 표시됩니다. 지원되는 작업 코드는 Continuation Frame, Binary Frame, Connection Close Frame, Ping Frame, Pong Frame입니다.
  • 길이 메일 페이로드의 길이(단위: 바이트)입니다.
  • 시간. 메일이 수신 또는 전송된 시간입니다.

메시지는 유형에 따라 색상으로 구분됩니다.

  • 발신 문자 메시지는 밝은 녹색입니다.
  • 수신 문자 메시지가 흰색입니다.
  • WebSocket 작업 코드는 밝은 노란색입니다.
  • 오류는 밝은 빨간색입니다.

스트림의 이벤트 분석

서버가 Fetch API, EventSource API, XHR을 통해 스트리밍하는 이벤트를 보려면 다음 단계를 따르세요.

  1. 이벤트를 스트리밍하는 페이지에서 네트워크 요청 기록
  2. 네트워크에서 요청을 선택하고 EventStream 탭을 엽니다.

EventStream 탭

이벤트를 필터링하려면 EventStream 탭 상단의 필터 표시줄에 정규식을 지정합니다.

캡처된 이벤트 목록을 지우려면 지우기를 클릭합니다.

응답 본문 미리보기

응답 본문의 미리보기를 보려면 다음 단계를 따르세요.

  1. 요청 표의 이름 열에서 요청의 URL을 클릭합니다.
  2. 미리보기 탭을 클릭합니다.

이 탭은 주로 이미지를 보는 데 유용합니다.

미리보기 탭

응답 본문 보기

요청에 대한 응답 본문을 보려면 다음 단계를 따르세요.

  1. 요청 표의 이름 열에서 요청의 URL을 클릭합니다.
  2. 응답 탭을 클릭합니다.

'응답' 탭

HTTP 헤더 보기

요청의 HTTP 헤더 데이터를 보려면 다음 단계를 따르세요.

  1. 요청 표에서 요청을 클릭합니다.
  2. 헤더 탭을 열고 일반, 응답 헤더, 요청 헤더, Early Hints 헤더 섹션(선택사항)으로 스크롤합니다.

요청 표에서 선택한 요청의 헤더 탭

일반 섹션에서 DevTools는 수신된 HTTP 상태 코드 옆에 사람이 읽을 수 있는 상태 메시지를 표시합니다.

응답 헤더 섹션에서 헤더 값 위로 마우스를 가져가 수정 버튼을 클릭하여 응답 헤더를 로컬로 재정의할 수 있습니다.

HTTP 헤더 소스 보기

기본적으로 헤더 탭에는 헤더 이름이 알파벳순으로 표시됩니다. 수신된 순서대로 HTTP 헤더 이름을 보려면 다음 단계를 따르세요.

  1. 관심 있는 요청의 헤더 탭을 엽니다. HTTP 헤더 보기를 참고하세요.
  2. 요청 헤더 또는 응답 헤더 섹션 옆에 있는 소스 보기를 클릭합니다.

임시 헤더 경고

헤더 탭에 Provisional headers are shown... 경고 메시지가 표시되는 경우도 있습니다. 이는 다음과 같은 이유 때문일 수 있습니다.

  • 요청이 네트워크를 통해 전송되지 않고 원본 요청 헤더를 저장하지 않는 로컬 캐시에서 제공되었습니다. 이 경우 캐싱을 사용 중지하여 전체 요청 헤더를 확인할 수 있습니다. 임시 헤더 경고 메시지

  • 네트워크 리소스가 잘못되었습니다. 예를 들어 콘솔에서 fetch("https://jec.fish.com/unknown-url/")를 실행합니다. 임시 헤더 경고 메시지

보안상의 이유로 DevTools에 임시 헤더만 표시될 수도 있습니다.

요청 페이로드 보기

요청의 페이로드, 즉 쿼리 문자열 매개변수와 양식 데이터를 보려면 요청 표에서 요청을 선택하고 페이로드 탭을 엽니다.

페이로드 탭

페이로드 소스 보기

기본적으로 DevTools는 페이로드를 사람이 읽을 수 있는 형식으로 표시합니다.

쿼리 문자열 매개변수 및 양식 데이터의 소스를 보려면 페이로드 탭에서 쿼리 문자열 매개변수 또는 양식 데이터 섹션 옆에 있는 소스 보기를 클릭합니다.

소스 보기 버튼

쿼리 문자열 매개변수의 디코딩된 인수 보기

인수의 URL 인코딩을 전환하려면 페이로드 탭에서 디코딩된 항목 보기 또는 URL 인코딩된 항목 보기를 클릭합니다.

URL 인코딩을 전환합니다.

쿠키 보기

요청의 HTTP 헤더에서 전송된 쿠키를 보려면 다음 단계를 따르세요.

  1. 요청 표의 이름 열에서 요청의 URL을 클릭합니다.
  2. Cookies(쿠키) 탭을 클릭합니다.

쿠키 탭

각 열에 대한 설명은 필드를 참고하세요.

쿠키를 수정하려면 쿠키 보기, 수정, 삭제를 참고하세요.

요청의 타이밍 분석 보기

요청의 타이밍 분석을 보려면 다음 단계를 따르세요.

  1. 요청 표의 이름 열에서 요청의 URL을 클릭합니다.
  2. 타이밍 탭을 클릭합니다.

이 데이터에 더 빠르게 액세스하려면 타이밍 분석 미리보기를 참고하세요.

타이밍 탭

타이밍 탭에 표시될 수 있는 각 단계에 관한 자세한 내용은 타이밍 분석 단계 설명을 참고하세요.

타이밍 분석 미리보기

요청의 타이밍 분석 미리보기를 보려면 요청 표의 워터폴 열에서 요청 항목 위로 마우스를 가져갑니다.

마우스를 가져가지 않아도 이 데이터에 액세스하는 방법을 알아보려면 요청의 타이밍 분석 보기를 참고하세요.

요청의 타이밍 분석을 미리 봅니다.

타이밍 분석 단계 설명

타이밍 탭에 표시될 수 있는 각 단계에 대한 자세한 내용은 다음과 같습니다.

  • 대기열 브라우저는 연결이 시작되기 전과 다음과 같은 경우 요청을 대기열에 추가합니다.
    • 우선순위가 더 높은 요청이 있습니다. 요청 우선순위는 리소스 유형, 문서 내 위치와 같은 요소에 따라 결정됩니다. 자세한 내용은 fetchpriority 가이드의 리소스 우선순위 섹션을 참고하세요.
    • 이 출처에 대해 이미 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는 네트워크 패널의 여러 위치에 DOMContentLoadedload 이벤트의 타이밍을 표시합니다. DOMContentLoaded 이벤트는 파란색으로, load 이벤트는 빨간색으로 표시됩니다.

네트워크 패널의 DOMContentLoaded 및 로드 이벤트 위치

총 요청 수 보기

총 요청 수는 네트워크 패널 하단의 상태 표시줄에 표시됩니다.

DevTools가 열린 이후의 총 요청 수입니다.

전송되고 로드된 리소스의 총 크기 보기

DevTools는 네트워크 패널 하단의 상태 표시줄에 전송되고 로드된 리소스의 총 크기 (비압축)를 표시합니다.

전송되고 로드된 리소스의 총 크기입니다.

브라우저에서 리소스를 압축 해제한 후의 크기를 확인하려면 리소스의 압축 해제된 크기 보기를 참고하세요.

요청을 발생시킨 스택 트레이스 보기

JavaScript 문으로 인해 리소스가 요청되는 경우 이니시에이터 열 위로 마우스를 가져가 요청으로 이어지는 스택 트레이스를 확인합니다.

리소스 요청으로 이어지는 스택 트레이스입니다.

리소스의 압축되지 않은 크기 보기

설정 설정을 탭합니다. > 큰 요청 행을 확인한 다음 크기 열의 하단 값을 확인합니다.

압축되지 않은 리소스의 예

이 예에서 네트워크를 통해 전송된 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 내보내기 (민감한 데이터 포함)를 선택합니다.

    상단의 작업 표시줄에 있는 'HAR 내보내기' 버튼과 사용 설정된 두 가지 내보내기 옵션

HAR 파일이 있으면 다음 두 가지 방법으로 DevTools로 다시 가져와 분석할 수 있습니다.

  • HAR 파일을 요청 표로 드래그 앤 드롭합니다.
  • 네트워크 패널 상단의 작업 표시줄에서 HAR 가져오기를 클릭합니다.

요청, 필터링된 요청 집합 또는 모든 요청을 클립보드에 복사

요청 표의 이름 열에서 요청을 마우스 오른쪽 버튼으로 클릭하고 복사 위로 마우스를 가져간 후 다음 옵션 중 하나를 선택합니다.

단일 요청, 응답 또는 스택 트레이스를 복사하려면 다음 단계를 따르세요.

  • 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 데이터로 복사합니다.

필터링된 요청 집합의 복사 옵션입니다.

네트워크 패널의 레이아웃 변경

네트워크 패널 UI의 섹션을 펼치거나 접어 중요한 항목에 집중하세요.

필터 작업 표시줄 숨기기

기본적으로 DevTools는 네트워크 패널 상단에 필터 표시줄을 표시합니다. 필터를 클릭하여 숨깁니다.

필터 숨기기 버튼

큰 요청 행 사용

네트워크 요청 표에 여백을 더 추가하려면 큰 행을 사용하세요. 일부 열은 큰 행을 사용할 때 좀 더 많은 정보를 제공합니다. 예를 들어 크기 열의 하단 값은 요청의 압축되지 않은 크기이고 우선순위 열에는 초기 (하단 값) 및 최종 (상단 값) 가져오기 우선순위가 모두 표시됩니다.

설정 설정을 탭합니다.을 열고 큰 요청 행을 클릭하여 큰 행을 확인합니다.

큰 요청 행이 사용 설정됨

개요 트랙 숨기기

기본적으로 DevTools에는 개요 트랙이 표시됩니다. 설정 설정을 탭합니다.을 열고 개요 표시 체크박스를 선택 해제하여 숨깁니다.

개요 표시 체크박스