GET이란?
- GET은 클라이언트에서 서버로 요청을 보낼때 사용하는 메소드
- (클라이언트->서버) 게시물 조회같은 "정보 조회"를 할때 사용 (read, search)
- GET은 요청시 URL + query string 방식으로 서버로 전송
- Front-end 개발에서 정적데이터 GET요청은 캐시로 처리 할 수 도 있음
- GET요청은 브라우저 기록에 남음
- GET요청은 query string, 브라우저 기록 등에 남기 때문에 보안적인 측면에서 떨어짐
- GET요청은 데이터 길이에 제한이 있음
- 데이터를 조회/검색 할때만 사용하는 메소드이기 때문에 데이터가 변경 될 일 은 없음. 따라서 Idempotent(멱등)함
- GET의 HTTP응답코드는 200(OK)를 사용함. (조회 완료 하였다는 의미)
POST란?
- POST는 클라이언트에서 서버로 요청을 보낼때 사용하는 메소드
- (클라이언트->서버) 데이터(리소스)를 Create을 할때 사용
- POST는 요청시 HTTP메시지의 Body에 담아서 전송
- POST요청은 데이터 길이에 제한이 없음
- POST요청은 브라우저 기록에 남지않음 (보안성)
- POST요청은 캐시화 시킬 수 없음
- POST의 HTTP응답코드는 201(Create)를 사용
- Non-Idempotent함.
결론
사실 대부분은 Rest한 API 개발이 되기 때문에
GET은 조회
POST는 생성
PUT, PATCH는 수정
DELETE는 삭제
로 각각의 상황에 맞는 메소드가 존재하기 때문에 GET=조회, POST=생성이라고만 알고
API설계를 할땐 GET, POST, PUT/PATCH, DELETE를 적절히 사용하면 될거같고
볼드체 한 부분만 기억 해두면 좋을 것 같다.
REF.
1. https://noahlogs.tistory.com/35
2. https://hongsii.github.io/2017/08/02/what-is-the-difference-get-and-post/
'network' 카테고리의 다른 글
IP(Internet Protocol) (0) | 2017.03.13 |
---|---|
회선교환방식, 패킷교환방식 (0) | 2017.03.13 |
PSTN, PSDN (0) | 2017.03.13 |
Firewall/IDS/IPS (0) | 2016.05.04 |
NIC(Network Interface Card), 네트워크 인터페이스 [랜 카드] (0) | 2016.04.25 |