자신이 좋아하는것

2010년 11월 21일 일요일

file extension

file extension (파일 확장자)

파일 확장자는 컴퓨터 파일의 이름에서 파일의 종류와 그 역할을 표시하기 위해 사용하는 부분이다. 많은 운영체제들은 파일 이름에서 마지막 점(.) 뒤에 나타나는 부분을 확장자로 인식한다. (예를 들어, readme.txt의 확장자는 txt이며, index.ko.html의 확장자는 html이다.)

VMS, CP/M 과 그로부터 파생된 도스 등의 운영체제 - 확장자가 실제로는 파일 이름과 분리되어 있으며, 확장자를 실행 파일을 나타내는 등의 특수한 용도로 사용한다.

유닉스 계열 운영체제 - 확장자가 파일 이름의 일부분일 뿐으로, 도스 등의 운영체제보다는 확장자에 덜 의존한다.

그래픽 사용자 인터페이스(GUI) (마이크로스프트 윈도, 맥 오에스 텐, GNOME, KDE등) -
파일 확장자를 단순히 종류를 나타내는 것뿐만이 아니라 인터페이스 상에서 파일의 아이콘이나 그에 연관된 작업들을 결정하는 데 사용한다.
 예를 들어서 특정한 파일을 열었을 때, .txt 확장자는 텍스트 편집기를, .htm이나 .html 확장자는 웹 브라우저를, .png, .gif 등의 확장자는 그래픽 편집기를, .doc, .odt 등의 확장자는 워드 프로세서를 실행하는 등의 동작을 지정할 수 있다. 특히 마이크로소프트 도스와 윈도 운영체제에서는 .exe, .com, .bat, .cmd 등의 확장자를 가진 파일을 실행 파일로 인식한다.

이런 특성 때문에 파일 확장자는 일종의 메타데이터로 볼 수 있다.

파일 확장자의 대안

맥 오에스에서는 전통적으로 파일 확장자를 쓰지 않고, 파일의 종류를 나타내는 타입코드와 그 파일을 열었을 때 어떤 응용 프로그램이 실행될지를 나타내는 크리에이터 코드를 대신 썼다. 하지만 NEXTSTEP에서 기반한 현재의 맥 오에스 텐에서는 유닉스 계열 운영체제와 같이 파일 확장자를 사용하며, 맥 오에스 텐 10.4부터는 옛 타입 코드와 크리에이터 코드와 유사한  고유 종류 식별자(UTI)를 지원한다.

네트워크 상에서 전달되는 데이터들은 비트들의 연속으로 간주되며 별도의 파일 이름이나 확장자를 가지지 않는다. 하지만 HTTP 등의 여러 프로토콜에서는 MIME Content - Type 헤더를 사용하여 데이터의 종류를 전달한다. BeOS등의 일부 운영체제에서는 이런 MIME Content-Type 값을 파일의 메타데이터에 기록할 수 있다.

     여기서 뜬금없이 mime content type (혹은MIME) 이라는 단어가 나와서 검색을 해보았더니
     MIME (Multipurpose Internet Mail Extension Type) 이란 다음과 같았다.
 
MIME은 아스키 데이터만을 처리할 수 있는 원래의 인터넷 전자우편 프로토콜, 즉 SMTP(Simple Mail Transfer Protocol : 메일 전송 프로토콜)를 확장하여 오디오, 비디오, 이미지, 응용프로그램, 기타 여러가지 종류의 데이터 파일들을 주고받을 수 있도록 기능이 확장된 프로토콜이다
1991년에 SMTP를 확장하여 인터넷 클라이언트 및 서버들이 아스키 텍스트 이외의 다른 종류의 데이터들도 인식하고 처리할 수 있도록 할 것을, 벨 코어의 Nathan Borenstein Internet Engineering Task Force에 제안하였다. 그 결과로, 새로운 파일 형식들이 IP가 지원하는 파일 형식으로서 메일에 추가되었다.

서버들은 어떤 웹 전송에라도 시작부분에 MIME 헤더를 집어넣으며, 클라이언트들은 헤더가 나타내는 데이터 형식에 따라 이를 재생시키기 위한 적절한 응용프로그램을 선택한다. 이러한 재생용 프로그램들 중 일부는 웹 클라이언트, 즉 브라우저에 기본적으로 탑재되며 (예를 들어 모든 브라우저는 HTML 파일의 처리뿐 아니라 GIF와 JPG 이미지를 보여줄 수 있는 능력을 가지고 있다), 그 외의 프로그램들은 필요할 때마다 다운로드된다.  새로운 MIME 데이터 형식들이 생기면 IANA 에 등록된다.

7개 타입으로 구성되며 각각 text, multipart, message, application, image, audio, video 이다. 그리고 각 타입의 하위로 그 아래의 타입들이 존재한다.

                                                                  출처 http://orozsun.blog.me/140097291022


유닉스 계열 운영체제들은 파일 확장자와 관계 없이 파일의 내용을 바탕으로 그 종류를 추측하는 file(1) 프로그램을 지원한다. 이 프로그램은 파일 포맷들이 자신을 나타내기 위해 사용하는 고유한 매직 넘버를 바탕으로 경험적 방법을 통해 결과를 반환한다. GNOME과 KDE에서는 이 결과를 토대로 MIME Content-Type 값을 추출하여 사용한다.

이번 과제를 시작하면서 평소 보던 파일 확장자라 해봤자 .exe .hwp .mp3 .avi .smi .txt 등 뿐이라 조금 편하게 file extension 에 대해 조사를 해보았는데 의외로 관련된 내용이 많았다. 각 운영체제들 사이에도 파일확장자를 나타내는 방법이 달랐고 파일 확장자와 그 의미가 유사한  MIME 라는 것이 있는것도 새롭게 알게 되어 뿌듯한것 같다. 


출처

위키백과
http://blog.naver.com/pyukcho?Redirect=Log&logNo=100027537093  ( MIME type by content type)

댓글 1개:

  1. 수고했어요.
    출처는 빠뜨리지 않고 모두 달아주세요

    답글삭제