2009-03-20 7 views
0

콘텐츠 협상을 사용하여 HTTP 서버에서 리소스의 HTML 및 RDF/XML 표현을 제공하려고합니다. 서버 측에서 작동합니다. 즉브라우저에서 HTML 형식이 아닌 파일 형식으로 파일을 다운로드하려면 어떻게해야합니까?

curl -H "Accept: application/rdf+xml" http://localhost:8182/ontologies/1 

이 올바른 버전을 검색합니다. 또한 JavaScript/Dojo를 사용하여 동일한 작업을 수행 할 수 있습니다.

function downloadOntologyRDF(ontologyId) { 
    dojo.xhrGet({ 
     url:"${baseUrl}/ontologies/" + ontologyId, 
     headers: {"Accept": "application/rdf+xml"}, 
     timeout: 5000, 
     load: function(response, ioArgs) { 
      var preNode = document.createElement("pre"); 
      preNode.appendChild(document.createTextNode(response)); 
      var foo = new dijit.Dialog({ 
       title: "RDF", 
       content: preNode, 
       style: "overflow: auto;" 
      }); 
      foo.show(); 
      return response; 
     }, 
     error: function(response, ioArgs) { 
      alert("Retrieving the RDF version failed: " + response); 
      return response; 
     } 
    }); 
} 

결과가 팝업 대화 상자에 표시됩니다. 내가 붙어있는 지점은 사용자에게이 버전을 다운로드 할 수있는 방법을 제공하는 것입니다. 페이지에 RDF를 브라우저의 페이지로 표시하거나 저장 대화 상자를 직접 여는 링크가 필요합니다. 쿼리 매개 변수 또는 다른 트릭을 사용하지 않고도이 작업을 수행 할 수 있습니까?

+0

쿼리 매개 변수와 같은 서버 측 항목 이외의 방법이 없다고 판단됩니다. – cobbal

답변

0

는 언급 - 당신이 URL 자체 Accept 헤더를 설정할 수 없기 때문에, 추가 콘텐츠 협상 메커니즘이 있어야합니다. 어떤 프레임 워크 콘텐츠 유형이 세미콜론으로 구분, URL의 끝에 format을 갖는 형태

http://example.com/resource;format 

에서 설정 될 수 있습니다. 그런 다음 요청을 처리 할 때 형식 부분을 구문 분석합니다.

귀하의 경우는 서버 RDF에

http://localhost:8182/ontologies/1;rdf 

같은, 당신의 동의를 헤더에 어떤 역할을 지정하지 않고 형식이 될 수 있습니다.

+0

저를 위해 "쿼리 매개 변수 및 기타 트릭"으로 분류됩니다. 그러나이 대답을 긴 버전의 "아니오"로 받아 들일 수 있도록하겠습니다. –

+0

필자는 서면으로 생각할 때 세미콜론은 좋은 아이디어라고 생각했지만 비즈니스에서 더 많은 문제와 우아함을 가져다주지는 않습니다. 라우팅 테이블에서 구문 분석하거나 구성해야하므로 불쾌한 결과를 가져옵니다. 결국 나는 매개 변수 localhost : 8182/ontologies/1? format = rdf로 갔다. –

0

이 페이지에서는 브라우저에서 RDF를 표시하는 aspx 페이지를 설정하는 방법에 대해 설명합니다. 그것은 당신을 도울 수 있습니다. 당신이 당신의 서버에서 무엇을 실행하고 있는지를 지정했기 때문에 확신 할 수는 없지만. cobbal처럼

Building an RSS feed made simple

+0

Java/Restlets를 사용하고 있지만 문제가되지 않습니다. 서버 쪽에서 이미 curl/JS 예제로 사용하고 있습니다. 보여 주다. RSS 피드는 자체 URL로 별도의 리소스로 간주되므로 콘텐츠 협상을 사용하여 동일한 리소스의 다른 변형을 검색합니다. –