WebDAV, 표준은 있지만, 구현은 지옥?

by DD
5개월 전
조회수 34

WebDAV 프로토콜의 복잡성(Complexity)과 다양한 클라이언트 구현 간의 호환성 문제(Compatibility Issues)가 제기됨

PHP 기반의 Sabre/DAV 라이브러리가 오래되었음에도 불구하고(Despite its age) 여전히 강력한 성능을 보인다는 점이 언급됨

파일 전체 다운로드(Full File Download), 느린 속도, 평문 자격 증명(Plaintext Credentials) 등 다양한 문제점(Various Problems)이 지적됨

Apple CalDAV의 비표준 구현과 테스팅의 어려움(Testing Difficulties)이 개발자들에게 큰 어려움을 준다는 의견이 제시됨

WebDAV 클라이언트의 비효율적인 동작

댓글에서는 WebDAV 클라이언트가 파일을 열 때 과도한 요청(Excessive Requests)을 보내는 문제를 지적한다. 특히, 파일 존재 여부 확인, 잠금 파일 생성, 파일 내용 가져오기 등 일련의 과정을 거치면서 성능 저하(Performance Degradation)를 유발한다고 설명한다. 이러한 비효율적인 동작은 캐싱 메커니즘(Caching Mechanism) 없이는 다중 사용자 환경에서 심각한 부하를 초래할 수 있다.

Apple CalDAV의 비표준 구현

커뮤니티에서는 Apple의 CalDAV 구현이 RFC 표준(RFC Standard)을 따르지 않아 테스트의 어려움을 겪는다고 언급한다. 특히, 캘린더 생성 후 즉시 조회가 불가능한 결과적 일관성(Eventual Consistency) 모델은 자동화된 테스트를 어렵게 만든다. 이러한 비표준 동작은 개발자들이 특정 벤더(Specific Vendor)에 종속적인 코드를 작성하도록 강요할 수 있다.

Sabre/DAV 라이브러리의 강점

논의에서는 PHP 기반의 Sabre/DAV 라이브러리가 WebDAV 구현에 있어 뛰어난 성능(Excellent Performance)을 보인다는 점을 강조한다. 최신 언어의 강력한 기능에도 불구하고, Sabre/DAV가 여전히 널리 사용되는 이유는 견고한 설계(Robust Design)오랜 기간의 검증(Long-term Validation) 덕분이다. 이는 특정 분야에서 레거시 시스템(Legacy System)의 지속적인 가치를 보여주는 사례이다.

통합 테스트의 중요성

댓글에서는 WebDAV, CalDAV, CardDAV 구현 시 통합 테스트(Integration Tests)의 중요성을 강조한다. 실제 서버(radicale, xandikos, nextcloud 등)를 사용하여 다양한 시나리오를 테스트하는 '라이브 테스트'를 통해 구현의 정확성(Implementation Accuracy)을 검증해야 한다고 주장한다. 특히, RFC의 복잡성으로 인해 발생할 수 있는 오류(Errors)를 방지하기 위해 광범위한 테스트가 필수적이다.

Many hells of WebDAV