inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

모든 개발자를 위한 HTTP 웹 기본 지식

HTTP 메서드의 속성

왜 PUT, DELETE는 캐시가 불가능한가요

527

cbw0916

작성한 질문수 1

8

안녕하세요 좋은 강의 잘 보고있습니다.

GET, HEAD, POST, PATCH 메서드가 캐시 가능하고,

POST, PATCH는 요청하는 본문 내용을 키로 만들기 어려워 구현이 쉽지 않다는 것 까지 이해하였습니다. (일반적으로 사용하지 않지만 불가능 한것은 아님)

그런데 PUT과 DELETE는 왜 캐시가 불가능한 것인가요??

멱등성이 유지되기 때문에 오히려 더 캐시 가능한게 아닌가 생각이 되어서요

오히려 멱등성이 유지가 되지 않는 POST와 PATCH가 캐시가 가능하다는 것이 어떤 의미인지도 궁금합니다.

감사합니다.

network

답변 1

8

김영한

안녕하세요. cbw0916님

캐시를 이해하는 중요한 키는 데이터의 변경 관점입니다.

캐시라는 것은 원본 데이터가 변경되지 않고 유지되어야 합니다. 그런데 POST, PUT, DELETE, PATCH로 데이터를 변경하게 되면 원본 데이터가 변경되기 때문에 캐시를 유지하기가 어렵겠지요?

그래서 데이터 변경 관점으로 이해하시면 됩니다.

GET은 단순 조회이기 때문에 데이터를 변경하지 않습니다.

HTTP에서는 이렇게 선언해두었지만, 실제로는 데이터를 변경할 가능성이 있는 POST, PUT, DELETE, PATCH는 대부분의 구현에서 캐시를 유지하지 않습니다.

감사합니다.

1

cbw0916

답변 감사합니다!

캐시 관련 질문입니다.

0

617

1

ETag 질문입니다.

0

729

1

캐시의 설정 주체

0

535

1

영속쿠키 질문입니다.

0

504

1

협상(accept-language)

0

688

1

에러 코드의 구현 주체

0

439

1

웹서버가 구현?

0

597

1

필수헤더?

1

561

1

Host와 Port

0

776

1

다른 도메인이 같은 포트를 사용하는 경우

0

1260

1

표준 헤더와 임의 헤더

0

535

1

POST 등록 후 Location 헤더

0

572

1

프로세스의 상태가 변경되는 경우에 Post 사용

1

1810

1

지속연결에 대해서.

0

693

1

제가 아는 쿼리 파라미터 개념이 맞는지 확인 부탁드립니다.

0

594

1

캐시 내용중 no cache 일때

0

359

1

DNS 서버 관련 질문

1

750

1

캐시로 저장된 파일의 유효기간은 얼마나 되나요?

0

664

1

웹브라우저 요청흐름 질문입니다.

0

848

1

캐시 무효화 질문드립니다

0

562

1

리다이렉트와 리다이렉션 차이?

0

2599

1

쿠키 및 세션 관련 질문드립니다

0

588

1

HTTP 메서드 ( HTTP 메서드의 속성 파트 ) 강의의 멱등 내용에 대하여 질문드립니다.

0

1648

1

header 나 gzip으로 데이터 보낼떄 데이터는 base64로 인코딩되서 가는 건가요?

0

481

1