728x90
반응형
HTTP 메소드를 사용할 때 각 메소드의 의미와 목적에 맞게 사용하는 것이 중요하다.
- GET
- 데이터를 조회할 때 사용한다.
- URL에 파라미터를 포함시켜 서버에 요청하며, 데이터를 변경하지 않는 안전한 작업에 사용된다.
- POST
- 서버에 데이터를 생성하거나 업데이트하기 위해 사용한다.
- 데이터가 body에 포함되어 서버로 전송되며, 서버의 상태를 변경할 수 있다.
RESTful API 설계 방식에 맞춰서 개발하는 것이 좋지만, GET대신 POST를 사용하는 것이 적합한 경우들도 있다.
- 대량의 데이터 조회:
GET 요청은 URL의 길이에 제한이 있을 수 있으며, 이 때문에 대량의 데이터나 복잡한 쿼리를 전송하기에는 적합하지 않을 수 있다. POST 요청은 body에 데이터를 포함시켜 전송할 수 있기 때문에, 이러한 제한 없이 대량의 데이터를 서버로 전송할 수 있다. - 보안:
GET 요청은 URL에 데이터가 포함되기 때문에, 민감한 데이터가 로그나 캐시에 저장될 위험이 있다.
POST 요청은 데이터를 요청 body에 포함시키기 때문에, 민감한 정보를 더 안전하게 전송할 수 있다.
그러나, 이러한 상황에서도 POST를 GET의 대안으로 사용하는 것은 일반적인 웹 개발 관행과 RESTful API 설계 원칙에 어긋날 수 있으므로 RESTful API에서는 리소스의 상태를 변경하지 않는 요청에는 GET을 사용하고, 리소스의 상태를 변경하는 작업에는 POST, PUT, PATCH, DELETE와 같은 메소드를 사용하는 것이 좋다.
만약 POST를 사용해야 하는 특별한 이유가 있다면, 그 이유를 명확히 하고, API의 사용자가 혼란을 느끼지 않도록 문서화하는 것이 중요하다!
728x90
반응형
'개발 이모저모' 카테고리의 다른 글
Intellij 버전 확인, Intellij IDEA 설치 확인 (0) | 2025.01.23 |
---|---|
intellij 소스 정리, 불필요한 import 지우기 (window) (0) | 2025.01.23 |
bigint(20) unsigned, bigint(20) 차이가 뭘까? (0) | 2025.01.18 |
vscode ERD Editor - ERD 무료 툴, DB설계, Table설계 무료 툴 추천! (1) | 2025.01.18 |
XSS란? (0) | 2025.01.18 |