✍️ 이미지 최적화 작업을 하기에 앞서, NetworkTab에 대해서 한번 쭉 체크하고 넘어가야겠다. 신규 기능을 개발한 다음부터는 항상 NetworkTab만 띄워놓고 살아야 할텐데 😂 내가 몰랐던 기능들에 대해서도 알아보고, 다시 한번 어떤 기능들이 있는지 체크해 보도록 하자!
개발자 도구의
Network
탭은 웹 브라우저와 웹 서버 간의 네트워크 통신을 모니터링하고 분석하기 위한 도구이다. 이 탭을 사용하면 웹 페이지를 로드할 때 발생하는 모든 네트워크 요청을 캡처하고 관련 정보를 제공한다.
📌 network_docs
Network
탭은 웹 개발자나 퍼포먼스 엔지니어가 웹 페이지의 성능 문제를 진단하거나, 서버와의 통신을 디버깅하거나, 최적화를 위한 분석을 수행하는 데 매우 유용한 도구이다.요청 및 응답 로깅: 웹 페이지를 로드할 때 발생하는 모든 HTTP 요청과 응답을 로깅한다.
세부 정보 표시: 각 요청에 대한 세부 정보(요청 헤더, 응답 헤더, 상태 코드, 응답 본문 등)를 확인할 수 있다.
타이밍 정보: 요청의 전체 라이프사이클 동안의 타이밍 정보(대기 시간, 다운로드 시간 등)를 제공한다.
리소스 필터링: 특정 유형의 리소스(예: 이미지, 스크립트, 스타일시트)만 표시하도록 필터링할 수 있다.
(이미지 최적화를 위해 이미지 파일을 다운받을때 소요되는 시간, 이미지파일 분석을 위해 필터링 했었다.😀)
요청 차단: 특정 리소스 요청을 차단하여 웹 페이지의 로드 방식이나 성능에 어떤 영향을 미치는지 테스트할 수 있다.
HAR 파일 내보내기/가져오기: 네트워크 로그를 HAR(HTTP Archive) 파일 형식으로 내보내거나 가져올 수 있다. 이렇게 하면 네트워크 활동을 다른 도구로 분석하거나 다른 사람과 공유할 수 있다.
웹소켓 메시지 검사: 웹소켓 연결을 통해 전송되는 메시지를 검사하고 로깅한다.
(네트워크 탭의 필터 바에서 WS
클릭 하면 웹소켓 연결만 표시하도록 필터링 된다. 여기서 Messages 탭에서 더 자세한 내용을 살펴볼 수 있다.)
오프라인 모드: 네트워크 연결이 없는 상태에서 웹 페이지를 테스트하는 데 도움을 준다.
✍️ 로깅(logging) 이란?
✍️ HAR(HTTP Archive)파일
Network
탭에서 웹 페이지를 로드하거나 웹 애플리케이션을 사용할 때 발생하는 모든 네트워크 요청과 응답을 기록한다.
네트워크 탭의 각 열은 요청에 대한 다양한 정보를 제공한다.
Name
: 요청한 리소스의 이름 또는 URL의 마지막 부분을 나타낸다. 전체 URL을 보려면 항목 위로 마우스를 가져가면 툴팁으로 표시된다.
Status
: HTTP 응답 상태 코드를 나타낸다. 예를 들면, "200"은 성공적으로 처리된 요청, "404"는 리소스를 찾을 수 없음, "500"은 서버 내부 오류 등이다.
Type
: 요청된 리소스의 유형을 나타낸다. 예를 들어 Document, Script, Stylesheet, Image, WebSocket, font 등이다.
Initiator
: 이 요청을 시작한 원인이나 소스를 나타낸다ㅇ. 이것은 특정 자바스크립트 함수나 HTML 태그 등이 될 수 있다.
Size
: 두 가지 정보를 표시한다.
(1) Resource Size: 실제 리소스 크기 (예: 캐시에서 가져온 경우)
(2) Transferred Size: 실제로 네트워크를 통해 전송된 데이터의 크기 (예: 압축된 리소스 크기)
from memory cache
또는 from disk cache
같은 주석이 표시될 수 있다. 이 경우 Transferred Size는 0이다.Time
: 요청 시작부터 완료까지 걸린 총 시간을 밀리초 단위로 나타낸다.
Waterfall
: 요청의 생명 주기를 그래픽으로 나타낸 것이다. 여기서는 DNS 조회, 연결 설정, 대기 시간, 응답 시간 등 요청의 각 단계별로 걸린 시간을 시각적으로 확인할 수 있다.
스크린샷 캡쳐 기능을 사용하면 웹 페이지가 로드되는 동안의 시각적 변화를 추적하고 네트워크 활동과 연관지어 분석할 수 있다.
HTTP 헤더를 검사한다.
HTML의 기본 렌더링이 표시된다.
HTML 소스 코드가 표시된다.
리소스에 대한 네트워크 활동 분석이 표시된다.
개발자 도구의 Elements 탭에서도 이미지 사이즈(용량)을 알아낼 수 있지만, Network 탭에서도 알 수 있다.
네트워크 탭에서 리소스 디테일 메뉴중 Headers
를 보면, Response Heades
에 Content-Length
가 표시된다. 이것을 cmd+F
로 검색해보면 여러 이미지에 걸쳐진 Content-Length
를 한눈에 볼 수도 있다. 🧐