2011-09-21 4 views
3

많은 사용자에게 배포 할 서버에 많은 양의 데이터 (pdf, 이미지, doc 파일 형식)가 필요한 경우가 있습니다. 필자는 메타 데이터와 함께 웹 서비스를 사용하여 이러한 파일을 가져 오려고합니다. 파일을 바이트 단위로 가져올 것입니다. 어떤 유형의 웹 서비스가 더 안전하고 파싱하기 쉬울 지 혼란 스럽습니다. iPhone 클라이언트에서 구현하기 쉬운 것은 어느 것입니까?대용량 데이터 보안을위한 REST와 SOAP

나는 REST가 더 간단하다는 것을 알고 있지만 어딘가에서는 분산 환경에 적합하지 않다고 읽는다. 동시에 SOAP은 모바일 플랫폼에 비해 너무 무겁습니다.

나는 REST가 더 쉽고 SOAP이 안전하다는 것을 설명하는 많은 사이트를 수색했다. 어느 것이 사용되는지 혼란스러워합니까? 내 요구 사항에 대한 JSON 또는 XML이 더 좋은 응답 유형에 대해서도 알고 계십니까?

+0

SOAP은 프로토콜 인 반면 REST VS SOAP은 구조적 솔루션이라고 할 수는 없습니다. – Anders

+0

보안 문제는 구체적으로 무엇입니까? –

답변

2

요구 사항에 맞게 JSON은 XML보다 훨씬 작기 때문에 응답이 가장 좋습니다 (많은 테스트에서 50 % 이상 작음). SBJSON (https://github.com/stig/json-framework/)을 사용하여 iOS에서 쉽게 구문 분석 할 수 있습니다.

REST 또는 SOAP에 관해서는, 마지막 하나는 모바일 플랫폼에서 실제로 무겁고 구현하기가 쉽지 않습니다. SOAP에는 XML도 필요하므로 JSON과 함께 사용할 수 없습니다. REST에서는 JSON 또는 XML을 사용하고 RESTKit (http://restkit.org/)으로 iOS에서 쉽게 구현할 수 있지만 보안을 위해 HTTPS 및 서명 된 인증서로 SSL 연결을 사용할 수 있습니다.

SOAP의 유일한 이점은 웹 서비스가 정말 강력해진 WSDL (Webservice specification)입니다.

+0

동의하지만 json이 xml만큼 효과적으로 바이트 데이터 스트림을 처리 할 수 ​​있습니까? – iosfanboy9

+2

JSON은 기본적으로 바이트 데이터 스트림을 처리하지 않으므로 바이트 데이터를 처리하려면 ** base64 **로 데이터를 인코딩해야합니다. 이 [subject] (http://stackoverflow.com/questions/1443158/binary-data-in-json-string-something-better-than-base64)는 그것에 대해 이야기합니다. – iGranDav

+0

"웹 서비스를 강하게"만드는 웹 서비스 스펙은 정확히 무엇입니까? –

0

파일 데이터와 메타 데이터를 동일한 응답으로 가져 오기위한 특정 요구 사항이없는 경우 일반 HTTP GET으로 파일을 가져 오는 것이 좋습니다. HTTPS 및 Basic Auth 또는 클라이언트 인증서로 적절한 보안을 확보 할 수 있습니다. 이것은 당신이 파일 자체에 대한 공통의 유용 메타 데이터에 대한 별도의 캐싱 의미를 가질 수 있습니다, 특히

Link: </path/to/metadata>;rel=meta 

: 나는 다음과 같이 파일에 대한 메타 데이터를 가리키는 링크 헤더를 포함 할 것 파일이 메타 데이터보다 훨씬 크고 파일 내용이 변경되지 않고 메타 데이터가 변경 될 수있는 경우.