
사람들의 컴퓨터가 확장자(.pdf, .mp3, .docx, .dotx 등)를 기반으로 파일 처리 방법을 결정할 수 있다면 왜 웹 서버와 이메일 앱에서 MIME 유형도 지정해야 합니까?
기본값과 다른 방식으로 파일을 전달하려는 경우(예: .py 또는 .html 파일을 일반 텍스트로 표시) 또는 파일 확장자가 클라이언트 컴퓨터에 등록되지 않은 경우 이 기능이 유용할 수 있습니다. 예를 들어, 새 파일 형식(예: .foobaz)을 만들고 사람들이 웹과 이메일을 통해 이러한 파일을 공유할 수 있도록 하려면 파일 확장자를 인식하는 클라이언트에 의존하는 것으로 충분하지 않습니까?
답변1
MIME 유형은 파일의 용도를 명확하게 지정합니다. 파일 확장자는 내용을 암시할 뿐입니다. 둘 다 틀릴 수 있습니다. DOC는 다양한 내부 파일 형식을 가진 여러 텍스트 편집기에서 사용되었습니다.
가짜 확장자는 사람들을 파일 형식으로 오해하기 위해 광범위하게 사용됩니다. 이는 다양한 종류의 악성코드에 사용될 수 있습니다. 보안 버그로 이어질 수도 있습니다. myfile.txt가 보안을 위해 텍스트 파일로 검증되고 나중에 콘텐츠 검사를 통해 실행 파일로 실행되면 시스템이 감염될 수 있습니다.
Unix는 실행 가능한 비트를 사용하여 어떤 파일이 실행될 수 있는지 나타냅니다. 스크립트는 어떤 인터프리터가 스크립트를 실행해야 하는지 나타내는 Bang 경로로 시작할 수 있습니다. file 명령을 사용하면 확장자가 있거나 없는 파일 형식을 상당히 안정적으로 결정할 수 있습니다.
확장자를 사용하여 어떤 파일이 사용되는지 식별하면 모호해질 수 있습니다. myfile.exe, myfile.com, myfile.bat 및 myfile.cmd가 있는 경우 myfile 명령을 실행하면 실행됩니다.
답변2
당신은 그것을 잘못된 방향으로 보고 있습니다.
클라이언트가 파일을 처리하는 방법을 알 수 있도록 파일에는 MIME 유형이 필요합니다.
귀하의 질문은 반대 방향으로도 이루어져야 합니다.
MIME 유형으로 파일 유형을 식별할 수 있는데 파일 확장자가 필요한 이유는 무엇입니까?
대답은 아마도 사람이 이름을 보고 파일이 어떤 유형인지 식별하는 것이 더 쉬울 것입니다. Windows에는 다른 이유가 있을 수 있습니다.
답변3
이는 Windows 세계에서만 발생합니다. Unix 세계 파일에는 MIME 유형으로 식별되는 확장자가 필요하지 않습니다.
답변4
소규모 및 맞춤형(맞춤형 설계) 응용 프로그램은 파일 확장자에 대해 다소 자유로운 경향이 있습니다. 이로 인해 여러 유형의 파일을 나타내는 데 사용되는 파일 확장자가 생길 수 있습니다.
파일 확장자가 주어진 파일 유형과 일치한다는 보장이 없기 때문에 수신자는 파일 유형을 식별하지 못하고 해당 파일을 여는 데 필요한 올바른 프로그램을 얻지 못할 수도 있습니다.
MIME 유형 외에도 Magic Numbers와 같은 파일을 식별하는 다른 시스템도 있습니다. 즉, 파일 확장자가 필요하지 않습니다. 파일을 열 수 없는 사용자가 파일 확장자의 이름을 바꿀 수도 있으며, 이는 지원팀에 문의할 가능성이 있음을 의미합니다.