[네트워크]HTTP 메소드

Kyle·2021년 1월 1일
0

HTTP

목록 보기
1/1
post-thumbnail

HTTP 메소드

HTTP를 공부하면서 배웠던 메소드를 간략하게 정리해보겠습니다. 클라이언트는 서버와 통신을 할 때 HTTP메소드를 이용해서 의도를 전해줍니다. 예를 들면 데이터를 조회하겠다. 회원을 등록 해달라. 회원 이름을 바꿔라 등등.. 리소스를 처리하는 행위를 HTTP메소드라고 합니다.
자주 사용된다고 하는 HTTP 메소드 몇개만 간략이 정리했습니다.

자주 사용되는 HTTP 메소드

  • GET: 리소스 조회
  • HEAD: GET과 같이 리소스를 조회하지만 메세지 본문X, 헤더만 조회
  • POST: 서버가 처리할 데이터를 보낸다. (주로 등록에 사용)
  • PUT: 리소스를 대체한다. 해달 리소스가 없으면 생성한다.
  • PATCH: 리소스를 부분만 변경한다.
  • DELETE: 리소스 삭제
  • OPTIONS: 서버가 어떤 메서드를 수행할 수 있는지 확인한다.
  • TRACE: 메세지가 프락시를 거쳐 서버에 도달하는 과정을 추적한다.(주로 CORS에 사용)
  • CONNECT: 대상 자원으로 식별되는 서버에 대한 터널을 설정한다.

GET

  • 가장 흔히 사용되는 메소드이다.
  • 주로 서버에 리소스를 요청할 때 사용된다.
  • 서버에 전달하고 싶은 데이터는 주로, 쿼리 파라미터를 통해서 전달한다.(URL)
  • GET 메서드와 똑같이 행동하지만 엔터티 본문은 반환하지 않는다.
  • 타입, 개체의 존재 유무와 같은 것 들만 파악할 수 있다.

POST

POST메소드는 서버에 입력 데이터를 전송하기 위해 설계되었다.

  • 서버는 요청 메세지의 메세지 바디에를 통해 들어온 데이터를 처리한다.
  • POST 메서드는 어떤 URI에 POST요청이 오면 URI에 지정된 대로 데이터를 처리한다. 즉, URI마다 데이터를 어떻게 처리할지 따로 정해줘야한다.

POST 사용예시

  1. 새로운 리소스 등록 (새로운 멤버 등록 시)
    • POST는 리소스 등록시 자동으로 ID값 같은 번호를 지정해준다.
  2. 요청 데이터 처리
  3. POST는 웬만하면 모든 곳에서 사용 가능하다.

PUT

  • PUT 메서드는 서버에 리소스를 생성 또는 덮어쓰기 한다.
  • 리소스가 있는 정확한 위치를 정해줘야 한다. (POST는 자동이지만 PUT은 아니다.)
  • 그 위치에 리소스가 있다면 요청 메세지 본문 데이터로 덮어씌운다(교체).

PATCH

PUT은 리소스를 부분적으로 변경할 수 없기 때문에 일부만 수정하기 위해서 전체를 다시 보내야 한다. PATCH를 이용해 리소스를 부분만 변경 가능하다.

-PATCH 메서드는 리소스를 부분만 변경한다.

DELETE

  • 서버에게 요청 URL로 지정한 리소스를 삭제할 것을 요청한다.

OPTIONS

  • OPTION 메서드는 서버가 특정 리소스에 대해 어떤 메서드가 지원 가능한지 확인 할 수 있는 메서드이다. (*를 이용해서는 전체 서버에 대한 것을 확인 할 수 있다.)
  • 응답에 Allow 헤더에서 허용되는 메서드를 확인할 수 있다.

TRACE

클라이언트가 요청을 할 시 한번에 origin서버로 이동되는 것이 아니라 중간에 방화벽, 프락시, 게이트웨이 등의 애플리케이션을 통과할 수 있다. 이 과정 중 보내려던 메세지가 수정(변경)이 될 수 도 있다.
이를 점검하기 위해서 TRACE 메소드는 확인된다

  • TRACE 메소드의 요청은 응답할 때 서버가 받은 요청 메세지를 본문에 넣어 응답한다.

마무리

간략하게 HTTP메소드에 대해 알아보았다. HTTP메소드에 대해 OPTION을 알아보던 중 에러에서 종종 보이던 CORS가 발견됐다. 전에는 무엇인지 모르고 해결하는데 급급했는데 HTTP강의를 듣고 보니 어느정도 이해가 됐다.
CORS에 대해 자세하게 설명해준 블로그가 있어서 링크를 남기고 두고두고 봐야겠다.
CORS

출처

profile
Kyle 발전기

0개의 댓글