<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Multipart on 얼쑤 · Team Edo</title><link>https://team-edo.github.io/tags/multipart/</link><description>Recent content in Multipart on 얼쑤 · Team Edo</description><generator>Hugo</generator><language>ko-kr</language><lastBuildDate>Wed, 28 Oct 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://team-edo.github.io/tags/multipart/index.xml" rel="self" type="application/rss+xml"/><item><title>21MiB와 26MiB가 받은 서로 다른 413</title><link>https://team-edo.github.io/posts/2026/10/recording-upload-size-layers/</link><pubDate>Wed, 28 Oct 2026 00:00:00 +0900</pubDate><guid>https://team-edo.github.io/posts/2026/10/recording-upload-size-layers/</guid><description>&lt;p>얼쑤의 녹음 업로드를 확인하면서 &lt;strong>21MiB&lt;/strong>와 &lt;strong>26MiB&lt;/strong> 크기의 입력을 같은 Nginx를 거쳐 보냈습니다. 두 요청 모두 HTTP 413이었습니다. 21MiB 요청에는 백엔드가 만든 JSON 오류 코드 &lt;code>RECORDING_TOO_LARGE&lt;/code>가 들어 있었고, 26MiB 요청에는 Nginx가 만든 HTML 응답이 돌아왔습니다. 상태 코드는 같았지만 요청을 멈춘 곳이 달랐습니다.&lt;/p>
&lt;h2 id="파일-하나의-한도와-요청-본문의-한도를-나눴다">파일 한도와 요청 본문 한도&lt;/h2>
&lt;p>연주 녹음 한 파일에는 &lt;strong>20MiB&lt;/strong>, 즉 20,971,520바이트까지 허용하기로 했습니다. 앱은 녹음 파일을 multipart 요청의 한 파트로 보냅니다. 이 요청의 본문에는 파일 바이트 외에도 파트를 구분하는 경계와 파트 헤더가 붙습니다. 요청 본문은 Nginx를 지나고, Spring이 multipart를 파싱한 뒤에야 백엔드의 녹음 검사기가 파일 파트의 크기를 확인할 수 있습니다.&lt;/p></description></item></channel></rss>