왜 메일의 첨부파일의 크기는 원본파일의 크기보다 클까요? 


결론부터 말하면 banary로 이루어진 이미지나 문서, 동영상들이 메일에 첨부될때 base64라는 문자열 기반으로 변경되어 메일에 실리기 때문입니다. 

그래서 변경 과정중에 파일 크기는 일반적을 약 37% 수준의 증가가 발생하게 됩니다. 즉 메일에 첨부되는 파일의 크기는 원본 파일보다 약 37% 큽니다.


일반적으로 MIME (Multipurpose Internet Mail Extentions) 의 스펙 규약에 따르면 "base64"는 binary-to-text 인코딩 스키마의 한 종류 입니다.  

MIME의 base64인코딩은 PEM(privacy enhanced mail)의 RFC1421 버전에 기반하고 있습니다. 

(base64에 대한 자세한 설명: https://en.wikipedia.org/wiki/Base64 ) 


왜 이런일이 발생할까요? 


기본적으로 메일은 처음에 텍스트'만' 주고받는 미디어 였습니다.

그런데 요즘에는 메일에 여러가지 파일들이 첨부될 수 있게 되었죠. (동영상, 사진, 문서, 음악 등등)

그럼 이러한 0에서 255까지의 값을 가지는 데이터들을 어떻게 0~127값만 다루는 매체에 담아서 보낼수 있을까요?

정답은! -> 바로바로바로바로 '인코딩을 활용하는 것'입니다. 즉 바이너리 데이터를 텍스트로 변환하는 것입니다. 


예를들면, 

iVBORw0KGgoAAAANSUhEUgAAAQQAAABOCAIAAABJ3v/jAAAACXBIWXMAABJ0AAASdAHeZh94
AAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUI
IFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuj

이런 문자열들을 여러분은 보신적이 있을겁니다. 이런것이 바로 base64로 변환된 데이터 입니다. 

즉 2진데이터를 텍스트로 표현하면 더 커집니다. 실제 커지는 이유는 여러가지 요소가 있지만

주로 사용하는 인코딩 방식에 따라서 영향을 가장 크게 받습니다.


이런게 왜 중요할까요? 


보통 메일 서버는 수신할수 있는 메일의 크기를 제한해 놓습니다.

왜냐하면 대량 스팸메일을 동시에 받을경우 메일 서버가 죽을수도 있기 때문입니다.

일반적으로는 20MB~ 40MB정도가 일반적입니다.

다시 말하면 보내는 파일 사이즈가 약 14MB ~ 30MB정도가 넘어가면 받는 메일 서버쪽에서는 메일을 받지 않고 돌려보냅니다.

따라서 메일 크기를 아는 것이 중요합니다 



도움이 되셨나요? ^^

광고를 클릭하시면 글쓴이에게 수익의 일부가 돌아갑니다.

감사합니다.

DNS (Domain name Server)의 레코드 타입에는 몇가지 종류가 있다.

 

 

A (Address Mapping records)  

레코드 A는 주어진 호스트에 대한 IP 주소 (IPv4)를 알려줍니다.

A 레코드는 도메인 이름을 해당하는 IP 주소로 변환하는 데 사용됩니다.

 

 

AAAA (IP Version 6 Address records)  

레코드 AAAA (quad-A 레코드이기도 함)는 주어진 호스트에 대해 IPv6 주소를 알려줍니다.

결국 A 레코드와 같은 방식으로 작동하며 차이점은 IP 주소 유형입니다.(IP 버전6)





CNAME (Canonical Name) 

CNAME 레코드는 도메인 이름의 별칭을 만드는 데 사용됩니다.

CNAME 레코드는 도메인을 외부 도메인으로 별칭을 지정하려는 경우 유용합니다.

경우에 따라 CNAME 레코드를 제거하고 A 레코드로 대체하면 성능 오버 헤드를 줄일 수도 있습니다.

 

 

HINFO (Host Information) 

HINFO 레코드는 호스트에 대한 일반 정보를 얻는 데 사용됩니다. 레코드는 CPU OS 유형을 알려줍니다

HINFO 레코드 데이터는 두 호스트가 통신하기를 원할 때 운영 체제 특정 프로토콜을 사용할 수있는 가능성을 제공합니다

하지만 일반적으로 보안상의 이유 때문에 HINFO 레코드는 공용 서버에서 사용되지 않습니다.

 

 

ISDN (Integrated Services Digital Network) 

ISDN 리소스 레코드는 호스트의 ISDN 주소를 알려줍니다

ISDN 주소는 국가 코드, 국가 별 대상 코드, ISDN 가입자 번호 및 선택적으로 ISDN 하위 주소로 구성된 전화 번호입니다

레코드의 기능은 A 레코드 기능의 변형 일뿐입니다.

 

 

MX (Mail exchanger)

MX 레코드는 DNS 도메인 이름에 대한 메일 교환 서버를 알려줍니다. 이 정보는 SMTP (Simple Mail Transfer Protocol) 전자 메일을 적절한 호스트로 라우팅하는 데 사용합니다. 일반적으로 DNS 도메인에 대해 둘 이상의 메일 교환 서버가 있으며 각 도메인에 우선 순위가 설정됩니다.

 

 

NS (Name Server) 

NS 레코드는 주어진 호스트에 대한 공식적인 이름 서버를 알려줍니다.

 

 

PTR (Reverse-lookup Pointer records)

정방향 DNS 확인 (A AAAA 레코드)과 달리 PTR 레코드는 IP 주소를 기반으로 도메인 이름을 찾는 데 사용됩니다.

 

 

SOA (Start of Authority)

이 레코드는 기본 이름 서버, 도메인 관리자의 전자 메일, 도메인 일련 번호 및 

영역 새로 고침과 관련된 여러 타이머를 포함하여 DNS 영역에 대한 핵심 정보를 지정합니다.

 

 

TXT (Text)  

텍스트 레코드는 형식이 지정되지 않은 임의의 텍스트 문자열을 저장할 수 있습니다. (파일도 가능 ex include:_spf.daum.net ~all)

일반적으로 이 레코드는 SPF (Sender Policy Framework) (당신이 보낸것 처럼 보이도록 하는가짜 전자 메일을 막기 위해서 사용합니다.

 

 

출처http://dns-record-viewer.online-domain-tools.com/






  1. 왕달팽이 2019.11.02 14:48

    잘 보고 갑니다. 도움이 많이 됐어요

+ Recent posts