본문 바로가기
public void static main()/Lecture

[HTTP웹기본지식] HTTP 메소드의 속성

by 햄리뮤 2021. 5. 5.
반응형

대표사진 넣으려고 가져옴! [출처]- https://github.com/OAI/OpenAPI-Specification/issues/1747

김영한 강사님의 HTTP 웹 기본 지식 내용 발췌!

 

안전 (safe) - 음 그니까 조회말고 무언가를 변경하는거에 대한 안전(safe) 같다!

- 호출해도 리소스를 변경하지 않는다.

- Q: 그래도 계쏙 호출해서, 로그같은게 쌓여서 장애가 발생하면요?

- A: 안전은 해당 리소스만 고려한다. 그런 부분까지 고려하지 않는다.

 

멱등 (Idempotent)

- f(f(x)) = f(x)

- 한번 호출하든 몇번을 호출하든 결과가 똑같음

- 멱등 메소드

Get: 한번 조회하든 몇번을 하든 같은 결과 조회 - 음... 헤깔리는데 소스가 바뀌면 조회하는 결과물도 바뀌는거 아닌가...?

Put: 결과를 대체한다. 따라서 같은 요청을 여러번 해도 최종 결과는 같다.

Delete: 결과 삭제: 같은 요청을 여러번해도 삭제된 결과는 똑같음

Post: 멱등이 아니다! 두번 호출하면 같은 결제가 중복해서 발생할 수 있다.

 

- 활용

자동 복구 메커니즘

서버가 TIMEOUT등으로 정상 응답을 못주었을 때, 클라이언트가 같은 요청을 다시 해도 되는가? 판단 근거

 

- Q: 재요청 중간에 다른 곳에서 리소스를 변경해버리면? 

사용자1: GET -> user:A, age:20

사용자2: PUT -> user:A, age:30

사용자1: GET -> user:A, age:30 -> 사용자2의 영향으로 바뀐데이터 조회

 

- A: 멱등은 외부 요인으로 중간에 리소스가 변경되는것 까지 고려하지 않는다.

 

멱등 get 부분이 헤깔려서 찾아봄!

 

멱등 - 행복한 아빠님 블로그에서 가져온 멱등의 예시!
멱등이란 한 번 적용하나 여러 번 적용하나 항상 같은 결과를 나타내는 것을 이야기한다. 곱셈의 예를 들면 0으로 계속 곱하는 것은 멱등이다. ( 4 x 0 x 0 x 0 ...) 0으로 곱해도 마찬가지 결과이다. ( 4 x 1 x 1 x 1 ... 도 마찬가지이다.)
비슷하게 리소스에 동일한 오퍼레이션을 여러 번 요청해도 같은 결과일 경우 멱등이라 한다.

이부분은 개발자 Dion님의 블로그!

GET요청으로 목록을 불러옵니다. 이 행위를 여러 번 수행한다고, 서버의 상태가 변하지도 않고(단순히 조회만 하므로), 같은 효과를 기대할 수 있습니다.(요청한 데이터 목록을 조회하는 효과) 따라서 멱등성과 안전한 메소드가 성립함을 알 수 있습니다.

 

캐시가능 (Cacheable)

- 응답 결과 리소스를 캐시해서 사용해도 되는가?

- GET, HEAD, POST, PATCH 캐시가능

- 실제로는 GET, HEAD 정도만 캐시로 사용

POST, PATCH는 본문 내용까지 캐시 키로 고려해야 하는데 , 구현이 쉽지 않음.

 

 

 

 

[출처] www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard

 

모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의

실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., 웹 기술을 사용하는 개발자라면 누구나 OK!꼭 필요한 HTTP의 핵심을 알려드립니다. 📣 확인해주세요!본 강의는 자바 스

www.inflearn.com

[출처] greatkim91.tistory.com/14

 

[REST] The Resource-Oriented Architecture-2

이전의 RAO에 이어서... Uniform Interface 웹을 통해 리소스에 할 수 있는 일은 몇 가지 기본적인 것들이 있다. HTTP는 4가지의 가장 일바적인 동작에 대하 4가지 기본 방법(메소드)를 제공한다. 리소스

greatkim91.tistory.com

[출처] velog.io/@dion/HTTP-%EB%A9%94%EC%86%8C%EB%93%9C%EC%9D%98-%EB%A9%B1%EB%93%B1%EC%84%B1-%EA%B7%B8%EA%B2%8C-%EB%AD%94%EB%8D%B0

 

HTTP 메소드의 멱등성? 그게 뭔데?

멱등성이 무엇인지 알고계신가요? 멱등성이란, 수학에서 사용하는 용어에서 유래한 것으로. 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 뜻합니다.이 멱등성은 왜 HTTP Method와 연

velog.io

 

 

** 그냥 하루하루 개인 공부한 것을 끄적 거리는 공간입니다.

이곳 저곳에서 구글링한 것과 강의들은

내용이 정리가 되었습니다.

그림들은 그림밑에 출저표시를 해놓았습니다.

문제가 될시 말씀해주시면 해당 부분은 삭제 하도록하겠습니다. **

반응형

댓글