NW-study / system-design-interview

8 stars 0 forks source link

[Volume 2][Chapter 08] Q&A #24

Open KKambi opened 3 months ago

KKambi commented 3 months ago

왜 이메일의 첨부 파일은 일반적으로 base64 인코딩을 사용하는가?

요약하자면, base64 인코딩은 이메일 시스템이 이진 데이터를 안정적으로 처리하고 전송할 수 있도록 도와주는 안전한 방법입니다.

이메일을 위해 사용하는 프로토콜은 텍스트 기반 (옛날 프로토콜) SMTP는 모든 메시지를 7-bit의 ASCII 문자로 제한한다. (128개의 문자(0-127)를 표현할 수 있는 7비트 코드)

그런데 이미지 등의 첨부 파일을 이메일로 전송하려면 8bit가 필요하다. 이를 어떻게 SMTP로 송신할 수 있을까?

=> base64로 인코딩한다. Base64는 ASCII의 제어문자와 일부 특수문자를 제외한 64개의 안전한 문자(6비트)만 사용한다. 정리하면, Base64는 바이너리 데이터를 시스템 독립적으로 전송 또는 저장되는 것을 보장하기 위해 사용한다.