해당 글은 김영한 님의 HTTP 강의를 듣고 기록하기 위해 작성하는 글입니다. 1️⃣ 캐시 제어 헤더 Cache-Control: 캐시 제어 Pragma: 캐시 제어(하위 호환) Expires: 캐시 유효 기간(하위 호환) 현재는 대부분 Cache-Control을 사용한다. 2️⃣ Cache-Control 캐시 지시어(directives) Cache-Control: max-age 캐시 유효 시간, 초 단위 Cache-Control: no-cache 데이터는 캐시해도 되지만, 항상 원래(origin) 서버에 검증하고 사용해야 함 Cache-Control: no-store 데이터에 민감한 정보가 있으므로 저장하면 안 됨 (메모리에서 사용하고 최대한 빨리 삭제) 3️⃣ Pragma 캐시 제어(하위 호환) Pra..
해당 글은 김영한 님의 HTTP 강의를 듣고 기록하기 위해 작성하는 글입니다. 1️⃣ 캐시 시간 초과 캐시 유효 시간이 초과했을 때, 서버에 다시 요청할 시 다음 두 가지 상황이 발생할 수 있다. 서버에서 기존 데이터를 변경한 경우 서버에서 기존 데이터를 변경하지 않은 경우 이때 데이터를 재전송하는 대신에 저장해 두었던 캐시를 재사용할 수 있다. 단, 클라이언트의 데이터와 서버의 데이터가 같다는 사실을 확인할 방법이 필요하다. 클라이언트의 데이터와 서버의 데이터가 같다는 사실을 어떻게 확인할 수 있을까? 2️⃣ 검증 헤더와 조건부 요청 헤더 검증 헤더 (Validator) ETag: "v1.0", ETag: "asid93jkrh2l" Last-Modified: Thu, 04 Jun 2020 07:19:2..
해당 글은 김영한 님의 HTTP 강의를 듣고 기록하기 위해 작성하는 글입니다. 1️⃣ 쿠키란? 🍪🍪 쿠키란 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 사용자의 웹 브라우저를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 말한다. Set-Cookie: 서버에서 클라이언트로 쿠키 전달(응답) Cookie: 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달 쿠키를 사용하지 않으면? HTTP는 무상태(Stateless) 프로토콜이다. 클라이언트와 서버가 요청과 응답을 주고 받으면 연결이 끊어진다. 클라이언트가 다시 요청하면 서버는 이전 요청을 기억하지 못한다. 클라이언트와 서버는 서로 상태를 유지하지 않는다. 무상태(Stateless) 프로토콜에 대해서는 다음 게시글을..