누구나 쉽게 이메일을 보내고 받습니다. 브라우저 또는 아웃룩을 켜고 ‘받은 편지함’을 클릭하면 내가 받은 메일이 순서에 맞추어 읽기를 기다리고 있죠. ‘새 편지’나 ‘편지쓰기’를 클릭하고 주소와 내용을 입력한 후 ‘보내기’를 누르면 언제든 이메일을 보낼 수 있습니다. 실시간 메신저만큼은 아니지만, 이메일은 여전히 빠르고 쉬운 소통 수단입니다.
그런데 ‘보내는 사람’의 이메일을 ‘받는 사람’이 읽기까지의 과정을 생각해 보신 적 있으신가요? 그저 이메일이 왔으니 볼 수 있고, 보내기를 눌렀으니 당연히 가야 한다고 쉽게 생각하지는 않으셨는지요? 쉬울 수도, 어려울 수도 있는 이메일이 전달되는 과정을 순서대로 알아봅니다.
1. 이메일을 씁니다.
오랫동안 연락을 못 했던 친구에게 이메일을 보냅니다. 이메일 주소를 입력하고 간단히 제목을 입력합니다. 그리고 본문을 작성합니다. 적은 내용을 한 번 훑어보고 보내기 버튼을 클릭합니다. 화면이 바뀌고 메일을 성공적으로 보냈다는 메시지가 나타납니다.
우리가 쓴 메일은 우리가 볼 수 없는 ‘헤더(header)’라는 곳에 보낸 사람과 받는 사람의 주소 정보, 보낸 시각 등 여러 가지 정보를 저장합니다. 실제 편지의 봉투에 해당하는 부분인데요, 컴퓨터는 이 정보를 읽어 편지를 배달할 준비를 합니다. 본문에 작성한 내용을 우선 컴퓨터에 저장합니다. 보내기 버튼을 누르기 전까지 미리 컴퓨터에 저장하고 있다가 보내기 버튼을 누르면 서버로 보내기 위한 준비를 합니다.
2. 이메일을 포장합니다.
실제 편지는 펜이나 연필로 쓰지만 이메일은 컴퓨터를 이용해 쓰고 보냅니다. 전달을 위해 컴퓨터가 알아들을 수 있는 언어로 변환을 해줘야 하는데, 이 과정을 ‘인코딩(encoding)’이라고 합니다. 간혹 사용자가 입력한 내용을 서버에 저장하고 읽을 수 있는 정보로 변환하는 과정에서 실수가 생기기도 합니다. 이럴 경우, 받는 사람의 편지함에는 이상한 외계어로 보이는 이메일이 들어가는 경우도 있습니다.
알맞은 방법으로 변환된 이메일은 보내는 이에게 가장 가까운 메일 서버(우체국)로 전달됩니다.
3. 첫 번째 서버(우편집중국)로 보냅니다.
우리가 보내는 이메일은 보내는 사람의 컴퓨터에서 받는 사람의 컴퓨터로 바로 전달되지 않습니다. 사용자가 원할 때 꺼내볼 수 있어야 하고, 항상 인터넷에 연결될 수는 없으므로 중간에 서버라는 곳에 저장해 둡니다. 편지가 우체국에 모이는 것과 비슷하다고 볼 수 있습니다.
서버(우체국)에서는 어떤 일이 벌어질까요?
서버에서는 이메일을 저장하고, 분류하여 다른 서버로 보낼 준비를 합니다. 받는 사람의 주소를 읽고 분석하여 주소가 올바른지 판단합니다. 만약 이메일 주소가 올바르지 않다면 보내는 사람에게 반송 메일(return mail)을 보냅니다. 실수로 이메일 주소를 잘못 썼을 때, 받는 사람의 이메일 주소가 바뀌었을 때, 한 번씩은 받아보셨을 겁니다. 이메일 주소가 확인되면 더 가까운 서버로 보냅니다.
4. 더 가까운 서버(우체국)로 보냅니다
올바른 이메일 주소라면 이메일이 전달될 수 있는 최단 경로를 찾습니다. 그 최단 경로의 서버로 이메일을 보냅니다. 실제 우편과는 달리 서버들의 상태가 늘 좋을 수는 없으므로 일정 시간 간격으로 계속해서 전송 시도를 하고, 전송이 성공하면 임시로 저장했던 메일은 삭제합니다.
5. 이메일을 걸러내어 편지함에 배달합니다.
더 가까운 서버로 전송하는 과정을 수차례 거치고, 드디어 받는 사람이 볼 수 있는 서버에 이메일이 도착했습니다. 도착한 이메일은 우리가 잘 알듯이 시간의 역순으로. 즉, 최근 받은 메일이 위로 가도록 정렬됩니다. 받는 사람이 이용하는 서비스나 개인이 정해 놓은 설정대로 스팸메일과 같은 특정 메일은 필터링이 되어 각기 다른 편지함으로 분류됩니다.
6. 이메일을 꺼내 포장을 풉니다.
받는 사람이 새 메일을 확인했습니다. 받은 편지함 맨 위에 익숙한 친구 이름을 보고, 읽기 위해 제목을 클릭합니다. 하지만 이메일은 보낼 때 인코딩이라는 포장 과정을 거쳤기 때문에 이를 읽기 위해서는 포장을 푸는 과정이 필요합니다. 메일 서비스는 봉투에 쓰인 포장 방법대로 이메일을 열어 포장을 풉니다. 컴퓨터가 이해하는 언어가 아닌 사람이 읽을 수 있는 형태로 변환하여 받는 사람에게 보여줍니다.
7. 이메일이 성공적으로 배달되었습니다.
헤더와 본문으로 이루어진 이메일이 인코딩되어 SMTP 프로토콜을 통해 서버에 전달되고, 서버의 처리에 따라 정확히 전달된 과정을 알 수는 없지만 어쨌든 이메일은 매우 편리하다고 생각했습니다.
오랜만에 읽은 친구의 이메일에 감동한 나머지 ‘답장’ 버튼을 눌러 답장 메일을 쓰려고 합니다. 이번에는 헤더에 답장(reply)정보도 함께 기록되고, 이메일은 새로운 여행을 떠납니다.
<과정 전체보기>
이메일 뉴스레터에 대한 다양한 팁은 스티비 뉴스레터에서 만나볼 수 있습니다.
by 북극곰 발자국
'Technology' 카테고리의 다른 글
홈페이지 방문자 수를 늘리기 위한 7가지 팁 (0) | 2015.07.27 |
---|---|
코딩 폰트 디자인기, Monoid (0) | 2015.07.22 |
웹디자인에서 자간, 행간에 대한 고찰 (7) | 2015.07.21 |
내 주변 실종자의 포스터가 자동으로 출력된다? (1) | 2015.07.14 |
웹사이트 블로그 방문자 통계 및 분석, 구글애널리틱스란? (0) | 2015.07.09 |
개발자들의 영원한 숙제, 'NULL' 이야기 (1) | 2015.07.06 |
업무용 메신저 슬랙(Slack), 슬로워크는 이렇게 사용합니다. (1) | 2015.06.29 |
올바른 웹, 모바일 폰트 사용하기 (0) | 2015.06.22 |