inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

HTTP 메서드의 속성

리소스가 대체가 되어버린경우

275

원석나

작성한 질문수 65

0

같은사용자가  get으로 데이터를 요청하고 

같은사용자가  put으로 데이터를 변경하고

같은사용자가 다시 get으로 요청하면  

멱등이 아니지 않나요..?

network

답변 1

4

김영한

안녕하세요. 원석나님

강의 중간에 해당 부분을 설명드리는데요. 보충해드리자면 멱등이라는 것은 같은 사용자가 요청한다는 전제가 있습니다.

다른 사용자가 중간에 데이터를 변경하는 것 까지 멱등의 판단으로 포함한다면 사실 멱등이라고 할 수 있는게 하나도 없게 되지요.

감사합니다.

0

원석나

저는 모두 같은 사용자라고 전제하였습니다 !...

0

하루종일

원석나님, 정확한 지식이 아닐지도 모르겠지만 개인적인 생각을 남겨볼게요.

  1. 사용자 1이 GET 을 요청해서 값을 받은 뒤, 사용자 2가 PUT 으로 리소스를 수정합니다. 그리고 사용자 1이 다시 GET 을 요청했을 때 바뀐 값을 받지만 멱등이 유지됩니다. <- 사용자 1이 GET 을 반복적으로 요청하는 동안에 외부 사용자로 인해 중간에 값이 변경됨. 강사님이 설명하신대로 멱등.

     

  2. 이 상황이 원석나님이 질문 하신 내용인데요. 사용자 1이 GET 을 요청하고 난 뒤, 스스로 PUT 을 요청해서 값을 변경합니다. 그러고나서 사용자 1이 GET 을 요청하고 다른 값을 받습니다. <- 예를 들어 사용자 1 이 GET 10번, PUT 10번 다시 GET 10번을 요청했다고 가정 해봅시다. 사용자 1이 처음에 GET 을 10번 요청하는 동안 멱등이 유지됩니다.(같은 값을 받기 때문) 그리고 PUT 을 10번 실행하는 동안에도 멱등이 유지가 됩니다.(이미 GET 을 보내는 행위는 종료되어서 서로 독립 적입니다.) 마지막으로 GET 을 10번 요청했을 때에도 마찬가지로 멱등입니다. 한번 했다가 다시 요청이 바뀌어서 헷갈릴 수도 있다고 생각하는데 한번이 아니라 10번이라고 가정하면 이해하기 쉬울 것 같습니다. 결론 : GET 과 PUT 은 멱등입니다.

제 답변에 오류가 있다면 누군가 알려주시면 감사하겠습니다!

1

원석나

이렇게 이해하기 쉽게 설명해주셔서 너무 감사합니다 ㅠㅠ

말씀하신데로 독립하다는 점 이 부분이 핵심이네요 !!

시간이 많이 지났지만 순간적으로 이해가 가네요 ㅎㅎ

답변 너무 감사드립니다!

캐시 관련 질문입니다.

0

615

1

ETag 질문입니다.

0

725

1

캐시의 설정 주체

0

533

1

영속쿠키 질문입니다.

0

502

1

협상(accept-language)

0

685

1

에러 코드의 구현 주체

0

436

1

웹서버가 구현?

0

594

1

필수헤더?

1

557

1

Host와 Port

0

771

1

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

0

1257

1

표준 헤더와 임의 헤더

0

529

1

POST 등록 후 Location 헤더

0

567

1

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

1

1807

1

지속연결에 대해서.

0

689

1

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

0

590

1

캐시 내용중 no cache 일때

0

356

1

DNS 서버 관련 질문

1

744

1

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

0

656

1

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

0

844

1

캐시 무효화 질문드립니다

0

558

1

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

0

2589

1

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

0

584

1

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

0

1639

1

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

0

478

1