1. 그런데 SSL로 통신하면 암호화가 되어서 이미 보호가 될 것인데...
base64는 byte 정보를 String 형식으로 변경하는 인코딩 형식일 뿐, 암호화 방식이라 보기 어렵습니다.
암호화는 별도 암호화 key를 사용해서 다른 사람이 못 알아보게 변경하는 방식으로,
AES, DES 등의 대칭키 알고리즘이나 RSA 같은 공개키 알고리즘를 사용합니다.
SSL는 내부적으로 RSA 를 사용한다 보시면됩니다.
2. 왜 이렇게 하는 것인지 궁금합니당
http post 형식으로 이미지만 보내실거면 굳이 base64인코딩을 해서 보낼 필요가 없습니다.
오히려 인코딩하면, 원래 길이가 x라 할 때 (((((x) + 2 ) / 3 ) * 4 ) + 1 ) 사이즈가 되기 때문에,
데이터 전송량이 늘어납니다.
하지만. 이미지 정보를 http post의 데이터 부분이 아닌 헤더 부분에 넣어서 전송하기를 원하거나
이미지 정보 이외에 다른 이미지 정보나, 사이즈, 만든이 같은 메타 정보를 같이 보내야 할 경우, 인코딩을 해서 String으로 보내고, 구분자를 넣어주면, 구분이 편해서, 인코딩을 해서 전송하는 경우가 있습니다.