WebAssembly 스트리밍 컴파일이 동작하려면 서버가 application/wasm MIME(Multipurpose Internet Mail Extension) 타입의 .wasm을 반환해야 합니다. WebGL 빌드에 대해 압축을 활성화한 경우 파일을 제공할 때 올바른 Content-Encoding 리스폰스 헤더를 추가해야 합니다. 이는 WebAssembly 스트리밍이 생성하는 .wasm 파일이 추가로 압축되기 때문입니다.
WebAssembly 스트리밍을 사용하여 WebGL 빌드를 올바르게 제공하려면 다음의 서버 설정 파일을 사용하십시오.
압축되지 않은 빌드의 경우 다음 .htaccess 파일을 Build 하위 폴더에 저장합니다.
<IfModule mod_mime.c>
AddType application/wasm .wasm
</IfModule>
gzip 압축 빌드의 경우 다음 .htaccess 파일을 Build 하위 폴더에 저장합니다.
<IfModule mod_mime.c>
AddEncoding gzip .unityweb
AddEncoding gzip .wasm
AddType application/wasm .wasm
</IfModule>
Brotli 압축 빌드의 경우 다음 .htaccess 파일을 Build 하위 폴더에 저장합니다.
<IfModule mod_mime.c>
AddEncoding br .unityweb
AddEncoding br .wasm
AddType application/wasm .wasm
</IfModule>
압축되지 않은 빌드의 경우 다음 web.config 파일을 Build 하위 폴더에 저장합니다.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".unityweb" />
<mimeMap fileExtension=".unityweb" mimeType="application/octet-stream" />
<remove fileExtension=".wasm" />
<mimeMap fileExtension=".wasm" mimeType="application/wasm" />
</staticContent>
</system.webServer>
</configuration>
gzip 압축 빌드의 경우 다음 web.config 파일을 Build 하위 폴더에 저장합니다.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".unityweb" />
<mimeMap fileExtension=".unityweb" mimeType="application/octet-stream" />
<remove fileExtension=".wasm" />
<mimeMap fileExtension=".wasm" mimeType="application/wasm" />
</staticContent>
<rewrite>
<outboundRules>
<rule name="Append gzip Content-Encoding header">
<match serverVariable="RESPONSE_Content-Encoding" pattern=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" pattern="\.(unityweb|wasm)$" />
</conditions>
<action type="Rewrite" value="gzip" />
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
Brotli 압축 빌드의 경우 다음 web.config 파일을 Build 하위 폴더에 저장합니다.
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".unityweb" />
<mimeMap fileExtension=".unityweb" mimeType="application/octet-stream" />
<remove fileExtension=".wasm" />
<mimeMap fileExtension=".wasm" mimeType="application/wasm" />
</staticContent>
<rewrite>
<outboundRules>
<rule name="Append br Content-Encoding header">
<match serverVariable="RESPONSE_Content-Encoding" pattern=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" pattern="\.(unityweb|wasm)$" />
</conditions>
<action type="Rewrite" value="br" />
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>