웹 브라우저의 캐싱 메커니즘은 무엇입니까? 브라우저 캐시를 제어하고 지우는 방법은 무엇입니까?


⭐ 칼럼 소개

프런트엔드 진입 여정: 놀라운 웹 개발 세계를 탐험해보세요. 프런트엔드 진입 여정에 오신 것을 환영합니다! 관심이 있으시면 이 칼럼을 구독해 보세요! 이 칼럼은 웹 개발에 관심이 있고 이제 막 프론트엔드 분야에 입문한 분들을 위해 맞춤 제작되었습니다. 당신이 완전한 초보자이든, 기본적인 지식을 갖춘 개발자이든, 여기에서는 체계적이고 친숙한 학습 플랫폼을 제공할 것입니다. 본 칼럼에서는 매일 질문과 답변 형식으로 업데이트하여, 선별된 프론트엔드 지식 포인트와 자주 묻는 질문에 대한 답변을 제시해 드립니다. Q&A 형식을 통해 프론트엔드 기술에 대한 독자들의 질문에 보다 직접적으로 답변하고, 모두가 점차 탄탄한 기반을 다질 수 있도록 돕고자 합니다. HTML, CSS, JavaScript 또는 다양한 공통 프레임워크와 도구이든, 우리는 간단하고 이해하기 쉬운 방식으로 개념을 설명하고, 배운 내용을 확고히 할 수 있는 실용적인 예와 연습을 제공합니다. 동시에 프런트엔드 개발에서 다양한 기술을 더 잘 이해하고 적용하는 데 도움이 되는 몇 가지 실용적인 팁과 모범 사례도 공유할 것입니다.

여기에 이미지 설명을 삽입하세요.

그뿐만 아니라, 여러분이 배운 지식을 실제 개발에 적용할 수 있도록 실용적인 프로젝트 튜토리얼도 정기적으로 출시할 예정입니다. 실제 프로젝트 실습을 통해 프론트엔드 개발의 워크플로우와 방법론을 더 잘 이해하고, 문제 해결과 독립적인 개발 능력을 키워나갈 수 있습니다. 우리는 지속적인 축적과 연습만이 프론트엔드 개발 기술을 진정으로 마스터할 수 있다고 믿습니다. 그러니 도전에 대비하고 이 프론트엔드 진입 여정을 용감하게 시작하세요! 귀하가 직업 변화를 원하든, 기술 향상을 원하든, 개인적인 관심 사항을 충족시키든, 우리는 귀하에게 최고의 학습 리소스와 지원을 제공하기 위해 최선을 다하고 있습니다. 웹 개발의 놀라운 세계를 함께 탐험해 보세요! 프론트엔드 입문 여정에 동참하여 뛰어난 프론트엔드 개발자가 되어보세요! 프론트엔드 여정을 시작해보겠습니다 .. 아래 사진은 이 칼럼 외에 블로거가 출력하고 있는 다른 칼럼을 소개하고 있습니다.(아래 사진은 스킵하고 오늘의 본문을 시작하겠습니다!!!)

여기에 이미지 설명을 삽입하세요.


⭐ 웹 브라우저 캐싱 메커니즘

웹 브라우저의 캐싱 메커니즘은 웹 페이지의 리소스(예: HTML, CSS, JavaScript, 이미지 등)를 로컬 저장소에 저장하여 다음 방문 시 페이지 콘텐츠를 더 빠르게 로드하고 렌더링할 수 있도록 하는 기술입니다. 같은 페이지가 만들어집니다. 캐싱은 웹사이트 성능과 사용자 경험을 향상시키고 서버의 요청 부하를 줄이는 데 도움이 됩니다.

캐시는 두 가지 주요 유형으로 나눌 수 있습니다.

  1. 브라우저 캐시 : 브라우저는 다운로드한 리소스를 로컬에 자동으로 저장하므로 나중에 동일한 페이지를 방문할 때 서버에서 다시 다운로드할 필요 없이 이러한 리소스를 직접 사용할 수 있습니다.

  2. 프록시 서버 캐시 : 프록시 서버(예: CDN, 콘텐츠 전송 네트워크)도 웹사이트 리소스를 캐시하고, 사용자로부터 멀리 있는 서버의 부하를 줄이고, 더 빠른 리소스 응답을 제공할 수 있습니다.


⭐ 브라우저 캐싱 작동 방식

브라우저 캐싱 작동 방식에는 다음과 같은 주요 개념이 포함됩니다.

  • 캐시 식별자 : 각 리소스에는 일반적으로 리소스의 URL인 고유한 캐시 식별자가 있습니다.

  • 캐시 상태 : 브라우저는 캐시 상태를 확인하여 캐시 사용 여부를 결정합니다. 상태에는 다음이 포함됩니다.

    • Uncached : 리소스가 캐시되지 않았습니다.
    • 서버에서 가져옴(오래됨) : 리소스가 캐시되었지만 만료되었거나 재검증이 필요할 수 있습니다.
    • 유효한 캐시(Valid) : 리소스가 캐시되었으며 여전히 유효하며 캐시에서 직접 로드할 수 있습니다.
  • Cache-Control : HTTP 응답 헤더의 필드는 Cache-Control캐시 가능 여부, 캐시 유효 기간 등과 같은 리소스의 캐싱 동작을 지정하는 데 사용됩니다.

  • 캐시 위치 : 브라우저는 리소스의 빈도와 크기에 따라 캐시된 리소스를 메모리 캐시, 디스크 캐시 등 다양한 위치에 저장할 수 있습니다.


⭐ 브라우저 캐시 제어 및 지우기

브라우저 캐시 제어 및 지우기는 일반적으로 HTTP 헤더 및 브라우저 설정을 통해 수행됩니다.

캐싱 제어

1. Cache-Control헤더를 사용하세요

서버의 HTTP 응답에 Cache-Control헤더를 설정하여 브라우저의 캐싱 동작을 제어할 수 있습니다 . 몇 가지 일반적인 Cache-Control지침은 다음과 같습니다.

  • max-age: 캐시에 있는 리소스의 최대 유효 시간(초)을 지정합니다.
  • no-cache: 브라우저가 캐시된 버전을 직접 사용하지 않고 대신 확인 요청을 보냅니다.
  • no-store: 캐싱을 비활성화하고 브라우저가 리소스를 캐시하는 것을 허용하지 않습니다.
Cache-Control: max-age=3600, public

2. 용도 ETagLast-Modified헤더

서버는 ETagLast-Modified헤더를 사용하여 리소스의 최신성을 확인할 수 있습니다. 브라우저는 리소스가 변경되었는지 확인하기 위해 후속 요청 시 If-None-Match및 헤더를 서버에 보낼 수 있습니다. If-Modified-Since변경 사항이 발생하지 않은 경우 서버는 304 Not Modified응답을 반환할 수 있으며 브라우저는 캐시된 버전을 계속 사용합니다.


⭐ 캐시 지우기

사용자와 개발자는 다음을 수행하여 브라우저 캐시를 지울 수 있습니다.

1. 사용자가 캐시를 지웁니다.

  • 브라우저 캐시 수동 지우기 : 사용자는 브라우저 설정 인터페이스를 통해 캐시를 수동으로 지울 수 있습니다.

  • 단축키 사용 : 대부분의 브라우저에서 사용자는 단축키 조합을 사용하여 캐시를 지울 수 있습니다. 예를 들어 Google Chrome에서는 Ctrl + Shift + Delete(Windows/Linux) 또는 Command + Shift + Delete(Mac)을 눌러 인터넷 사용 기록 삭제 옵션을 열 수 있습니다.

  • 자동 지우기 설정 : 일부 브라우저에서는 사용자가 브라우저를 닫을 때마다 캐시를 ​​지우는 등 캐시를 자동으로 지우는 규칙을 설정할 수 있습니다.

2. 개발자 제어

개발자는 다음을 통해 브라우저 캐싱을 제어할 수 있습니다.

  • 리소스 URL 변경 : 리소스 URL에 쿼리 매개변수 또는 파일 이름 해시를 추가하여 브라우저가 리소스를 다시 다운로드하도록 합니다. 예를 들어, style.css?v=2또는 script.abc123.js.

  • Cache-Control헤더 변경 : 브라우저가 리소스를 캐시하거나 재검증하지 않도록 서버 측 Cache-Control헤더를 변경하여 캐시 정책을 변경합니다.

  • Service Worker 사용 : Service Worker는 오프라인 캐싱 및 동적 캐싱 전략을 포함하여 웹 애플리케이션에서 세밀한 캐시 제어를 가능하게 하는 브라우저 기능입니다.

즉, 웹 브라우저의 캐싱 메커니즘은 성능을 향상시키고 서버 부하를 줄이는 데 중요한 부분입니다. 개발자는 HTTP 응답 헤더를 설정하여 캐싱 정책을 제어할 수 있으며, 사용자는 브라우저 설정을 통해 캐시를 수동으로 지워 최신 웹 콘텐츠를 얻을 수 있습니다. 웹 애플리케이션을 개발하고 유지 관리할 때 캐싱 메커니즘을 이해하고 적절하게 활용하는 것이 중요합니다.


⭐마지막에 쓰세요

이 칼럼은 폭넓은 독자층을 대상으로 하며, 프론트엔드를 처음 접하는 초보자나, 프론트엔드를 배우지 않았지만 프론트엔드에 관심이 있는 사람, 자신을 더 잘 보여주고 확장하고 싶은 백엔드 학생에게 적합합니다. 인터뷰 과정에서 프론트엔드 지식 포인트가 좀 있기 때문에, 프론트엔드에 대한 기본 지식을 갖추고 이 칼럼을 따라오신다면 부족한 부분을 찾아 메우는 데에도 큰 도움이 될 수 있습니다. 출력, 기사에 부족한 점이 있으면 홈페이지 왼쪽을 통해 저에게 연락하실 수 있습니다. , 함께 진행합시다. 동시에 여러 칼럼을 모두에게 추천합니다. 관심 있는 파트너는 구독할 수 있습니다. 아래 열에 대해서는 내 홈페이지로 이동하여 다른 열을 볼 수도 있습니다.

프론트엔드 게임(무료) 이 칼럼에서는 HTML, CSS, JavaScript에 대한 기본 지식을 활용하여 다양하고 흥미로운 페이지 게임을 함께 만들어 가며 창의성과 재미가 가득한 세계로 여러분을 안내할 것입니다. 당신이 초보자이거나 프론트엔드 개발 경험이 있다면 이 칼럼은 당신을 위한 것입니다. 기본적인 것부터 시작하여 페이지 게임을 구축하는 데 필요한 기술을 안내해 드립니다. 실제 사례와 연습을 통해 HTML을 사용하여 페이지 구조를 구축하고, CSS를 사용하여 게임 인터페이스를 아름답게 만들고, JavaScript를 사용하여 게임에 대화형 및 동적 효과를 추가하는 방법을 배우게 됩니다. 이 칼럼에서는 미로 게임, 벽돌 깨기, 뱀, 지뢰 찾기, 계산기, 비행기 전투, 틱택토, 퍼즐, 미로 등을 포함한 다양한 유형의 미니 게임을 다룰 것입니다. 각 프로젝트는 자세한 설명과 코드 예제를 통해 간결하고 명확한 단계로 구축 프로세스를 안내합니다. 동시에 페이지 성능과 사용자 경험을 개선하는 데 도움이 되는 몇 가지 최적화 팁과 모범 사례도 공유할 것입니다. 프런트엔드 기술을 연습할 흥미로운 프로젝트를 찾고 있거나 페이지 게임 개발에 관심이 있다면 프런트엔드 게임 칼럼이 최선의 선택이 될 것입니다. 프런트엔드 게임 칼럼을 구독하려면 클릭하세요.

여기에 이미지 설명을 삽입하세요.

Vue3 투명 튜토리얼 [0에서 1까지](유료) Vue3 투명 튜토리얼에 오신 것을 환영합니다! 이 칼럼은 Vue3와 관련된 포괄적인 기술 지식을 모든 사람에게 제공하는 것을 목표로 합니다. Vue2 경험이 있다면 이 칼럼을 통해 Vue3의 핵심 개념과 사용법을 익힐 수 있습니다. 우리는 처음부터 시작하여 완전한 Vue 애플리케이션을 구축하기 위해 단계별로 안내할 것입니다. 실제 사례와 연습을 통해 Vue3의 템플릿 구문, 구성 요소 개발, 상태 관리, 라우팅 및 기타 기능을 사용하는 방법을 배우게 됩니다. 또한 Vue3의 새로운 기능을 더 잘 이해하고 적용할 수 있도록 Composition API 및 Teleport와 같은 몇 가지 고급 기능을 소개합니다. 이 칼럼에서는 자세한 설명과 샘플 코드와 함께 각 프로젝트를 간결하고 명확한 단계로 안내하겠습니다. 동시에 Vue3 개발의 몇 가지 일반적인 문제와 솔루션을 공유하여 어려움을 극복하고 개발 효율성을 향상시키는 데 도움을 드릴 것입니다. Vue3를 심층적으로 배우고 싶거나 프런트엔드 프로젝트 구축에 대한 포괄적인 가이드가 필요한 경우 Vue3 철저한 튜토리얼 칼럼은 귀하에게 없어서는 안 될 리소스가 될 것입니다. Vue3 Transparent Tutorial [0부터 하나까지] 칼럼을 구독하려면 클릭하세요.

여기에 이미지 설명을 삽입하세요.

TypeScript 시작 가이드(무료)는 TypeScript 관련 기술을 빠르게 시작하고 숙달하는 데 도움을 주기 위해 고안된 칼럼입니다. 간결하고 명확한 언어와 풍부한 샘플 코드를 통해 TypeScript의 기본 개념, 구문 및 기능을 심도있게 설명합니다. 초보자이든 숙련된 개발자이든 여기에서 자신에게 적합한 학습 경로를 찾을 수 있습니다. 유형 주석, 인터페이스, 클래스와 같은 핵심 기능부터 모듈식 개발, 도구 구성, 공통 프런트엔드 프레임워크와의 통합에 이르기까지 모든 측면을 포괄적으로 다룹니다. 이 칼럼을 읽으면 JavaScript 코드의 안정성과 유지 관리 가능성을 향상시키고 프로젝트에 더 나은 코드 품질과 개발 효율성을 제공할 수 있습니다. 이 흥미롭고 도전적인 TypeScript 여행을 함께 시작합시다! TypeScript 시작 가이드 칼럼을 구독하려면 클릭하세요.

여기에 이미지 설명을 삽입하세요.

Supongo que te gusta

Origin blog.csdn.net/JHXL_/article/details/132941856
Recomendado
Clasificación