2012-11-30 2 views
1

내가 REST 세계에 새로운 오전 호출합니다. 나는 ASP.NET MVC 애플리케이션을 작성 중이다. 내 요구 사항은 클라이언트에서 몇 가지 REST 호출을 만드는 것입니다. Javascript에서 이러한 REST 호출을 선택하거나 컨트롤러의 C# 코드에서이를 수행 할 수 있습니다. 어떤 방법을 권장합니까? 내 이해에 따르면 컨트롤러는 웹 서버에서 실행되며 Javascript는 브라우저에서 실행됩니다. 따라서 웹 서버에서 REST 호출을 수행하면 성능이 저하됩니다.REST 호출은

은 누군가가 나에게이 주변의 일반적인 관행을 제안 할 수 있습니까? 같은 보안 취약점이 있습니까?

감사합니다.

답변

1

우리가이 서버 측에게

프로 일의 장단점 살펴 보자 : 서버의 전원을 사용하여 데이터에 다른 처리를 할 수

  • 당신은 적용되지 않습니다 당신과 같은 도메인 간 제한
  • 일반적으로 당신이 클라이언트에서 당신이 그물 제한, 방화벽 등
  • 사용자의 자비 반면, 리소스에 액세스 할 수있는 서버에 대해 걱정할 필요가 없습니다 아약스에있을 것입니다 당신의 HTTP 응답 \ 요청 라이프 사이클
  • 더 많은 제어

단점 :

  • 당신은 클라이언트까지 결과 데이터를 보내 더 많은 대역폭을 소비해야합니다.
  • 당신은 ... 우리가 단점보다 장점이 훨씬 더 큰 목록을 가지고 있지만 특정 서버 측 라이브러리 \ 프레임 워크 요소 이제

을 가진에

  • 종속 좋은 캐싱 방법을 활용하여 더 많은 작업을 수행 할 수 있습니다 대다수의 경우에는 클라이언트에서 계속이 작업을 수행하려고합니다 ... 데이터를 두 번 처리하는 문제는 실제로 매우 큰 문제이므로 시간과 비용이 모두 들게됩니다. 당신이 데이터를 광범위하게 처리 할 필요가있는 경우

    는 서버 측 그것을 실제로해야하는 유일한 이유는, 또는 당신은 CORS (크로스 도메인) 제한을 우회 할 수 없습니다.

    그냥 웹 페이지에 정보를 표시하는 등의 간단한 일을하는 경우, 다음 클라이언트 쪽이 바람직하다.

  • +0

    Roysvork, 크로스 도메인 부분에 대해 더 자세히 설명해 주시겠습니까? 이것이 사용자에게 어떤 영향을 미칩니 까? 내 웹 서버와 내 REST 서비스를 호스팅하는 서버가 동일한 도메인에있는 경우 액세스 할 때 문제가 있습니까? – Sornakumar

    +0

    두 도메인이 같은 도메인에 있으면 문제가 발생하지 않습니다. 기본적으로 웹 서버와 다른 도메인으로 아약스 호출을 자동으로 허용하지 않는 최신 브라우저의 보안 기능입니다. 그러나 작동하도록하는 방법이 있습니다. –

    0

    귀하의 상황에 따라 크게 달라질 수 있습니다. 아무 것도하지 않고이 데이터를 페이지에 간단하게 표시하면 자바 스크립트에서 가져올 수 있습니다. 이 데이터로 작업하거나, 변환하거나, 다른 데이터와 결합하거나, 서버에서이 작업을 수행하는 것이 좋습니다. 서버에서도이 데이터를 얻을 수 있습니다.