2009-09-03 6 views
4

같은 질문을하는 사람이 100000 번째인데 죄송합니다. 하지만 제 경우는 약간 특이한 것 같아요.REST/JSON/XML-RPC/SOAP

우리는 3g의 안드로이드 폰 클라이언트와 밝은 파이썬 웹 서비스 서버를 갖고 싶습니다.

휴대 전화는 대부분의 작업을 수행하고 업로드, 사진, GPS 등을 많이 수행합니다. 서버는 업로드 당 'ok'로 응답해야합니다.

배터리로 가장 가벼운 방법을 사용하고 싶습니다. 그러나이 모든 프로토콜에 대한 정보는 모두 들리므로 조금 혼란 스럽습니다.

모두 같은 레벨입니까? JSON은 RESTful 일 수 있는가? 설명대로 여기에서 중요한 것은 업로드입니다. REST 트랜잭션에 대한 모든 입력이 URI에 있어야합니까? 즉 http://www.server.com/upload/0x81d058f82ac13입니다. XML-RPC와 SOAP도 인터넷 검색과 비슷합니다.

답변

7

REST는 일반 의미 및 개념을 요구합니다. 전송 및 인코딩은 귀하가 결정합니다. 그들은 원래 XML로 공식화되었지만 JSON은 완전히 적용 가능합니다.

XML-RPC/SOAP는 다른 메커니즘이지만 XML과 HTTP를 기반으로 OO API를 매핑하는 방법은 대부분 동일한 아이디어입니다. IMHO, 그들은 디자인 관점에서 역겹다. REST에 관해서는 정말 안심했습니다. 귀하의 경우, 많은 레이어가 더 많은 CPU 요구를 의미 할 것이라고 확신합니다.

인코딩을 위해 JSON을 사용하여 REST로 이동한다고 가정합니다. 하지만 단순히 업로드하는 것만 큼 요구 사항이 간단하면 HTTP 만 사용할 수 있습니다 (특정 라이브러리를 추가하지 않아도 RESTful 일 수 있음)

+4

일반 HTTP가 작동해야합니다. 성공 또는 실패를 나타내는 데 HTTP 응답 코드 헤더를 사용할 수 있습니다. 성공을 위해 2xx 범위의 것이고 실패의 경우 4xx입니다. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html – MadCoder

+3

을 참조하십시오. REST는 일반적인 오래된 HTTP입니다. HTTP GET, POST 및 URI 경로에 의미를 할당하는 방법입니다. –

+0

그러나 XML-RPC보다 REST가 더 간단하지는 않습니다. 나는, 오른쪽 JSON 게시물 http://server.com/class1 HTTP POST { "ㅋ ㅋ ㅋ ㅋ", "JSON 물건"} 같은 것 얻는 경우에 와 XML-RPC 포스트 것 수 http://server.com HTTP Class1의 물건 그래서 XML이 JSON보다 약간 뚱뚱하다는 사실 외에, 그들 사이에 근본적으로 다른 뭔가가 POST? – xster