HTTP 메서드

MinSeong Kang·2022년 1월 24일
0

IT 지식

목록 보기
9/11
post-thumbnail

HTTP 메서드

  • GET

서버에게 리소스 조회를 요청할 때 사용

→ 서버에게 전달하고 싶은 데이터는 쿼리 파라미터를 통해서 전달한다.
→ 메시지 바디를 통해 데이터를 전달할 수 있지만, 지원하지 않는 서버가 많아 권장하지 않는다.

  • POST

메시지 바디를 통해 서버에게 요청 데이터를 전달할 때 사용

→ 서버는 요청 데이터를 처리한다.
→ 어느 URI에 POST 요청이 오면 요청 데이터를 어떻게 처리할지는 정해진 것이 없어 리소스마다 따로 정해줘야 한다.
     ex) 새 리소스를 등록, 프로세스 처리, 다른 메서드로 처리하기 애매한 경우
→ URL에 데이터가 노출되진 않기 때문에 GET보다 안전하다.

  • PUT

서버가 이미 요청의 리소스를 가지고 있으면 기존 리소스를 삭제하고 덮어쓰고, 해당 리소스가 없으면 생성한다.

클라이언트가 리소스의 위치를 알고 URI를 지정해주어야 한다.
ex) PUT /members/100

  • PATCH

리소스를 부분적으로 변경할 때 사용

  • Delete

특정 리소스의 삭제를 요청할 때 사용

  • 그외 메서드

    HEAD : GET과 동일하지만, 메시지 바디 부분을 제외하고, Start-line과 메시지 헤더만 조회할 때 사용한다.
    OPTIONS : 대상 리소스에서 지원되는 메소드의 종류를 확인할 경우 사용한다.
    CONNECT : 대상 자원으로 식별되는 서버에 대한 터널을 설정할 때 사용한다.
    TRACE : 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행할 때 사용한다.

HTTP 메서드의 속성

  • 안전(Safe Methods)

메소드를 여러번 호출해도 리소스가 변경되지 않는 것을 의미한다.
→ 읽기 전용인 경우 안전한 메서드로 간주하여 GET이 안전한 메서드에 속한다.

  • 멱등(Idempotent Methods)

동일한 요청을 한 번 보내는 것과 여러 번 보내는 것이 같은 결과를 보이고, 서버의 상태도 동일하게 남을 때, 해당 HTTP 메서드가 멱등성을 가졌다고 말한다.

  • 캐시가능(Cacheable Methods)

→ 재사용을 위해 응답 결과 리소스를 저장할 수 있음을 의마한다.



참고 자료

https://www.inflearn.com/course/http-웹-네트워크
https://ko.wikipedia.org/wiki/HTTP
https://feel5ny.github.io/2019/08/16/HTTP_003_02/

0개의 댓글