1. 텍스트 파일 vs 바이너리 파일
- 바이너리파일 : 문자와 숫자가 저장되어 있는 파일. 데이터를 있는 그대로 읽고 쓴다.
- 텍스트 파일 : 문자만 저장되어 있는 파일. 숫자를 문자로 변환 후 쓴다.
파일 종류 | 쓰기 | 읽기 |
바이너리 | 문자 -> 문자 숫자 -> 숫자 |
문자 -> 문자 숫자 -> 숫자 |
텍스트 | 문자 -> 문자 숫자 -> 문자 |
문자 -> 문자 문자 -> 숫자(안 됨) |
2. MIME(Multipurpose Internet Mail Extensions)
텍스트 기반 프로토콜에 바이너리 데이터(이미지, 동영상 등)를 전송하기 위해 고안
HTTP의 Content-Type 헤더에 사용하며, 전송할 데이터의 타입을 명시해줘야 한다.
타입 | 설명 | MIME타입 예시(타입,서브타임) |
text | 텍스트를 포함하는 모든 문서 | text/plain, text/html, text/css, text/javascript |
image | 모든 종류의 이미지 | image/bmp, image/webp |
audio | 모든 종류의 오디오 파일 | audio/midi, audio/mpeg, audio/webm, audio/ogg, audio/wav |
video | 모든 종류의 비디오 파일 | video/webm, video/ogg |
application | 모든 종류의 이진 데이터 | application/octetstream, application/pkcs12, application/vnd.mspowerpoint ... |
3. Base64
바이너리 데이터를 텍스트 데이터로 변환할 때 사용한다.
64진법으로 ‘0’~‘9’, ‘A’~‘Z’, ‘a’~‘z’, ‘+’, ‘/’ 모두 64개의 문자로 구성되어있다.
이제 직접 이미지를 Base64 인코딩 해보자.
여기에 접속해서 이미지를 Base64인코딩 할 경우에는 우측 상단의 Image to Base64를, 디코딩 할 경우에는 Base64 to Image를 클릭하면 된다.
파일 선택 후 ENCODE를 누르면 아래쪽에 이미지의 Base64 인코딩 결과가 뜬다.
그리고 html파일에서 img 태그 생성 후 src에 data:image/jpeg;base64, 입력 후 뒤에 이미지를 인코딩한 코드를 붙여주면
html파일 실행 시 이미지가 뜬다! 이런 식으로 이미지 링크를 걸어주면 이미지를 직접 Base64 인코딩해서 연결시켜주었으므로 이미지가 잘못되는 경우가 없다.(ex.엑스박스 뜨는 경우)
참조
https://fastcampus.co.kr/dev_academy_nks
'3. Back-end > 3-2. Spring MVC - 남궁성' 카테고리의 다른 글
Spring MVC - [ 유효 범위(Scope)와 속성(attribute) ] (0) | 2022.11.04 |
---|---|
Spring MVC - [ 서블릿과 JSP ] (0) | 2022.10.29 |
Spring MVC - [ HTTP 요청과 응답 - 이론] (0) | 2022.10.14 |
Spring MVC - [ 클라이언트와 서버 ] (0) | 2022.10.07 |
Spring MVC - [ HTTP 요청과 응답 - HttpServletRequest ] (0) | 2022.09.20 |