일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- fullcalenda 사용법
- red hat mysql
- linux db설치
- red hat java설치
- red hat db
- linux dump
- Linux
- linux 데이터베이스
- 정규표현식
- linux mysql설치
- fullcalenda 등록
- Java정규표현식
- fullcalenda 추가
- fullcalenda 일정수정
- fullcalenda
- 키보드명령어
- 패킷
- fullcalenda 일정추가
- Java
- TCP
- fullcalenda 일정
- IP
- linux java설치
- 키보드단축기
- NULL
- linux dump하는법
- fullcalenda 캘린더
- select
- red hat linux mysql
- fullcalenda 수정
- Today
- Total
어느 비전공자의 개발일지
HTTL 인터넷 네트워크 [ 4 ] PUT,PATCH,POST,GET,DELETE 본문

* HTTP API를 만들어보자 ( 목록조회,등록,수정,삭제 )
URI 가장 중요한점은 “ 리소스식별 “이다. “ 리소스 “ 와 해당 리소스를 대상으로 하는 “ 행위 “ 를 분리
* HTTP 메서드 ( GET, POST )
-------------------------------------
I GET : 리소스조회 I HEAD : GET 과 동일하지만, 메시지 부분을 제외하고, 상태 줄과 헤더만 반환
I POST : 처리, 등록 I
I PUT : 리소스대체, 리소스 없으면 생성 I
I PATCH : 리소스 부분 변경 I
I DELETE : 리소스 삭제 I
---------------------------------------
GET /search?q=hello&hI=ko HTTP/1.1
: 리소스조회, 서버에 전달하고 싶은 데이터를 query를 통해 전달 ( 바디에 내용을 전달할 수 있지만 지원하지 않는 곳이 많아서 권장하지 않음 )
POST ( 1. 새 리소스 생성 , 2. 요청 데이터 처리 , 3. 다른 메서드로처리하기 애매한 경우 )
: 메시지 바디를 통해 서버로 요청 데이터 전달 / 처리한다.
예 ) HTML FORM에 입력한 정보로 회원가입,주문, 게시판글쓰기, 댓글 달기, 신규 주문 생성 ,한 문서 끝에 내용 추가하기 등.
: POST는 모든걸 할수 있지만, 조회데이터는 최대한 GET을 쓴다.
* HTTP 메서드 ( PUT, PATCH , DELETE )
PUT ? 리소스를 대체 하는 것 ( 덮어버림 )
중요 : POST와 PUT의 다른점은, PUT은 정확한 리소스위치를 알고 URI를 지정한다는 것, 리소스를 완전히 대체 한다는 것,

DELETE ( 리소스 제거 )
* HTTP 메서드의 속성
안전(Safe Methods)
호출해도 리소스를 변경하지 않는다. ( 호출을 했을 때 변경이 안되는걸 안전하다고 한다 )
멱등(Idempotent Methods) 한 번 호출하든 두번 호출하면 100번 호출하든 결과가 같다.
GET : 한 번 조회하든, 두 번 조회하든 같은 결과가 조회 된다. -------------------------------- 멱등 아님 POST ---------------------------
PUT : 한 번 대체 하든 , 두번 대체하든 같은 결과가 조회 된다. I POST : 멱등이 아니다! 결제가 한번될 것이 두번 되고 백번 된다. I
DELETE : 한 번 삭제 하든, 두번 삭제하든 삭제된 결과는 같다. -------------------------------- 멱등 아님 POST ---------------------------
활용 : 자동 복구 메커니즘 ( 삭제를 했을시 삭제가 되었는지 몰라서 자동으로 삭제처리를 한번더 실행 한다. )
Q.: 재요청 중간에 다른 곳 에서 리소소를 PUT으로 변경 해버리면 그냥 변경된 걸로 재요청됨. ( 멱등은 중간에 리소스가 변경 되는 것 까지 고려하지 않는다.)
캐시가능(Cacheable Methods)
GET,HEAD,POST,PATCH 캐시 가능이지만, 실제로는 GET,HEAD 정도만 캐시로 사용한다.
POST,PATCH는 본문 내용까지 캐시 키로 고려해야되는데 구현이 쉽지않음
'백엔드 개발자 > Java[Spring]' 카테고리의 다른 글
HTTL 인터넷 네트워크 [ 3 ] HTTP 기본 (0) | 2023.07.21 |
---|---|
HTTL 인터넷 네트워크 [ 2 ] URI, URL,URN (0) | 2023.07.20 |
HTTL 인터넷 네트워크 [1] (0) | 2023.07.18 |
커널(Kernel) ,쉘(Shell) 정리 (0) | 2023.06.09 |
DBMS 정리 , DBMS 커디널리티,차수,튜플 (0) | 2023.06.08 |