안정성(Safe)
2025. 6. 27. 15:53ㆍComputerScience
728x90
반응형
정의
서버의 상태를 변경하지 않는 요청
안정성(Safety)은 HTTP 메서드의 속성 중 하나로, 요청을 여러 번 보내더라도 서버의 리소스 상태에 영향을 주지 않는 성질을 말합니다.
즉, 해당 요청을 실행해도 서버 데이터는 변하지 않고, 단순히 조회나 확인만 수행됩니다.
즉, 해당 요청을 실행해도 서버 데이터는 변하지 않고, 단순히 조회나 확인만 수행됩니다.
왜 알아야 할까?
서버 부작용을 방지하고 캐싱 처리에 도움
안정성은 서버의 부하를 줄이고, 클라이언트가 요청을 안전하게 반복할 수 있도록 합니다.
또한 브라우저나 프록시 서버가 캐싱을 적용할 수 있는 기준이 되기도 합니다.
또한 브라우저나 프록시 서버가 캐싱을 적용할 수 있는 기준이 되기도 합니다.
주의: GET도 서버를 변경할 수 있다?
실제 구현에서는
따라서 HTTP 사양상은 안전하지만, 구현에 따라 부작용이 있을 수 있음을 이해해야 합니다.
이는 안정성은 클라이언트 관점의 설계 개념임을 뜻합니다.
GET
요청도 서버 로그를 남기거나 분석 툴에 기록될 수 있습니다.따라서 HTTP 사양상은 안전하지만, 구현에 따라 부작용이 있을 수 있음을 이해해야 합니다.
이는 안정성은 클라이언트 관점의 설계 개념임을 뜻합니다.
RESTful 설계에서의 안정성
REST API 설계에서 메서드의 안정성은 클라이언트의 예측 가능성과 직결됩니다.
클라이언트는 GET이나 HEAD 요청을 언제든 안전하게 반복할 수 있어야 하며,
이로 인해 부하 분산, 캐싱, 프록시 처리에서도 중요한 기준이 됩니다.
클라이언트는 GET이나 HEAD 요청을 언제든 안전하게 반복할 수 있어야 하며,
이로 인해 부하 분산, 캐싱, 프록시 처리에서도 중요한 기준이 됩니다.
안정한 메서드
다음 메서드는 안정성을 가집니다.
메서드 | 설명 |
---|---|
GET | 서버에서 데이터를 조회만 합니다. 서버 상태 변경 없음. |
HEAD | GET과 같지만 응답 본문은 제외됩니다. 캐시 확인 등에 사용. |
OPTIONS | 서버가 지원하는 메서드 정보를 조회합니다. 서버 변경 없음. |
TRACE | 요청이 서버에 도달하는 경로를 그대로 반환합니다. 디버깅용. |
사용 예시
조회나 검증 작업에 적합합니다.
💡 GET: 게시판 목록 조회, 상품 정보 확인
💡 HEAD: 파일 존재 여부나 캐시 유효성 검사
💡 OPTIONS: CORS 사전 요청 (preflight request)
💡 TRACE: 네트워크 경로 추적 테스트
728x90
반응형
'ComputerScience' 카테고리의 다른 글
UDP (1) | 2025.07.13 |
---|---|
프로그램(Program) (0) | 2025.06.08 |
DNS(Domain Name System) (0) | 2025.05.18 |
정적 배열(Array) (0) | 2025.05.15 |
hosts 파일 (0) | 2025.05.14 |