RESTful API에서 세션을 사용하는 것이 실제로 RESTfulness를 위반합니까? 나는 많은 의견이 어느 방향으로 가고 있는지 보았지만 세션이 RESTless 라고 확신하지는 않습니다 . 내 관점에서:
- RESTfulness에 대한 인증은 금지되지 않습니다 (그렇지 않으면 RESTful 서비스에 거의 사용되지 않음)
- 인증은 일반적으로 헤더에 요청에 인증 토큰을 보내서 수행됩니다.
- 이 인증 토큰은 어떻게 든 얻어야하고 취소 될 수 있으며이 경우 갱신해야합니다.
- 인증 토큰은 서버에서 검증해야합니다 (그렇지 않으면 인증이 아님).
세션이이를 어떻게 위반합니까?
- 클라이언트 측 세션은 쿠키를 사용하여 실현됩니다
- 쿠키는 단순히 추가 HTTP 헤더입니다
- 세션 쿠키는 언제든지 얻어서 철회 할 수 있습니다
- 세션 쿠키는 필요한 경우 무한 수명을 가질 수 있습니다
- 세션 ID (인증 토큰)는 서버 측에서 검증됩니다.
따라서 클라이언트에게 세션 쿠키는 다른 독점 헤더 Cookie
대신 헤더를 사용한다는 점을 제외하고 다른 HTTP 헤더 기반 인증 메커니즘과 정확히 동일 Authorization
합니다. 쿠키 값 서버 측에 연결된 세션이 없다면 왜 차이가 있습니까? 서버가 RESTful로 작동 하는 한 서버 측 구현은 클라이언트와 관련이 없습니다 . 따라서 쿠키 자체 만으로는 API RESTless를 만들면 안되며 세션은 단순히 클라이언트에 대한 쿠키입니다.
내 가정이 잘못 되었습니까? 세션 쿠키를 RESTless로 만드는 이유는 무엇입니까 ?