[mime] 알 수없는 파일 형식 MIME?

업로드 된 파일에 확장자가없는 경우 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


답변