정리하고 기록하며 성장하는

HTTP 메서드 - GET , POST 본문

HTTP/HTTP 메서드

HTTP 메서드 - GET , POST

개발하는묭이 2021. 12. 27. 22:38

HTTP 메서드

클라이언트가 서버에게 요청할 때 기대하는 행동

 

GET : 데이터를 달라

POST : 데이터를 줄테니까 처리를 해달라

 

HTTP 메서드 목적

자원(리소스)에 대해 서버가 수행해야 할 동작을 지정하기 위해 사용

 

HTTP 메서드 종류

  • GET : 리소스 조회
  • POST : 요청 데이터 처리 , 주로 등록에 사용
    • 데이터를 담아서 서버에게 보내는 경우
    • 데이터를 주면 서버가 처리해 준다
  • PUT : 리소스를 대체 , 해당 리소스가 없으면 새롭게 생성
  • PATCH : 리소스 부분 변경 
    • 예) 회원의 이름 변경
  • DELETE : 리소스 삭제

기타 메서드

  • HEAD : GET과 동일하지만 메시지 부분을 제외하고 상태 줄과 헤더 부분만 반환
  • OPTIONS : 브라우저가 서버에게 지우너하는 옵션들을 미리 요청하고 허가된 요청에 한해서 전송하도록 한다

 

 

GET

  • 리소스를 조회 할 때 사용한다
  • PATH에서 쿼리파라미터로 전달된 값을 찾아 반환해 줘라
    GET /search?q=hello&hl=ko HTTP/1.1
    Host: www.google.com​
  • 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터)를 통해서 전달한다
  • 메시지 바디를 사용해서 데이터를 전달한다
  • 실무에서는 get 메서드의 바디에 데이터를 넣지 않는다
  • 필요한 경우 쿼리파라미터를 사용하여 데이터를 전달한다

클라이언트

GET /members/100 HTTP1.1
Host: localhost:8080

 

서버 

응답 

클라이언트에게 Response 해준다

{
  "username": "young",
  "age" : 20
}

응답 데이터 형식

HTTP/1.1 200 OK
Content Type: application/json
Contetn-Length: 34

{
  "Username": "young",
  "age": 20
}

 

 

POST

클라이언트에서 서버로 요청을 보낼때 서버에게 데이터도 같이 보내겠다

POST /members HTTP/1.1
Conten-Type: application/json

{
  "username": "hello",
  "age": 20
}

 

  • 메시지 바디를 통해 서버로 요청 데이터를 전달하여 처리해 달라고 한다
  • 서버는 요청 데이터를 처리한다
    • 메시지 바디를 통해 들어온 데이터를 처리하는 기능을 수행한다
  • 주로 전달받은 데이터로 신규 리소스 등록 또는 변경된 프로세스 처리에 사용한다

 

리소스 등록1 - POST

클라이언트

POST /members HTTP/1.1
Content-Type: application/json

{
 "username": "young",
 "age": 20
}

 

서버

신규 리소스를 생성하여 데이터베이스에 데이터를 등록해 준다

{
  "username": "young",
  "age": 20
}

응답 데이터 형식

HTTP/1.1 201 Created
Content-Type: application/json
Content-Length : 34
Location: /members/100

{
 "username": "young",
 "age": 20
}

'HTTP > HTTP 메서드' 카테고리의 다른 글

HTTP API 만들기  (0) 2021.12.27