티스토리 뷰
HTTP
GET: 리소스 조회 (뭐좀 줘)
POST: 요청 데이터 처리, 주로 등록에 사용 (데이터 줄테니 등록해줘)
PUT: 리소스를 대체, 해당 리소스가 없으면 생성
PATCH: 리소스 부분 변경
DELETE: 리소스 삭제
GET
GET/search?q=hello&hl=ko HTTP/1.1
Host: www.google.com
- 리소스 조회
- 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터, 쿼리 스트링)를 통해서 전달
#메세지바디를 전달 할 수 있다. 최근 스펙에서는 가능하지만 실무에서는 겟 메서드에 바디에 데이터를 넣지않는다.
왜냐하면 지원하지 않는 서버가 많기 때문이다.
GET /members/100 HTTP/1.1 Host:localhost:8080 --> 요청 /members/100 { "username":"young", "age":20 } //조회 요청메세지를 응답 메세지를 만들어 200 ok를 보내며 전달된다.
POST
클라이언트에서 서버로 데이터를 전달주며 처리해달라고 하는 것 (등록 등)
-요청 데이터 처리
-신규 리소스 등록, 프로세스 처리 등
처리 후 바디에
등록처리된 곳으로
location : /members/100
이런 식으로 붙여준다.
- 예를 들어
- HTML 양식에 입력 된 필드와 같은 데이터 블록을 데이터 처리 프로세스에 제공
-예) HTML FORM에 입력한 정보로 회원 가입, 주문 등에서 사용
정리 핵심: 이 리소스에 URI에 POST 요청이 오면 요청 데이터를 어떻게 처리할지 리소스마다 따로 정해야 함 -> 정해진 것이 없다
큰 프로세스를 처리할 때에도 POST를 사용해야함
사실 POST는 조회든 뭐든 사용할 수 있지만
조회 데이터는 최대한 GET를 사용해야하며 그 이유는 서버간에 조회는 GET으로 약속 해놓은게 있기 때문 (캐싱 같은 문제가 더 수월하다)
PUT
완전 덮어버림
-리소스를 대체
- 리소스가 있으면 대체
- 리소스가 없으면 생성
- 쉽게 이야기해서 덮어버림
- 중요! 클라이언트가 리소스를 식별
- 클라이언트가 리소스 위치를 알고 URI 지정
- POST와 차이점
PATCH
put과 다르게 리소스 부분변경
DELETE
리소스 제거
- Total
- Today
- Yesterday
- 리터럴
- thymleaf
- 항해99
- 백엔드 개발자 역량
- 인터셉터
- JPA
- exception
- SpringBoot
- 백엔드 개발자 공부
- 컨트
- react실행
- 스프링부트
- reject
- 향해99
- jpa api
- 향해플러스백엔드
- 로그인
- 향해플러스
- 예외처리
- React
- Java
- HTTP
- BindingResult
- 항해플러스
- hypertexttransferprotocol
- rejectValue
- Intercepter
- filter
- 스프링공부
- ArgumentResolver
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |