둘 다 HTTP 프로토콜을 이용해 서버에 요청할 때 사용하는 방법이지만 차이가 있다.
GET
- 요청 데이터가 HTTP Request Message의 Header에 url 에 담겨 전송된다. url 의 끝에 ? 뒤에 데이터가 붙는다.(=쿼리스트링)
- url 에 담겨가므로 데이터 크기가 제한적이다.
- url 에 담겨가므로 노출되므로 보안이 필요한 데이터는 담을 수 없다.
- 서버에서 어떤 데이터를 가져오는 용도이다.
POST
- 요청 데이터가 HTTP Request Message의 Body 에 담겨 전송된다.
- 바이너리 데이터는 POST 방식만 담아 보낼 수 있다.
- 데이터 크기가 GET 에 비해 크다.
- 서버의 값이나 상태를 변경, 추가하는 용도이다.
용도에 맞는 방식을 사용해야 한다. 예를 들어 GET 의 경우 cache 데이터를 가져오는 경우가 많은데 POST 용도의 요청을 GET 으로 했을 경우 캐싱된 데이터가 응답할 가능성이 있다.
'기술면접' 카테고리의 다른 글
| [JAVA] 인터페이스와 추상클래스의 차이는? (0) | 2023.05.11 |
|---|---|
| 기술면접 노트 : 자료구조 (0) | 2023.05.02 |
| 기술면접 노트 : 네트워크 (0) | 2023.05.01 |
| [기술면접] 공부 필기 기록 #1 (0) | 2023.03.22 |