오늘은 get와 post method의 차이점에 대해 간단히 알아보겠습니다
1. Get Method란?
Get Method란 서버상에서 데이터를 가져와야할 때 사용합니다.
주로 일반적으로 데이터를 조회하거나 검색할 때 사용합니다.
1-1. Get Method의 사용법이란?
url에 쿼리스트링을 원하는 조건을 추가해서 데이터를 조회할 수 있습니다
예시
쿼리스트링에 조건을 추가하여 데이터 요청 url
http://localhost:8080/post?memberId=1&postId=2
해석
http://localhost:8080/post url에 memberId가 1이고, postId=2라는 데이터를 넘겨보내 값을 조회하는 url입니다.
1-2. Get Method의 특징
- URL에 쿼리 스트링(데이터)을 붙여서 서버에 전송
- URL에 정보들이 그대로 노출되기 때문에 POST 방식보다 상대적으로 보안에 취약
- 캐싱이 가능
- POST 방식보다 상대적으로 전송 속도가 빠름
- 전송하는 데이터양에 한계가 있음 (브라우저마다 GET 요청 길이 제한 존재)
- 브라우저 히스토리에 기록이 남음
2. Post Method란?
Post Method란 서버상에서 데이터를 변경할 때 사용합니다.
주로 일반적으로 데이터를 수정하거나 삽입할 때 사용합니다.
2-1. Post Method의 특징
- 데이터들을 URL뒤에 붙여서 서버로 보내는 것이 아닌 Body에 담아서 전송
- 요청 헤더의 Content-Type에 콘텐츠 타입을 명시
- 데이터들이 URL에 노출되지 않기 때문에 GET 방식보다 상대적으로 보안적
- 데이터들을 Body에 담기 때문에 서버로 보내는 데이터의 양은 제한 없음
- URL에 데이터가 노출되지 않으므로 캐싱 불가
- 요청받는 시간제한 존재
- 브라우저 히스토리에 기록이 남지 않음
3. GET VS POST 차이점
캐시 | ⭕️ | ❌ |
브라우저 기록 | ⭕️ | ❌ |
북마크 추가 | ⭕️ | ❌ |
데이터 길이 제한 | ⭕️ | ❌ |
언제 주로 사용하는가? | 리소스 요청 | 리소스 생성 |
리소스 전달 방식 | 쿼리스트링 | HTTP Body |
참고
'개발 지식' 카테고리의 다른 글
트랜잭션의 특징 (0) | 2023.04.05 |
---|---|
애자일(Agile)이란? (0) | 2023.03.27 |
SendGrid Dynamic Template 생성하기 (0) | 2023.03.08 |
Mac 포트 kill 하기 / Port 8080 was already in use 해결 (0) | 2023.03.05 |
API란? SDK란? (0) | 2023.03.02 |