Sun ONE logo      이전      목차      색인      다음     

Sun ONE Web Server 6.1 관리자 설명서

19 장
WebDAV를 사용하는 웹 게시

Sun ONE Web Server 6.1은 웹 기반 공동 작업에서 표준으로 부상하고 있는 WebDAV, 즉 Web-based Distributed Authoring and Versioning을 지원합니다. WebDAV는 클라이언트가 원격 웹 컨텐트 저작 작업을 수행하도록 하는 HTTP/1.1 프로토콜의 확장입니다.

이 장에서는 Sun ONE Web Server 6.1에서 WebDAV를 사용하는 방법에 대해 설명합니다. 다음 부분을 포함합니다.


WebDAV 정보

WebDAV는 HTTP/1.1 프로토콜의 확장으로서 HTTP 및 XML 뿐만 아니라 텍스트, 그래픽, 스프레드시트 및 모든 기타 형식을 포함하는 모든 유형의 웹 리소스에 대해 저작 지원을 제공하는 새로운 HTML 메소드 및 헤더를 추가합니다.

WebDAV로 실행할 수 있는 작업에는 다음과 같은 것들이 있습니다.

Sun ONE Web Server 6.1의 WebDAV 지원은 다음 기능을 제공합니다.


일반 WebDAV 용어

이 부분은 WebDAV와 작업하면서 만나게 되는 일반적인 용어를 개략적으로 제시합니다.

URI. URI(Uniform Resource Identifier)는 URL 약자를 사용하여 추가 보안 레이어를 제공하는 파일 ID입니다. URL의 첫 번째 부분은 URL 매핑으로 대체되므로 사용자는 파일의 실제 경로를 알 수 없게 된다.

소스 URI. 소스 URI라는 용어는 리소스를 액세스하는 소스를 가리킵니다. 소스 URI의 개념을 이해하려면 다음 예를 보십시오.

JSP 페이지, foo.jsp는 URI /docs/date.jsp에 위치합니다. 이 페이지에는 HTML 마크업 및 Java 코드가 들어 있고 이것을 실행하면 클라이언트 브라우저에 오늘 데이터를 인쇄합니다. 서버가 페이지를 서비스하기 전에 클라이언트로부터 foo.jsp에 대한 GET 요청을 수신하면 서버는 Java 코드를 실행합니다. 클라이언트가 수신한 것은 서버에 상주하는 foo.jsp가 아니라 현재 데이터를 표시하는 동적 생성 페이지입니다.

소스 URI, 즉 /publish/docs를 만들고 foo.jsp가 포함된 /docs 디렉토리로 매핑하면 /publish/docs/foo.jsp에 대한 요청은 /docs/foo.jsp JSP 페이지의 소스 코드에 대한 요청이 됩니다. 이 경우, 서버는 Java 코드를 실행하지 않고 페이지를 서비스합니다. 클라이언트는 처리되지 않은 페이지를 디스크에 저장된 그대로 수신합니다.

소스 URI에 대한 요청은 따라서 리소스 소스에 대한 요청입니다.

컬렉션. WebDAV 컬렉션은 WebDAV 작업에 대해 사용 설정된 리소스 또는 리소스 집합입니다. 컬렉션은 URI 세트와 WebDAV 사용 가능한 구성원 리소스를 식별하는 용어인 구성원 URI를 포함합니다.

구성원 URI. 컬렉션 내부의 URI 집합의 구성원인 URI.

내부 구성원 URI. 컬렉션의 URI와 직접 연관된 구성원 URI. 예를 들어, URL http://info.sun.com/resources/info를 가진 리소스가 WebDAV 사용 가능이고 URL http://info.sun.com/resources/를 가진 리소스 역시 WebDAV 사용 가능일 경우 URL http://info.sun.com/resources/를 가진 리소스는 컬렉션이고 http://info.sun.com/resources/info를 내부 구성원으로 포함합니다.

등록정보. 리소스에 대한 설명적 정보를 포함하는 이름/값 쌍. 등록정보는 효율적인 리소스 찾기와 관리에 사용됩니다. 예를 들어, '작성일' 등록정보를 사용하여 리소스가 작성된 날짜를 기준으로 모든 리소스의 색인화를 할 수 있고 '작성자' 등록정보를 기준으로 작성자 이름별로 색인화할 수 있습니다.

라이브 등록정보. 서버가 집행하는 등록정보. 예를 들어, 라이브 getcontentlength 등록정보가 GET 요청이 반환하는 엔티티의 길이를 값으로 가지며 이것은 서버가 자동으로 계산합니다. 라이브 등록정보는 다음을 포함합니다.

데드 등록정보. 서버가 집행하지 않는 등록정보. 서버는 데드 등록정보의 값만 기록합니다. 클라이언트가 일관성 유지를 책임집니다.

Sun ONE Web Server 6.1은 다음 라이브 등록정보를 지원합니다.

잠금. 리소스를 잠그는 기능은 다른 사용자가 편집하는 동안에는 사용자가 리소스를 수정할 수 없도록 하는 메커니즘을 제공합니다. 잠금은 겹쳐쓰기 충돌을 방지하고 "업데이트 유실" 문제를 해결합니다.

Sun ONE Web Server는 두 가지 잠금 유형을 지원합니다. shared와 exclusive가 그것입니다.

새 HTTP 헤더. WebDAV가 HTTP/1.1 프로토콜을 확장하여 작업합니다. 이것은 클라이언트가 WebDAV 리소스에 대한 요청을 통신할 수 있는 새 HTTP 헤더를 정의합니다. 이러한 헤더는 다음과 같습니다.

새 HTTP 메소드. WebDAV는 WebDAV 사용 가능 서버에게 요청을 처리하는 방법을 지시하는 몇 가지 새 HTTP 메소드를 도입합니다. 이러한 방법은 WebDAV 트랜잭션을 수행하는 데 GET, PUT 및 DELETE와 같은 기존 HTTP 메소드에 추가로 사용됩니다. 새 HTTP 메소드에 대해 다음에서 간략하게 설명합니다.


WebDAV 사용

완전한 WebDAV 트랜잭션은 Sun ONE Web Server 6.1과 같이 WebDAV 리소스에 대한 요청을 서비스할 수 있는 WebDAV 사용 가능 서버와 Adobe GoLive또는 Macromedia DreamWeaver같이 WebDAV 사용 가능 웹 게시 요청을 지원하는 WebDAV 클라이언트를 포함합니다.

서버측에서, WebDAV 요청을 서비스할 수 있도록 Sun ONE Web Server 6.1 사용 가능을 설정 및 구성해야 합니다.

WebDAV를 사용하도록 Sun ONE Web Server 6.1을 구성하려면 다음 단계가 필요합니다.


WebDAV 사용 설정

Sun ONE Web Server 6.1을 설치하면 기본적으로 WebDAV는 사용하지 않도록 설정됩니다.

컬렉션 수준에서 WebDAV를 사용 설정하려면 서버 인스턴스 수준과 가상 서버 클래스 수준에서도 WebDAV를 사용 설졍해야 합니다.


참고

컬렉션에 지정된 속성은 가상 서버 수준에서 설정된 속성 값에 우선합니다.


WebDAV를 사용 설정할 수 있는 다른 수준은 다음 부분에서 설명합니다.

서버 인스턴스에 대해 WebDAV 사용 설정

Administration Server를 사용하여 전체 서버에 대해 WebDAV를 사용 가능하게 만들 수 있습니다. 그렇게 할 경우 다음 지시문이 WebDAV 플러그인을 로드하는 magnus.conf 파일에 추가됩니다.

Init fn="load-modules" shlib="/s1ws6.1/lib/libdavplugin.so" funcs="init-dav,ntrans-dav,pcheck-dav,service-dav"

shlib_flags="(global|now)"

Init fn="init-dav" LateInit=yes

init-dav  Init 기능은WebDAV 하위 시스템을 초기화 및 등록합니다.

WebDAV를 전역적으로 사용하도록 설정하려면 다음 작업을 수행합니다.

  1. WebDAV를 사용하도록 설정하려는 서버의 Server Manager에 액세스합니다.
  2. Preferences 탭의 Enable/Disable WebDAV 링크를 누릅니다.
  3. Enable WebDAV Globally 확인란을 표시합니다.
  4. 인스턴스에 대해 WebDAV 사용 설정
    서버 인스턴스 페이지에 대한 Enable/Disable WebDAV를 표시하는 그림.

  5. Apply를 누릅니다.
  6. Apply Changes 버튼을 눌러 서버를 재새작합니다
  7. 또는

    Load Configuration Files를 눌러 동적으로 변경 사항을 적용합니다.

가상 서버 클래스에 대해 WebDAV 사용 설정

특정 가상 서버 클래스에 대해 WebDAV를 사용 설정하려면:

  1. 가상 서버 클래스 목록이 표시됩니다.
  2. Content Mgmt 탭을 누릅니다.
  3. Enable/Disable WebDAV 링크를 누릅니다.
  4. 가상 서버 클래스에 대한 WebDAV 사용 설정.
    가상 서버 클래스 화면의 Enable/Disable WebDAV를 표시하는 그림.

  5. Enable DAV 확인란을 표시합니다.
  6. OK를 누릅니다.

가상 서버 클래스에 대해 WebDAV를 사용 설정하려면 관련 obj.conf 파일이 다음 항목으로 업데이트됩니다.

<Object name="default">

...

Service fn="service-dav" method="(OPTIONS|PUT|DELETE|COPY|MOVE|PROPFIND|PROPPATCH|LOCK|UNLOCK|MKCOL)"

Error fn="error-j2ee"

...

</Object>

...

<Object name="dav">

PathCheck fn="check-acl" acl="dav-src"

Service fn="service-dav" method="(GET|HEAD|POST|PUT|DELETE|COPY|MOVE|PROPFIND|PROPPATCH|LOCK|UNLOCK|MKCOL)"

</Object>

컬렉션에 대한 WebDAV 사용 설정

가상 서버에 하나 이상의 WebDAV 컬렉션을 추가했으면 언제든지 사용하지 않음 및 사용함으로 설정할 것을 선택할 수 있습니다. 그렇게 하는 방법에 대한 더 자세한 내용은 "WebDAV 컬렉션 편집"을 참조하십시오.


WebDAV 컬렉션 만들기

WebDAV 컬렉션은 WebDAV 작업에 대해 사용 설정된 리소스 또는 리소스 집합입니다. 이 작업은 웹 게시, 공동 저작, 이름 공간 관리, 메타 데이터 관리를 포함합니다.

WebDAV 컬렉션을 가상 서버에 추가하려면 다음 작업을 수행합니다.

  1. WebDAV가 서버 인스턴스와 가상 서버 클래스에 대해 사용 설정되도록 합니다. 더 자세한 내용은 "서버 인스턴스에 대해 WebDAV 사용 설정" 및 "가상 서버 클래스에 대해 WebDAV 사용 설정"를 참조하십시오.
  2. 관리하려는 가상 서버에 액세스하고 WebDAV 탭을 누릅니다.
  3. Add DAV Collection 페이지에서 다음 정보를 입력합니다.
    • URI (필수). 내용이 액세스되는 URI입니다.
    • Source URI (선택). 리소스가 액세스되는 URI입니다.

    • 참고

      CGI 또는 SHTML과 같은 동적 내용을 게시하려면 소스 URI를 구성되어 있어야 합니다.


      용어 소스 URI에 대한 설명은 일반 WebDAV 용어를 참조하십시오.

    • Lock Database (선택). 잠금 데이터베이스가 유지보수되는 디렉토리입니다. 기본값은 server-instance/lock-db/vs-id입니다.
    • Minimum Lock Timeout (선택). 초 단위의 잠금 최소 사용 시간입니다. 기본값은 0입니다. 더 자세한 내용은 최소 잠금 시간초과를 참조하십시오.
    • Limit XML Request Body (선택). 요청 본문의 XML 내용의 최소 크기입니다. Denial of Service (DOS) 공격 가능성을 방지하기 위해 크기를 제한합니다.
    • Maximum Property Depth (선택). PROPFIND 요청의 깊이입니다.
      • 0은 지정된 리소스에만 적용됩니다.
      • 1은 지정된 리소스와 이에 포함된 다음 수준의 리소스에 적용됩니다.
      • infinity는 지정된 리소스와 이에 포함된 모든 리소스에 적용됩니다.
      • 기본으로 값은 0으로 설정됩니다.

    • Enabled (선택) 컬렉션에 대해 WebDAV 기능을 사용하도록 설정합니다.
  4. OK를 누릅니다.

  5. 참고

    • Administration server를 사용하여 컬렉션을 추가할 경우에는 서버가 파일 시스템의 컬렉션에 대한 디렉토리를 자동으로 만들지 않습니다. 컬렉션에 해당하는 디렉토리가 파일 시스템에 만들어졌는지 확인하는 일은 관리자의 책임입니다.
    • UNIX 시스템에서 Web Server를 root (수퍼유저)로 설치했고 서버를 다른 사용자로 실행할 경우에는 서버를 실행하는 사용자가 만들어진 WebDAV 컬렉션에 해당하는 디렉토리에 대한 읽기 쓰기 권한이 있도록 하십시오.


WebDAV 컬렉션 편집

기존 DAV 컬렉션의 속성을 편집할 수 있습니다. 예를 들어, 컬렉션에서 액세스 제어를 구성합니다.

기존 WebDAV 컬렉션을 편집하려면 다음 작업을 수행합니다.

  1. 컬렉션이 존재하는 가상 서버에 액세스하여 WebDAV 탭을 누릅니다.
  2. Edit DAV Collections 페이지에서 다음 정보를 수정합니다.
    • Delete. 컬렉션을 제거할 수 있습니다.
    • URI. 내용이 액세스되는 URI를 표시합니다.
    • Enabled. WebDAV가 사용 가능인지(true) 아닌지(false) 나타냅니다.
    • Edit Collection. 다음을 구성하려면 이 버튼을 누릅니다.
      • URI (필수). 내용이 액세스되는 URI입니다.
      • Source URI (선택). 리소스가 액세스되는 URI입니다.
      • Lock Database (선택). 잠금 데이터베이스가 유지보수되는 디렉토리입니다.
      • Min Lock Timeout (선택). 초 단위의 잠금 최소 사용 시간입니다. 더 자세한 내용은 최소 잠금 시간초과를 참조하십시오.

      • 참고

        minlocktimeout 의 값이 -1이면 무한대 잠금을 나타냅니다.


      • Limit XML Request Body (선택). 요청 본문의 XML 내용의 최소 크기입니다.
      • Maximum Property Depth (선택). PROPFIND 요청의 깊이입니다.
      • - 0은 지정된 리소스에만 적용됩니다.

        - 1은 지정된 리소스와 이에 포함된 다음 수준의 리소스에 적용됩니다.

        - infinity는 지정된 리소스와 이에 포함된 모든 리소스에 적용됩니다.

        기본으로 값은 0으로 설정됩니다.

      • Enabled (선택) 컬렉션에 대해 WebDAV 기능을 사용하도록 설정합니다.
    • Edit ACL 이 컬렉션 또는 URI의 액세스 제어 제한을 설정하려면 이 버튼을 누릅니다.


WebDAV 구성

몇 가지 이유로 인해 WebDAV을 구성할 수 있습니다. 예를 들어, 서버 성능을 조정하고 보안 위험을 제거하고 또는 충돌 없는 원격 저작을 제거하기 위한 것일 수 있습니다.

각각의 구성 요구 사항에 맞추기 위해 WebDAV 리소스에서 서버가 잠금을 유지하는 시간, 컬렉션의 PROPFIND 요청 깊이, 요청 본문에 허용된 XML 내용의 최소 크기 등을 변경할 수 있습니다.

기본 WebDAV 속성은 가상 서버 아래 모든 컬렉션에 대한 가상 서버 수준에서 구성될 수 있습니다. 구성된 값은 server.xml 파일의 DAV 요소에 해당합니다.

WebDAV 속성은 컬렉션 수준에서 구성되어 컬렉션에 대해 구성된 가상 서버 수준 속성에 우선할 수 있습니다. 컬렉션 수준에서 구성된 속성 값은 server.xml 파일의 DAVCOLLECTION 요소에 해당합니다.

가상 서버 수준에서 WebDAV 구성

가상 서버에 대해 WebDAV 기능을 구성하려면 DAV 개체의 속성을 편집해야 합니다. Administration Server를 사용하거나 수동으로 server.xml 파일을 편집하여 할 수 있습니다.

다음 표는 구성할 수 있는 DAV 개체의 속성에 대해 설명합니다.

표 1) DAV 개체의 속성

속성

설명

enabled

WebDAV 기능이 이 가상 서버에 대해 사용 가능한지 지정합니다.

이것은 선택적 속성입니다. 기본값은 true입니다.

가능한 값은 true  및 false입니다.

lockdb

잠금 데이터베이스가 유지보수되는 디렉토리를 지정합니다.

이것은 선택적 속성입니다.

minlocktimeout

잠금의 최소 사용 시간을 초 단위로 지정합니다. 이 값은 잠금이 자동으로 제거되기 전에 요소가 잠기는 시간 길이를 나타냅니다. 더 자세한 내용은 최소 잠금 시간초과를 참조하십시오.

이것은 선택적 속성입니다.

maxxmlrequestbodysize

요청 본문의 XML 내용의 최소 크기를 지정합니다.

이것은 선택적 속성입니다. 기본값은 8K입니다.

Denial of service(DOS) 공격 가능성을 방지하기 위해 크기를 제한합니다.

maxpropdepth

PROPFIND 요청의 깊이를 지정합니다.

이것은 선택적 매개변수입니다. 기본값은 0입니다.

이 매개변수의 크기를 제한하여 과도한 메모리 소모를 방지합니다.

URI 수준에서 WebDAV 구성

URI 수준에서 WebDAV 기능을 구성하려면 server.xml 파일의 DAVCOLLECTION 개체를 편집해야 합니다.

다음 표는 구성할 수 있는 DAVCOLLECTION 개체의 속성을 설명합니다.

표 2) DAVCOLLECTION  개체의 속성

속성

설명

enabled

DAV 기능이 이 컬렉션에 대해 사용 가능한지 지정합니다.

이것은 선택적 속성입니다.

가능한 값은 true  및 false입니다. 기본값은 true입니다.

uri

내용이 액세스되는 URI를 지정합니다.

이것은 필수 속성입니다.

sourceuri

리소스가 액세스되는 URI를 지정합니다. 더 자세한 내용은 일반 WebDAV 용어 및 WebDAV 사용 가능 서버에서 소스 URI 및 Translate:f 헤더 사용을 참조하십시오.

이것은 선택적 속성입니다.

sourceuri가 지정되지 않으면 기본적으로 컬렉션의 모든 동적 컨텐트의 소스에 대한 액세스가 거부됩니다.

uri 및 sourceuri 모두에 대해 동일한 URI를 지정할 수 있습니다. 이 경우 서버는 항상 동적 내용의 소스를 반환합니다. 게시를 위한 별도의 보안 가상 서버를 사용할 경우 이렇게 하는 것이 유용할 수 있습니다.

lockdb

잠금 데이터베이스가 유지보수되는 디렉토리를 지정합니다.

이것은 선택적 속성입니다.

minlocktimeout

잠금의 최소 사용 시간을 초 단위로 지정합니다. 이 값은 잠금이 자동으로 제거되기 전에 요소가 잠기는 시간 길이를 나타냅니다. 더 자세한 내용은 최소 잠금 시간초과를 참조하십시오.

이것은 선택적 속성입니다.

maxxmlrequestbodysize

요청 본문의 XML 내용의 최소 크기를 지정합니다.

이것은 선택적 속성입니다.

Denial of Service (DOS) 공격 가능성을 방지하기 위해 크기를 제한합니다.

maxpropdepth

PROPFIND 요청의 깊이를 지정하여 컬렉션의 구성원 리소스를 나열합니다.

이것은 선택적 매개변수입니다.

이 매개변수의 크기를 제한하여 과도한 메모리 소모를 방지합니다.


WebDAV 사용 가능 서버에서 소스 URI 및 Translate:f 헤더 사용

WebDAV 메소드는 리소스나 컬렉션의 소스에서 작동합니다. GET 및 PUT과 같은 HTTP 메소드는 WebDAV 프로토콜에 의해 오버로드되므로 이러한 방법을 사용한 요청은 리소스 소스에 대한 요청이거나 리소스 내용(출력)에 대한 요청일 수 있습니다.

Microsoft 및 기타 많은 WebDAV 공급자가 요청을 가진 Translate:f 헤더를 전송함으로써 요청이 소스에 대한 것임을 서버에게 알리는 방법으로 이 문제를 해결하였습니다. 대중적인 WebDAV 클라이언트 Microsoft WebFolders와 상호운용 가능하기 위해 Sun ONE Web Server 6.1은 Translate:f 헤더를 리소스 소스에 대한 요청으로 인지합니다. Translate:f 헤더를 보내지 않는 클라이언트를 수용하기 위해 Sun ONE Web Server 6.1은 소스 URI를 정의합니다. 용어 소스 URI의 상세한 설명은 일반 WebDAV 용어를 참조하십시오.

WebDAV 사용 가능 컬레션의 경우 URI에 대한 요청은 요청의 내용(출력)을 검색하고 소스 URI에 대한 요청은 리소스의 소스를 검색합니다. Translate:f 헤더를 가진 URI에 대한 요청은 소스 URI에 대한 요청으로 처리됩니다.

기본적으로 리소스의 소스에 대한 모든 액세스는 서버 인스턴스 특정 ACI 파일에 다음 선언이 있는 dav-src ACL에 의해 거부됩니다.

PathCheck fn="check-acl" acl="dav-src"

deny (all) user = "anyone";

사용자는 소스 URI에 액세스 권한을 추가함으로써 사용자에게 소스에 대한 액세스를 허용할 수 있습니다. URI 특정 ACL 추가에 대한 더 자세한 내용은 WebDAV에 대한 액세스 제어 사용을 참조하십시오.


리소스 잠금 및 잠금 해제

Sun ONE Web Server는 서버 관리자가 리스소를 잠궈서 해당 리소스에 대한 액세스를 직렬화할 수 있도록 합니다. 잠금을 사용하여 특정 리소스에 액세스하는 사용자는 다른 사용자가 동일한 리소스를 수정하지 않는다는 점을 안심할 수 있습니다. 이런 식으로 "업데이트 유실" 문제가 해결되어 여러 사용자가 서버의 리소스를 공유합니다. 서버가 유지보수하는 잠금 데이터베이스는 발행된 잠금 토큰을 추적하고 클라이언트에 의해 사용됩니다.

Sun ONE Web Server 6.1은 항상 모든 리소스에 대해 고유하도록 고안된 opaquelocktoken URI 스킴을 지원합니다. 이것은 ISO-11578에서 설명되는 Universal Unique Identifier (UUID) 메커니즘을 사용합니다.

Sun ONE Web Server 6.1은 다음 두 가지 유형의 잠금 메커니즘을 인지합니다.

Exclusive 잠금

exclusive 잠금은 단일 사용자에게만 리소스에 대한 액세스를 부여하는 잠금입니다. 다른 사용자는 리소스의 exclusive 잠금이 제거된 후에만 동일한 리소스에 액세스할 수 있습니다.

Exclusive 잠금은 때로는 리소스 잠금에 대해 너무 경직되고 비용이 많이 드는 메커니즘입니다. 예를 들어, 프로그램 장애 또는 잠금 소유자가 리소스 잠금 해제를 잊어버린 경우 exclusive 잠금을 제거하기 위해 잠금 시간초과 또는 관리자의 개입이 필요할 수 있습니다.

Shared 잠금

shared 잠금을 사용하여 여러 사용자가 리소스에 대한 잠금을 받을 수 있습니다. 그러므로 적절한 액세스 권한이 있는 사용자는 누구나 잠금을 얻을 수 있습니다.

shared 잠금을 사용하면 잠금 소유자는 다른 통신 채널을 사용하여 작업을 조정할 수 있습니다. shared 잠금을 하는 의도는 공동 작업자가 어떤 다른 사람이 리소스에서 작업하는지 알게 하기 위한 것입니다.

잠금 관리

Sun ONE Web Server 6.1은 모든 두드러진 잠금, 그 유형, 보유 리소스, 잠금 지속 시간 등을 볼 수 있도록 하는 잠금 관리 기능을 제공합니다.

잠금 관리를 사용하려면 다음을 수행하십시오.

  1. WebDAV 사용 가능 가상 서버에 액세스합니다.
  2. WebDAV 탭을 누릅니다.
  3. Lock Management 링크를 누릅니다.
  4. 잠금 데이터베이스와 두드러진 잠금 및 기타 정보를 보려는 WebDAV 사용 가능 URI를 선택합니다.
  5. List Lock Info를 누릅니다.

최소 잠금 시간초과

server.xml 파일의 DAV 또는 DAVCOLLECTION 개체의 minlocktimeout 속성의 값을 구성하여 잠금을 제어할 수 있습니다. minlocktimeout 속성은 잠금의 최소 사용 시간을 초 단위로 지정합니다. 이 값은 잠금이 자동으로 제거되기 전에 요소가 잠기는 시간 길이를 나타냅니다.

이것은 선택적 속성입니다. 값이 -1로 설정되면 잠금은 만료되지 않습니다. 값을 0으로 설정하면 컬렉션의 모든 요청이 요청에 지정된 Timeout 헤더로 잠깁니다.

Timeout 헤더가 지정되지 않으면 리소스는 시간초과 무한대로 잠금됩니다. 요청의 Timeout 헤더가 값 Infinite로 설정되는 경우에도 리소스는 무한대 시간초과로 잠깁니다.

WebDAV 리소스에 대한 요청의 Timeout 헤더 값이 server.xml에 지정된 minlocktimeout 값과 같거나 크면 리소스는 요청에 지정된 시간 동안 잠깁니다.

그러나 리소스의 Timeout 헤더 값이 server.xml에 지정된 minlocktimeout 값보다 작으면 리소스는 server.xml에 지정된 minlocktimeout 값으로 잠깁니다.

다음 표는 Sun ONE Web Server가 잠금 요청을 처리하는 방법을 보여줍니다.

표 3) Sun ONE Web Server가 잠금 요청을 처리하는 방법

요청의 Timeout 헤더 값이 다음으로 설정된 경우

리소스는

Infinite

시간초과가 -1(무한대)로 잠김

None

시간초과가 -1(무한대)로 잠김

Second-xxx

  • xxx 값으로 잠김, xxx가 server.xml에 설정된 minlocktimeout 값과 같거나 클 경우

또는

  • server.xml,에 지정된 minlocktimeout 값으로 잠김, xxx가 server.xml에 설정된 minlocktimeout 값보다 작을 경우

잠금 요청의 예

이 예는 시간초과가 500초인 리소스 /col1/myfile.html의 exclusive 쓰기 잠금에 대한 요청을 예시합니다.

LOCK /col1/myfile.html HTTP/1.1

Host: sun

Content-Type: text/xml; charset="utf-8"

Content-Length: 259

Timeout: Second-500

<?xml version="1.0" encoding="utf-8" ?>

<d:lockinfo xmlns:d="DAV:">

<d:locktype><d:write/></d:locktype>

<d:lockscope><d:exclusive/></d:lockscope>

<d:owner>

<d:href>http://info.sun.com/resources/info.html</d:href>

</d:owner>

</d:lockinfo>


WebDAV에 대한 액세스 제어 사용

누가 WebDAV 사용 문서 및 디렉토리에 액세스하고 다른 사용자 또는 사용자 그룹이 해당 파일에 대해 수행할 수 있는 작업은 무엇인지 제어할 수 있습니다. 또한 파일이나 폴더에 대한 액세스를 완전 금지하거나 특정 권한이 있는 사용자에게 액세스를 제한할 수 있습니다.

서버를 지배하는 기본 액세스 제어(ACL)가 사용자의 요구에 맞게 제한적이거나 유연하지 않을 경우, Restrict Access 기능(Server Preferences를 선택하고 Restrict Access 링크를 누름)을 사용하여 WebDAV 사용 리소스에 대한 액세스를 제한하는 데 보다 적합한 ACL을 만들 수 있습니다.

WebDAV 요청은 각각 AuthTrans 및 PathCheck NSAPI 단계에 의해 각각 인증 및 허가됩니다. 다음 예에서 액세스 제어 규칙은 사용자 이름 "joe"를 제외한 모두에게 컬렉션 /catalog 에 대한 쓰기를 거부하고 액세스를 제거하도록 정의됩니다.

acl "uri=/catalog/*";

deny(all)

user="anyone";

allow (read,list,execute,info)

user = "all";

allow(write,delete)

user="joe";

더 자세한 내용은 WebDAV 컬렉션 편집를 참조하십시오.

WebDAV 사용 리소스의 액세스 제한

WebDAV 컬렉션에 대한 액세스 제한은 원시 ACL 파일을 사용하여 지정됩니다. 모든 WebDAV 메소드는 WebDAV 사용 리소스에 대한 특정 액세스 권한을 필요로 합니다. 예를 들어, WebDAV 사용 파일이 동시 사용자에 의해 공유되려면 동시 제어를 위한 리소스를 잠그거나 잠금 해제하기 위해 리소스에 대한 쓰기 권한이 필요합니다.

다음 테이블은 WebDAV 메소드에 필요한 권한을 요약합니다.

표 19-1) WebDAV에 필요한 권한

DAV 메소드

필요한 액세스 권한

DELETE

삭제

PROPFIND

읽기

PROPPATCH

쓰기

LOCK/UNLOCK

쓰기

MKCOL

쓰기

COPY(src,dst)

src - 읽기

dst - 쓰기

MOVE(src,dst)

src - 삭제

dst - 쓰기

GET on request-uri

읽기

GET on request-uri

Translate:f

읽기

PUT on request-uri

쓰기

PUT on request-uri

Translate:f

쓰기


보안 고려사항

WebDAV을 사용할 경우 다음 보안 고려사항을 염두에 두십시오.



이전      목차      색인      다음     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.