일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 생성자 주입
- docker
- AWS
- java
- 스파르타코딩클럽
- WEB SOCKET
- JWT
- 웹개발
- Spring
- EC2
- 프로그래머스
- 항해99
- CentOS
- 개인프로젝트
- @jsonproperty
- Kafka
- 카프카
- visualvm
- 스웨거
- emqx
- MYSQL
- 스프링의 정석
- 데이터베이스
- JavaScript
- 쇼트유알엘
- 남궁성과 끝까지 간다
- 시큐리티
- Spring Security
- DB
- 패스트캠퍼스
- Today
- Total
Nellie's Blog
ch.02 Spring MVC 07~08 HTTP 요청과 응답, 텍스트와 바이너리, MIME, Base64 본문
ch.02 Spring MVC 07~08 HTTP 요청과 응답, 텍스트와 바이너리, MIME, Base64
Nellie Kim 2022. 9. 28. 20:2607. HTTP 요청과 응답 - 이론
HTTP란?
Hyper Text Transfer Protocol. 하이퍼텍스트(html)를 전송하기위한 규칙. 세가지 특징이 있다.
1) 사람이 읽을 수 있는 텍스트 기반의 프로토콜이다.
2) 상태를 유지하지 않는다(stateless). 클라이언트 정보를 저장x -> 보완하기위해 쿠키 & 세션을 사용한다.
3) 확장가능하다 - 커스텀 헤더(header) 추가가능. 표준에 정해놓지 않은 헤더를 맘대로 추가 가능하다.
HTTP 요청, 응답 메시지
우리는 단순히 URL을 입력할 뿐이지만, 브라우저가 알아서 요청메시지를 만들어준다.
HTTP 메시지 - 응답메시지
HTTP 메시지 - 요청메시지(GET/ POST)
08. 텍스트와 바이너리, MIME, Base64
바이너리 파일 : 문자와 숫자가 저장되어 있는 파일. 데이터를 있는 그대로 읽고 쓴다. 숫자가 들어있기 때문에 사람이 봐서는 읽기 어렵다.
텍스트 파일 : 문자만 저장되어 있는 파일. 숫자를 문자로 변환 후 쓴다. 모두 텍스트이기 때문에 사람이 읽기 쉽다.
숫자12 를 문자로 변환하려면 문자 '1', '2' 로 변환한다. 4byte -> 2byte로 줄었다. float는 오히려 4byte -> 6byte로 늘었다.
MIME : 텍스트기반 프로토콜에 바이너리 데이터를 전송하기 위해 고안되었다. HTTP의 Content-Type헤더에 사용한다. 데이터타입을 명시한다.
이미지, 동영상 등은 모두 바이너리파일이다. 그런데 HTTP는 텍스트기반의프로토콜이다. 그러면 어떻게 전송할것인가?
MIME을 적어주면 된다. 전송할 데이터 타입을 적어주자! ex. response.setContentType("text/html")
Base64 : 64진법. 바이너리데이터를 텍스트데이터로 변환할때 사용.
0~9(10개), A~Z(26개) , a~z(26개), + , / --> 도합 64개의 문자로 구성
(ASCII코드는 128개이지만 특수문자가 포함되어있고 출력할수 없는 문자도 있어서 안전하지 않다.)
출처 : [패스트캠퍼스] 스프링의 정석 : 남궁성과 끝까지 간다
'IT 강의 정리 > [스프링의 정석] 남궁성의 끝까지 간다' 카테고리의 다른 글
ch.02 Spring MVC 09~12 관심사의 분리와 MVC패턴 (0) | 2022.10.02 |
---|---|
ch.02 Spring MVC 05~06 클라이언트와 서버, 설정파일(server.xml, web.xml) (0) | 2022.09.28 |
ch.02 Spring MVC 03~04 HTTP 요청과 응답 (0) | 2022.09.28 |
ch.02 Spring MVC 01~02 원격프로그램의 실행, AWS에 배포하기 (0) | 2022.09.27 |
ch.01 Spring시작하기 (0) | 2022.09.26 |