스프링 키워드 스터디 - 3

딩딩당당·2022년 11월 30일
0

Put과 PATCH의 차이

  • PUT
    PUT 요청은 페이로드를 사용해 새로운 리소스를 생성하거나 대상 리소스의 데이터를 대체한다.
    -> PUT은 DB의 기존 row를 새로운 데이터로 교체하거나 기존 row가 없을 경우 해당 데이터로 단순 저장한다.

  • PATCH
    PATCH 요청은 리소스의 부분적인 수정을 한다.
    -> PATCH는 기존 row 안에서 요청받은 데이터만 수정한다.

우리가 PathVariable이나 RequestParam을 받아 Update를 사용할 때 PUT은 해당 데이터가 없으면 새로 생성하지만 PATCH는 해당 데이터가 없으면 오류가 발생한다.

쉽게 말해 PUT은 새로운 부품을 만들거나, 교체하는 것 PATCH는 기존 부품을 고치는 것이라고 생각하면 편하다.

HTTP 프로토콜

  • HTTP 프로토콜이란?
    HTTP는 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜이며 어떤 종류의 데이터든 전송할 수 있도록 설계되어있다.

  • HTTP 프로토콜의 동작 방식

사용자가 url등으로 요청(request)하면 서버는 해당 요청에 맞는 결과를 찾아서 사용자에게 응답(response)하는 형태로 작동한다.


HTTP프로토콜의 요청/응답 데이터 포멧

1.요청 데이터 포멧

  GET /servlet/query?a=10&b=90 HTTP/1.1
  Host: www.sk.com
  User-Agent: Mozilla/5.0 
  Accept-language:kr

헤더부분

첫번째 줄에는 요청메소드, 요청 URL, HTTP프로토콜 버전을 담는다.

  • 요청 메소드 :
    GET, PUT, POST, PUSH, OPTIONS 등의 요청 방식이 오며 서버에게 요청의 종류를 구분해 알려주기 위함이다.
  • 요청 URL : 요청하는 자원의 위치를 명시함
  • HTTP 프로토콜 버전 : 말 그대로 웹에서 사용하는 HTTP 프로토콜의 버전이다.

바디부분

요청할 때에 함께 보낼 데이터를 담아낸다.
요청메소드가 POST나 PUT처럼 요청과 자원을 함께 보내야할 때 담아낸다.
GET 방식은 요청할 때 가지고 가야 하는 자원도 URL에 붙어있기 때문에 요청바디가 없다.

2. 응답 데이터 포멧

HTTP/1.1 200 OK		
Connection: keep-alive			 
Content-Encoding: gzip
Content-Length: 35653
Content-Type: text/html;

<!DOCTYPE html>
<html lang="ko" data-reactroot="">

헤더 부분

첫번재 줄에는 HTTP 포로토콜의 버전, 응답코드, 응답메세지를 담는다.
ex) 응답 코드가 200이면 성공 / 400,404,500, ... 등은 오류코드

바디 부분

빈줄 다음에 나오는 것이 실제 응답 리소스 데이터가 나오는 부분이다.

profile
자바공부해요흑흑

0개의 댓글

관련 채용 정보