반응형
목차
- GET 특징
- POST 특징
- 로그인, 로그아웃은 GET? POST?
- 참고 자료
GET 특징
GET의 활용
- GET 메서드는 서버 상의 데이터와 상태 등을 바꾸지 않고 리소스를 받아오는 데 사용
- ex) 검색, 글 조회, 친구 목록 등
GET은 보안이 안 좋다?
- GET은 요청 시 주로 쿼리문을 활용하여 정보를 요청
Query의 경우 URL에 작성되기 때문에 노출이 되어있고 이러한 이유로 보안적인 측면에서 문제가 있다고 합니다. - GET의 경우 멱등성을 가지기 때문에 동일한 요청을 여러 번 보내어도 항상 동일한 응답을 받을 수 있음
이로 인하여 캐싱이 가능하여 요청에 대한 기록이 남아 주요 정보의 경우 기록된 요청으로 조회가 되므로 보안적인 문제가 있다고 합니다.
POST 특징
POST 활용
- POST 메서드는 서버 상의 데이터와 상태 등을 바꾸는 경우에 사용
- ex) 게시글 등록, 친구 추가 등
POST는 보안에 좋다?
- POST는 데이터를 쿼리가 아닌 json 형식으로 body에 담아 전달
쿼리처럼 URL에 정보를 담는 것이 아니기에 정보를 감추어 전달하기에 보안이 좋다고 이야기합니다.
하지만 body의 내용도 마음만 먹으면 얼마든지 확인이 가능하기에 보안이 뛰어난 것은 아니라고 합니다. - POST의 경우 멱등성을 가지지 않기 때문에 동일한 요청을 보내어도 동일한 응답이 오지 않을 수 있음
이러한 이유로 HTTP/1.1 스펙에 캐싱이 비활성화된 메서드로 정의되어 있다고 합니다.
로그인, 로그아웃은 GET? POST?
로그인, 로그아웃은 로그인 상태를 변경하는 요청이기 때문에 서버 상의 데이터 혹은 상태를 변경하는 메서드인 POST를 사용하는 것이 맞다고 합니다.
위의 이유 이외에도 GET의 경우 캐시가 남게 되면 아이디와 비밀번호가 담긴 요청이 기록되어 있는 것이기에 캐시가 비활성화된 POST를 사용하는 것이 맞다고 생각됩니다.
참고 자료
반응형
'개발일기 > Prism' 카테고리의 다른 글
[개발 일기] 프로필 이미지 수정 기록, 해시태그 구상 (0) | 2024.01.22 |
---|---|
[개발 일기] 프로필 수정 페이지 구상 (0) | 2024.01.02 |
[개발 일기] golang 스탠다드 프로젝트 레이아웃 (0) | 2023.12.28 |
[개발일기] 로그인 기능 리팩토링 (2) | 2023.12.26 |
[개발일기] 아키텍처 설계 공부 결정 (2) | 2023.12.20 |