ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP(1) - HTTP 메서드
    스프링/HTTP 기본 지식 2023. 2. 5. 15:05

    Http는 웹 개발에 있어서 개발자 모두가 필수적으로 알아야하는 기본 지식이다.

     

    Http 메서드 중에서 중요한 메서드들 정리

     

    1. Get 메서드

    정보를 조회할 때 사용

     

    2. Post 메서드

    회원가입, 게시글 작성 등 새로운 정보를 입력, 저장할 때 사용

     

    3. Put 메서드

    리소스를 대체, 기존에 리소스가 있으면 대체하고 리소스가 없었으면 새로 생성(리소스를 덮어버림)

    Post와의 다른점은 Put 메서드는 정확한 리소스를 알고 사용한다는 것.

     

    4. Patch 메서드

    리소스의 부분을 변경해준다.

     

    Put메서드와 Patch 메서드의 차이점

     

    PUT /members/100 HTTP/1.1
    Content-Type: application/json
    
    {
         "name" : abc
         "age" : 20
    }

    위의 리소스를

    PUT /members/100 HTTP/1.1
    Content-Type: application/json
    
    {
         "age" : 50
    }

    로 바꾼다 하면 Put은 name은 삭제되고 새로운 리소스에 "age" : 50만 남는다.

     

    하지만 Put이 아닌 Patch를 사용하면 name은 그대로 유지되고 age 값만 바뀌게 된다.

     

    5. DELETE 메서드

    리소스를 완전히 제거한다.

     

     

     

    메서드 속성

     

    1. 멱등(Idempotent)

    멱등의 조건은 한 번 호출하든 100번 호출하든 결과가 똑같은 것이다.

     

    멱등 메서드

    GET : 몇 번을 조회하든 같은 결과가 조회됨.

    PUT : 결과를 대체하는데, 같은 요청을 해도 같은 결과를 반환하기에 최종 결과는 같다.

    DELETE : 리소스를 삭제하는데 같은 요청을 여러번 해도 결과가 같다.

     

    POST : 추가로 생성하는 메서드기때문에 멱등이 아니다. (주문을 1번하는 것과 100번 하는 것은 결과가 다르다.)

     

     

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

    userA : GET -> username:A, age:20

    userB : PUT -> username:A, age:30

    userA : GET -> username:A, age:30   ->   userB의 영향으로 바뀐 데이터 조회

    서버에서 중간에 바뀌는 것들은 멱등하지 않다고 판단하는 것이 맞다.

     

     

     

    2. 캐시 가능(casheable)

    간단히 설명하면 값이 큰 리소스를 여러번 호출하지 않게 로컬 pc에 웹 브라우저가 저장해주는 기능


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

    하지만 여러 요인때문에 실제로는 거의 GET만 사용하고, 추가로 HEAD 정도로 사용한다.

    '스프링 > HTTP 기본 지식' 카테고리의 다른 글

    HTTP(4) - HTTP 상태코드  (0) 2023.02.06
    HTTP(3) - API 설계 예  (0) 2023.02.05
    HTTP(2) - 클라이언트에서 서버로 데이터 전송  (0) 2023.02.05
    provider와 프록시  (0) 2023.02.04
    웹 스코프  (0) 2023.02.04
Designed by Tistory.