application/octet-streamapplication/octet-stream은 '정체를 알 수 없는 임의의 바이너리 데이터'를 뜻하는 범용 기본 타입입니다. 서버가 콘텐츠의 구체 타입을 모르거나, 브라우저가 렌더링하지 말고 파일로 저장하게 하고 싶을 때 사용합니다.
RFC 2046이 정의한 이 타입은 사실상 '해석하지 말고 바이트 그대로 다루라'는 신호입니다. 브라우저는 이 타입을 받으면 대개 인라인 표시 대신 다운로드 대화상자를 띄웁니다. 파일 다운로드를 강제하려면 `Content-Disposition: attachment; filename="report.bin"`을 함께 보내 저장 파일명을 지정합니다. 정확한 타입(application/pdf 등)을 알면 그 타입을 쓰는 편이 사용자 경험에 낫습니다.
서버가 확장자로 타입을 판별하지 못하면 폴백으로 이 타입을 내보냅니다. 다만 일부 브라우저는 `Content-Type`을 무시하고 내용을 스니핑(MIME sniffing)해 실행 가능한 타입으로 오인할 수 있으므로, 사용자 업로드 파일을 재서빙할 때는 `X-Content-Type-Options: nosniff`를 반드시 붙이세요.
e.g. Content-Type: application/octet-stream