2011-10-26 3 views
4

웹 응용 프로그램, 데스크톱 클라이언트, 모바일 클라이언트 등에서 REST 인터페이스를 통해 액세스 할 수있는 REST 서비스를 작성 중입니다. 메모, 캘린더 이벤트 등과 같은 객체를 공통 계층 구조에 저장하고 문서 작성, 업데이트 및 삭제를위한 HTTP 메소드를 제공하므로 REST 인터페이스에 이상적인 범위가되어야한다.크로스 도메인 AJAX를 통한 REST가 이번에는 좋지 않은 아이디어입니까 (2011)?

내 계획은 데이터를 사용하는 다른 서버와 어딘가에 REST 서버를 가지고 있기 때문에 보안 상 특별한 제한 사항이있는 도메인 간 요청을해야합니다 (예 : this article 참조). 나는 또한 실시간으로 웹 물건을 업데이트하고 싶다.

지금 CORS가 무엇인지 배우고 시도해 보았습니다. (토네이도와 jQuery.ajax를 사용하여) 그러나 지금까지는 목표로 삼고있는 설정이 곧 출시 될 것이라는 의혹이 제기되고 있습니다. .

  • HTTP 인증 (jQuery.ajax 작동하지 않음) (withCredentials이 설정되어있는 경우에도)
  • 일부 브라우저 : 난 단지 파이어 폭스 (모두 3.6 및 9),하지만 난 이미 데 문제 시도 전혀 CORS를 지원하지 않는 것은
  • 적어도 하나의 FF 플러그인 (RequestPolicy) CORS 내가 CORS/AJAX가 가능한 해결책이 이해하는 모든

에서 작동하지 않을 수 있습니다 (Wikipedia 말한다),하지만 너무 존재가 보인다 실제적인 사용을위한 많은 제한. 생각하기 전에 이런 종류의 일을 한 사람은 무엇입니까? 내가해야 할 일이고,이 문제가 에 의해 해결되기를 바랍니다. 누군가 나중에 언젠가 사람이 누구입니까? 또는 크로스 도메인 REST/AJAX 접근 방식에 너무 빠르다. 위의 계획에 대해 어떤 대안을 선택 하시겠습니까? 새 프로젝트를 시작할 때 JSONP, 프록시 또는 다른 해결 방법없이 깨끗하게 처리하고 싶습니다.하지만 어쨌든 그렇게 할 수는 없습니다.

답변 해 주셔서 감사합니다.

답변

1

표준 JSON (예 : 브라우저에서 CORS를 사용할 수있는 인스턴스)과 JSONP가 아닌 경우에는 응답을 제공하는 것을 중단하는 데 아무런 의미가 없습니다. 그것은 당신의 산출물에 영향을 미치지 않습니다.

CORS는 IE < 8이 지원하지 않으므로 CORS가 자체적으로 실행 가능하다고 말하지 않습니다. 나는 또한 JSONP에 아무런 문제가 없다고 말할 것이다. 주요 플레이어 (Facebook API, Twitter API, Flickr API, Google의 다양한 API)가 활용하는 기술입니다.

간단히 말해서, 당신이 말한 것은 정확합니다. CORS는 현재 널리 사용되지는 않습니다.

+0

좋아, 그럼 웹 응용 프로그램 용 JSONP 인터페이스를 사용하고 다른 응용 프로그램에 REST를 사용하는 것으로 해결할 것입니다. 최근에 [backbone.js가 POST 요청에 PUT 및 DELETE 요청을 매핑하는 방법] (http://documentcloud.github.com/backbone/#Sync-emulateHTTP) : 실제로 HTTP 매개 변수'_method = PUT'을 추가합니다. GET 요청. 나는 그것을 시도 할 것이다. 귀하의 답변 주셔서 감사합니다! – fqxp