#5 컴퓨터 과학(CS) 🪄/5-2 Network
[Network] Get vs Post
FillByCoding
2022. 11. 29. 18:48
Get method와 Post method 차이는??
💡요약
Get은 가져온다는 개념
Post는 수행한다는 개념

Get
- 요청하는 데이터가 HTTP Request Message의 Header 부분에 url 이 담겨서 전송
- 클라이언트에서 서버로 어떠한 리소스로 부터 정보를 요청하기 위해 사용되는 메서드
- url 상에 ? 뒤에 데이터가 붙어 request 를 보냄
- url 이라는 공간에 담겨가기 때문에 전송할 수 있는 데이터의 크기가 제한적
- 보안이 필요한 데이터에 대해서는 데이터가 그대로 url 에 노출되므로 GET방식은 적절하지 않음 (ex. password)
Post
- 요청하는 데이터가 HTTP Request Message의 Body부분에 담겨서 전송
- 리소스를 생성/업데이트하기 위해 서버에 데이터를 보내는 데 사용
- HTTP 메세지의 Body는 길이의 제한없이 데이터를 전송 가능
- POST는 데이터가 Body로 전송되고, 내용이 눈에 보이지 않아 GET보다 보안적인 면에서 안전하다고 생각할 수 있지만, POST 요청도 크롬의 개발자 도구, Fiddler와 같은 툴로 요청 내용을 확인할 수 있기 때문에 민감한 데이터의 경우에는 반드시 암호화해 전송해야 함
결론
| Get | Post | |
| 캐시 | ⭕ | ❌ |
| 브라우저 기록 | ⭕ | ❌ |
| 북마크 추가 | ⭕ | ❌ |
| 데이터 길이 제한 | ⭕ | ❌ |
| HTTP 응답 코드 | 200(ok) | 201(Created) |
| 언제 주로 사용? | 리소스 요청 | 리소스 생성 |
| 리소스 전달 방식 | 쿼리스트링 | HTTP Body |
| idempotent | ⭕ | ❌ |
LIST