WDDX(영어: Web Distributed Data eXchange)는 서로 다른 환경과 컴퓨터 간에 데이터를 전달하기 위해 설계된, 프로그래밍 언어, 플랫폼 및 전송 중립적인 데이터 교환 메커니즘이다.
WDDX는 1998년 올레어 코퍼레이션(Allaire Corporation)의 시미온 시메오노프(Simeon Simeonov)가 개발했으며, 초기에는 콜드퓨전(ColdFusion) 서버 환경을 위해 만들어졌다. WDDX는 같은 해 말 오픈 소스로 공개되었다.
WDDX는 기능적으로 XML-RPC 및 WIDL과 비교할 만하다. 이 명세는 숫자, 문자열, 불리언 등과 같은 간단한 데이터 유형과, 이들을 조합한 구조체, 배열, 레코드셋(데이터베이스 쿼리에서 일반적으로 생성되는 행/열 데이터)과 같은 복합 형태를 지원한다.
데이터는 XML 1.0 DTD를 사용하여 XML로 인코딩되며, 플랫폼 독립적이지만 상대적으로 용량이 큰 표현을 생성한다. 이렇게 XML로 인코딩된 데이터는 HTTP, FTP 또는 기타 전송 메커니즘을 사용하여 다른 컴퓨터로 전송될 수 있다. 수신하는 컴퓨터는 인코딩된 데이터를 자신의 네이티브 데이터 표현으로 변환하기 위해 WDDX를 인식하는 소프트웨어를 갖추고 있어야 한다. WDDX는 데이터 구조를 직렬화하여 저장소(파일 시스템 또는 데이터베이스)에 보관하는 데 사용할 수도 있다. 많은 애플리케이션이 JSON의 대안으로, 브라우저에서 자바스크립트를 통해 조작할 수 있도록 복합 데이터를 전달할 때 WDDX를 사용한다.
php.net에서 가져온 예시:
<wddxPacket version='1.0'>
<header comment='PHP'/>
<data>
<struct>
<var name='pi'>
<number>3.1415926</number>
</var>
<var name='cities'>
<array length='3'>
<string>Austin</string>
<string>Novato</string>
<string>Seattle</string>
</array>
</var>
</struct>
</data>
</wddxPacket>
WDDX는 주로 콜드퓨전에서 사용되며, 2022년 2월 기준으로 어도비가 여전히 지원하고 있다.
콜드퓨전 외에도 이 형식을 읽거나 쓸 수 있는 라이브러리가 존재하며, 루비, 파이썬, PHP, 자바, C++, .NET, 액션스크립트, 리스프, 하스켈, 펄 등이 있다.
PHP는 한때 WDDX에 대한 포괄적인 지원을 제공했으며, 버전 7.4 이전까지는 세션 정보를 저장하는 형식으로 사용할 수 있었다. 이후 기본 언어에서는 제거되었으나, PECL을 통해 여전히 사용할 수 있다. 제거 이유는 형식의 표준화 부족과 JSON과 같은 새로운 형식이 더 주류가 되었기 때문이다. 2007년에 취약점이 수정되었다.