Unix에서는 인터넷에서 문서를 다운로드하려고 할 때 문서를 다른 이름으로 저장하라는 메시지를 표시하고 문서 형식(예: .pdf, .mp3...등)을 제공합니다. 그렇다면 아직 다운로드하지 않았음에도 불구하고 커널은 파일 형식을 어떻게 알 수 있습니까?
답변1
이는 커널과는 아무런 관련이 없습니다. 파일을 제공하는 웹 서버는 브라우저에 MIME 유형이 무엇인지, 선택적으로 사용할 파일 이름을 알려줍니다.
자신의 아바타를 예로 들면 다음은 Gravatar 웹 서버에서 반환되는 헤더입니다.
$ curl -I https://www.gravatar.com/avatar/da4d09ebbb789ea0442c6cf98cca8649\?s\=32\&d\=identicon\&r\=PG\&f\=1
HTTP/2.0 200
server:nginx
date:Tue, 21 Feb 2017 17:04:38 GMT
content-type:image/png
content-length:914
last-modified:Wed, 11 Jan 1984 08:00:00 GMT
link:<https://www.gravatar.com/avatar/da4d09ebbb789ea0442c6cf98cca8649?s=32&d=identicon&r=PG&f=1>; rel="canonical"
access-control-allow-origin:*
x-nc:HIT lhr 1
accept-ranges:bytes
expires:Tue, 21 Feb 2017 17:09:38 GMT
cache-control:max-age=300
source-age:817
관련 행은 content-type:image/png
해당 파일이 적절한 파일 이름을 구성하는 데 사용되는 PNG 이미지임을 브라우저에 알려줍니다(URL 끝에 있는 합계 사용 .png
). 파일 이름은 다양한 헤더 항목을 사용하여 제공될 수 있습니다.
이 정보는 파일 자체의 개별 바이트를 다운로드하기 전에 HTTP 헤더에서 확인할 수 있습니다.