HTTP Method

2020. 10. 16. 10:16· Common/Web
목차
  1. HTTP 메소드란?
  2. GET
  3. POST
  4. PUT
  5. DELETE
  6. PATCH
  7. REST API HTTP METHOD CRUD
  8. HEAD
  9. CONNECT
  10. OPTIONS
  11. TRACE
  12. 참고자료
728x90

HTTP Method

HTTP 메소드란?

The Method token indicates the method to be performed on the
resource identified by the Request-URI. The method is case-sensitive.

  • 클라이언트가 웹서버에서 사용자 요청의 목적 및 종류를 알리는 수단이다.
  • 즉, 자원의 행위를 표현하는 것이다.
  • 요청 메시지의 첫째줄에 위치한다.

Request-Line = Method SP Request-URI SP HTTP-Version CRLF

GET

  • 서버에게 해당 리소스를 조회할 때 사용
  • 즉, 서버의 Resource를 읽는다고 생각하면 될거 같습니다

http-method-1

GET /users/1

HTTP/1.1 200 OK
{
    "name": "rutgo",
    "age": 28
}

POST

  • 리소스를 생성할때 사용

http-method-2

POST /users
{
    "name": "rutgo",
    "age": 28
}

HTTP/1.1 201 CREATED

PUT

  • 해당 리소스를 수정할때 사용합니다.
  • REST API 상으로는 해당 자원의 전체를 교체하는 의미로 사용한다.

http-method-3

PUT /users/1
{
    "name": "rutgo",
    "age": 29
}

HTTP/1.1 200 OK
{
    "name": "rutgo",
    "age": 29
}

DELETE

  • 리소스를 삭제할때 사용합니다.

http-method-4

DELETE users/1

HTTP/1.1 204 No Content

PATCH

  • REST API상 리소스의 일부를 변경한다는 의미로 사용한다.
  • 그러나 이 명세는 HTTP 1.1에서는 존재하지 않습니다. 따라서 그 이후에 나온 것 이기 때문에 지원하는지 확인하고 사용해야 합니다.
PATCH /users/1
{
    "age": 29
}

HTTP/1.1 200 OK
{
    "name": "rutgo",
    "age": 29
}

REST API HTTP METHOD CRUD

http-method-5

HEAD

  • GET메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않습니다.
    • 헤더만 확인하고 싶을때
    • 리소스를 받지 않고 오직 찾기만 원할때
    • 데이터가 존재할 경우 응답 상태 코드를 확인할 때
    • 서버의 응답 헤더를 보면서 리소스가 수정되어있는지 확인한다. (헬스 체크, 버전 확인, 최종 수정 일자 등등)
HEAD /index.html

HTTP/1.1 200 OK
Content-Length: 6623
Content-Type: text/html; Charset=utf-8

CONNECT

  • 클라이언트가 프록시를 통해서 서버와 SSL 통신을 하고자 할 때 사용한다.
CONNECT ~:443

HTTP/1.0 Connection established

OPTIONS

  • 웹 서버에서 지원하는 메소드의 종류를 확인할 경우 사용한다.
OPTIONS * 

HTTP/1.1 200 OK
Allow: GET, POST, PUT, OPTIONS, DELETE

TRACE

  • 원격지 서버에 루프백 메시지 호출하기 위해 테스트용으로 사용
  • 송신한 요청을 그대로 응답으로 보내줍니다.
  • 즉, 클라이언트로 부터 Request Packet이 방화벽, Proxy Server, Gateway등을 거치면서 packet에 변조가 일어날 수 있는데, 서버에 도달 했을 때의 최정 패킷의 요청 패킷을 볼수 있다.
    • 즉, 원본 데이터와 서버의 데이터와 서버의 응답을 통해 비교를 할 수 있다.
  • 일반적으로 해당 메소드는 사용불가하다.
  • Trace메서드를 사용해 XST(Cross-Site Tracing) 공격이 가능하다.

 

http-method-6

참고자료

RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1

HTTP 요청 메서드

HTTP Method

REST API 제대로 알고 사용하기 : TOAST Meetup

728x90
728x90
저작자표시 비영리 (새창열림)

'Common > Web' 카테고리의 다른 글

인증(Authentication) vs 인가(Authorization)  (0) 2020.10.24
HTTP Status  (0) 2020.10.18
HTTPS란?  (0) 2020.10.15
OAuth2 인증방식 종류들  (0) 2020.09.23
Cookie vs Session  (0) 2020.09.09
  1. HTTP 메소드란?
  2. GET
  3. POST
  4. PUT
  5. DELETE
  6. PATCH
  7. REST API HTTP METHOD CRUD
  8. HEAD
  9. CONNECT
  10. OPTIONS
  11. TRACE
  12. 참고자료
'Common/Web' 카테고리의 다른 글
  • 인증(Authentication) vs 인가(Authorization)
  • HTTP Status
  • HTTPS란?
  • OAuth2 인증방식 종류들
Seyun(Marco)
Seyun(Marco)
개발, PO, PM, 기획과 관련된 서비스 관련 업무에 관심이 있습니다. 또한 성장,교육과 관련된 주제에 대해서도 관심이 많습니다. 티타임을 좋아하는 사람으로써, 혹시 티타임에 관심이 있으신 분은 ksy90101@gmail.com로 메일 보내주시면 감사하겠습니다 :) 과제를 제공해주고 피드백을 주는 서비스를 오픈하였습니다. 관심있으신 분들은 https://jobskill.notion.site/ 해당 사이트를 참고해주세요.
Enthusiastically, Steady, Slowly개발, PO, PM, 기획과 관련된 서비스 관련 업무에 관심이 있습니다. 또한 성장,교육과 관련된 주제에 대해서도 관심이 많습니다. 티타임을 좋아하는 사람으로써, 혹시 티타임에 관심이 있으신 분은 ksy90101@gmail.com로 메일 보내주시면 감사하겠습니다 :) 과제를 제공해주고 피드백을 주는 서비스를 오픈하였습니다. 관심있으신 분들은 https://jobskill.notion.site/ 해당 사이트를 참고해주세요.
250x250
Seyun(Marco)
Enthusiastically, Steady, Slowly
Seyun(Marco)
전체
오늘
어제
  • 분류 전체보기 (258)
    • Common (31)
      • ComputerScience (10)
      • Web (9)
      • Git (1)
      • 세미나 (8)
      • Testing (3)
    • Backend (129)
      • Java (35)
      • Kotlin (3)
      • Spring (26)
      • Ruby (11)
      • RubyOnRails (17)
      • Python (1)
      • Django (3)
      • Infra (3)
      • DataBase (9)
      • SQL (21)
    • Frontend (30)
      • HTML&CSS (1)
      • JavaScript (16)
      • TypeScript (1)
      • Vue (5)
      • Nuxt.js (3)
      • React (4)
    • Book (30)
      • 이펙티브 자바 3판 (9)
    • Lecture (26)
      • [인프런] Vue.js 시작하기 - Age of .. (14)
      • [Tacademy] JPA 프로그래밍 기본기 다지.. (8)
    • 회고 (7)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • JAR index
  • scanner
  • SCSS
  • JavaScriprt
  • System.out.printlin
  • ruby
  • REST API
  • locale
  • 개발문화
  • rubyonrails
  • java
  • 우아콘
  • Finalization
  • MVC
  • JUnit
  • 멱등성
  • RESTful
  • IBM Plex Sans
  • system.out.println
  • Nuxt3

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Seyun(Marco)
HTTP Method
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.