까마귀코딩.log
Email의 구조 본문
헤더는 중요하다 !
왜?
헤더는 편지봉투에 적힌 주소와 같습니다.
- 수신인 주소를 적었다면 편지는 "정확히" 수신인의 우편함에 도착하게 될 것이다 !
- 만약 수신인의 주소가 틀렸다면? 일주일 쯤 후에 다시 편지가 돌아올것이다 !
- 인터넷 메시지도 이런 원리에 따라, 헤더에 있는 정보를 보고 수신인이 누구인지 파악하여 전달된다 !
우리가 보낸 이메일은 패킷으로 변해
인터넷에 연결된 어떤 컴퓨터로 전달이 될것이다.
패킷은 작은 정보 조각으로 나누어져서 TCP/IP 프로토콜에 따라
인터넷에 뿌려지게 된다.
뿌려진 패킷에는 그것이 각각 인터넷의 어떤 컴퓨터로 가야하는지에 대한 정보가 있다.
패킷들은 똑같은 경로를 따라 이동하는것이 아니라
그 시간대에 가장 빠른 경로를 따라 제멋대로 인터넷을 헤엄쳐간다.
패킷들은 결국에 도착해야할 컴퓨터에 정확하게 도달하게 되는데
패킷을 받은 컴퓨터는 패킷에 적혀있는 정보를 보고 원래의 메시지 형태로 재결합 해준다
만약 패킷중 몇개가 없어져버렸거나 잘못되었다면 ??
다시전송해줄것을 요구합니다.
그래서 마침내 모든패킷이 정확히 도착했을 때, 그것은 제대로 된 하나의 이메일로 변환된다.
이것이 인터넷 메시지가 패킷으로 변환되어 상대방 컴으로 전달되는 과정이다.
그런데 도대체 패킷에는 어떤 정보가 있기에 갈곳을 정확히 찾아가는걸까 ?
바로 헤더이다. !
패킷에는 메시지 헤더가 있기 때문에 정확히 찾아갈수 있게 되는것이다.
이메일의 구조
1. 헤더
2. 본문
3. 맺음말
헤더 | Return-Path: <kkamaghi@email.com> Received: from memory.nn.kamoko.ac.kr (memory.nn.kamoko.ac.kr [10.100.0.0]) by kaka.mogo.co.kr ( 8.8.6/8.8.6) with SMTP id VAA15201 for <social93@kaka.mogo.co.kr>; Fri, 03 March 1999 16:05:15 +0900 (KST) Message-ID: <000601bd2b23$0de4f380$82217da4@kkamsam.nn.kamoko.ac.kr> Reply-To: "Kkamak Mon" <kkam@moya.ac.kr> From: "Kkamak Mon" <kkam@moya.ac.kr> To: "까막몬" <social93@kaka.mogo.co.kr> Subject: 디지몬 보고난 후기 Date: Fri, 03 March 1999 16:05:15 +0900 (KST) MIME-Version: 1.0 Content-Type: text/plain;charset="euc-kr" X-Mailer: Microsoft Outlook Express 4.72.2106.4 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4 Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by kaka.mogo.co.kr id VAA15201 |
본문 | 디지몬 보고난 후기 디지몬을 보게 되었다 세상에 뭐이런 재밌는 만화영화가 다 있지 나중에 나이먹어서도 이 만화를 기억할것 같다. |
맺음말 | -=##=-=##=--=##=-=##=--=##=-=##=--=##=-=##=--=##=- PNY - Department of Socoiology kkam@moya.ac.kr 까막몬 -=##=-=##=--=##=-=##=--=##=-=##=--=##=-=##=--=##=- |
헤더
어떤 메일/ 뉴스 프로그램을 사용하느냐에 따라헤더를 보여주는 방식은 조금씩 다르다.
그러나, 어떤 프로그램이든지 헤더의 원본을 볼수있는 옵션을 제공하고 있다.
메신저와 같이 메시지 창에 직접헤더를 보여주는 프로그램은
옵션을 사용하여서
헤더를 자세히 볼것인지
간단히 볼것인지 선택할수 있다.
아웃룩에서는 등록정보 메뉴를 클릭하면 메시지의 원본헤더를 볼수 있다.
헤더란 무엇인가?
일종의 규칙이다 !
인터넷을 경유하여 전달되는 메시지가 각각의헤더를 가지고 있다면 ??
제대로 이것을 처리하는것은 불가능하다 !
따라서 메시지의 헤더를 기록하는 전세계 공통의 규약이 필요하다.
이메일의 헤더에 대해 정의하고 있는 문서는 RFC 822 라는 인터넷 문서이다.
RFC 822 에는 인터넷 메일이 무엇이며, 그것의 헤더는 어떤식으로 구성되어야 하는지 상세히 기술하고 있다.
이것을 기초로 한 다양한 RFC 문서가 이메일의 헤더에 대해 정의하고 있다.
만약 어떤 프로그래머가 이메일헤더에 대해 매우 무지하여 자신이 만든 메일프로그램의 헤더표기법을 멋대로 만들었다면
어떻게 될까?
모든 이멜은 받는사람 주소를 표시하는 "TO:" 라는 헤더를 사용하고 있다.
그런데 이 프로그래머는 받는사람의주소를 표시하는 헤더로 "TOGETHER:kkamak93@mogo.com" 라는 헤더를 포함하여서
이메일을 보냈다면 ?
샌드메일은 이것을 받아서 보내기 전에 " 어디로 보낼까 ? " 하고 고민하게 될것이다.
그런데 아무리 찾아봐도 "TO:" 헤더가 보이지 않으니 이건 잘못된 이메일이라고 판단하여 반송시켜 버릴것이다.
프로그래머는 왜 자신이 만든 이메일 프로그램이 제대로 작동하지 않느냐고 화를내며
샌드매일을 수정해버릴수도 있다.
샌드메일을 수정해서 헤더에 "TOGETER:" 에 있는 정보를 기준으로 이메일을 보내도록 설정해버린다고 하자
그럼 어떻게 될까?
이메일이 보내지기는 할것이다.
그렇지만 다시 반송되어버릴것이다.
이메일을 받은곳에서 "TOGETER:" 라는 헤더는 본적도 없고 그것이 무엇을 의미하는지 알수 없기 때문이다.
이 멍청이는 2가지 선택을 할수 있다.
1. 전세계의 샌드메일을 수정하도록 요구하는것
2. 자기가 만든 프로그램을 수정하는것
이미 정해진 "TO:" 헤더 대신에 지맘대로 바꿀수 있는게 아니다
RFC 라는 문서가 하는 역할이 바로 그런것이다.
전세계의 모든 이메일에서 "TO:" 헤더가 하는 역할은 받는 주소를 의미하는것이라고 약속해 놓았고,
그것을 지켜야 하는것이다.
만약 그것을 다른 어떤 헤더로 바려면 자신이 RFC 문서를 만들어서 제안을 해야 한다.
근데 누가 들어줘 그딴요청을 ,,, 걍 접으라는 소리다 받아들여질 확률은 0%이다 ^^
헤더는 매우 엄격히 지켜지고 그것을 맘대로 바꿀수 없다.
엄격하기 때문에 인터넷이라는 복잡한 세계에서 이메일들이 자신이 가야할 곳을 정확히 찾아갈수 있는것이다.