업로드 된 파일에 확장자가없는 경우 MIME 유형을 지정해야합니까? 즉, 기본 일반 MIME 유형이 있습니까?
답변
application/octet-stream
알 수없는 유형에 사용할 수 있습니다.
섹션 4.5.1의 RFC 2046 상태 :
“옥텟 스트림”하위 유형은 본문에 임의의 이진 데이터가 포함되어 있음을 나타내는 데 사용됩니다.
답변
RFC 자원 :
우리는 RFC-2046 (미디어 유형) 대신 RFC-7231 (HTTP / 1.1 의미론 및 내용)을 참조로 사용해야합니다. 질문은 HTTP 내용 유형에 관한 것이기 때문입니다.
또한 RFC-2046은 알 수없는 유형을 명확하게 정의하지 않지만 RFC-7231은 명확하게 정의합니다.
짧은 답변:
알 수없는 데이터에 대해서는 MIME 유형을 보내지 마십시오.
더 명확하게 : Content-Type 헤더를 전혀 사용하지 마십시오.
참고 문헌 :
RFC-7231
하이퍼 텍스트 전송 프로토콜 (HTTP / 1.1) : 시맨틱 스 및 컨텐츠
3.1.1.5. 컨텐츠 타입페이로드 본문을 포함하는 메시지를 생성하는 발신인
은 동봉 된 표현
의
의도 된 미디어 유형이
발신자 에게 알려지지 않은 경우 해당 메시지에 Content-Type 헤더 필드를 생성해야합니다 (SHOULD) .
이 섹션은 확실하지 않은 경우 제외하도록 명확하게 지시합니다. 또한 수신기가 유형이 응용 프로그램 / 옥텟 스트림이라고 가정 할 수 있지만 다른 유형 일 수도 있습니다.
그럼 뭐가 달라?
RFC-2046
4.5.1. 옥텟 스트림 하위 유형“application / octet-stream”엔티티 를 수신하는 구현에 권장되는 조치 는
컨텐츠 전송 인코딩이 실행 취소 된 상태에서 파일에 데이터를 넣거나
사용자가 지정한 입력으로 사용하는 것입니다. 방법.
그리고 이미 위에서 언급했듯이 :
RFC-7231
3.1.1.5. 컨텐츠 타입Content-Type 헤더 필드가 존재하지 않는 경우, 수신자는 미디어 유형 “application / octet-stream”
([RFC2046], 섹션 4.5.1)을 가정하거나 데이터를 검사하여 유형을 결정할 수 있습니다.
결론:
“application / octet-stream”으로 정의하면 “application / octet-stream”임을 알 수 있습니다.
당신이 그것을 정의하지 않으면 당신은 그것이 무엇인지 모르고 수신기와 수신기에 결정을 내린 다음 오리와 같이 걷는 지 확인할 수 있다고 말하고 있습니다 …
답변
나는 선호 application/unknown
하지만 결과는 다음과 동일합니다.application/octet-stream