개발자
안녕하세요. API 서버를 별도로 구축하고, 인증은 토큰방식으로 체택했습니다! 이제 웹페이지를 제작하고있는데요, 문득 드는 의문이 API서버에 대한 데이터 요청은 클라이언트 사이드단에서 처리를 해야 맞는건가요? 아니면, 서버 사이드단에서 처리를 해야 맞는건가요? 인가에 대한 토큰은 쿠키에 있다고 한다면, 1. 클라이언트 사이드단 처리 클라이언트에서 브라우저의 쿠키 접근 -> 인가 토큰 획득 -> 헤더에 포함하여, API서버에 요청. -> 데이터 요청 완료. 2. 서버사이드 처리 클라이언트에서 브라우저의 쿠키를 헤더에 포함하여 서버사이드로 데이터 요청 -> 서버사이드에서 인가토큰을 획득하여, API서버에 요청 -> 클라이언트에게 해당 데이터를 응답 -> 데이터 요청 완료. 1번 방법은 API서버가 외부에 노출되어있어서 보안에 취약하지만, 트래픽이 많아질경우, API서버에 대한 처리만 잘 하면 될것같고, 2번 방법은 API서버는 웹서버와만 통신을 하니, 보안에 강하지만, 트래픽이 많아질경우, 웹서버에 대한 처리, API 서버에 대한 처리 둘다 고민해야할것같은데.. 보통 어느방법을 선택하나요??
답변 1
설송우
작성자
만 1년차 풀스택 개발자 • 2024년 05월 29일
답변 감사합니다 :)
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 05월 28일
그 질문에 대한 답은 그것이 어떤 종류의 API와 데이터, 그리고 어떤 유형의 클라이언트를 사용하느냐에 달려 있습니다. 여러 가지 방식이 있고 각각의 방식이 장단점을 가지고 있기 때문에 상황에 따라 적합한 선택을 해야합니다. 1. 클라이언트 사이드 처리: 이 접근법은 웹 브라우저 같은 클라이언트가 직접 API를 호출하는 것입니다. 이 경우, 클라이언트는 쿠키에서 토큰을 읽어서 API 요청의 헤더에 포함시킵니다. 이 방식의 장점은 서버 부하를 줄일 수 있다는 것입니다. 하지만 클라이언트 쪽에서 보안 문제가 발생할 수 있습니다. 2. 서버사이드 처리: 이 방법은 중간 서버가 API 호출을 대신해서 합니다. 사용자의 요청을 받아서 필요한 인증 정보를 추가하고, 해당 요청을 API 서버로 전송합니다. 그런 다음 API 서버의 응답을 받아 클라이언트로 반환합니다. 이 방식은 보안성과 확장성 면에서 더 우수하지만, 추가적인 서버 리소스가 필요하며 복잡성이 증가합니다. 보통은 보안 요건, 서버 리소스, 복잡성 등을 고려하여 선택해야 합니다. 만약 인증 정보를 클라이언트에 노출하는 것이 우려된다면 서버 사이드 처리 방식이 더 낫습니다. 하지만, 트래픽 부하를 최대한 줄이고자 한다면 클라이언트 사이드 처리 방식을 고려해볼 수 있습니다. 한 가지 중요한 점은 어떤 선택을 하든 간에 적절한 보안 조치를 취하는 것입니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!