Published 2022. 9. 15. 21:30
HTTP
단순하고 읽기 쉽다. - 텍스트 기반의 프로토콜
상태를 유지하지 않는다. - Stateless
: 클라이언트 정보를 저장 하지 않아. 같은 클라이언트가 요청한 것인지 구별 하지 못함
해결 방법을 쿠키와 세션을 사용
확장 가능하다. - 커스텀 헤더(header) 추가 가능
: 대소문자 구분 X, 공백 무시
HTTP 메서드 - GET, POST
GET | POST |
- 서버의 리소스를 가져오기 위해 설계 - QUERY STRING 을 통해 데이터를 전달(소용량) - URL 에 데이터 노출 되므로 보안에 취약 - 데이터 공유에 유리 ex. 검색엔진에서 검색단어 전송에 이용 |
- 서버에 데이터를 올리기 위해 설계됨 - 전송 데이터 크기에 제한이 없음(대용량) - 데이터를 요청 메시지에 body 에 담아 전송 - 보안에 유리, 데이터 공유에는 불리 ex. 게시판에 글쓰기, 로그인, 회원가입 |
텍스트 파일 vs 바이너리 파일
바이너리 파일 : 문자와 숫자가 저장되어 있는 파일
텍스트 파일 : 문자만 저장되어 있는 파일
바이너리 파일 : 데이터를 있는 그대로 읽고 쓴다.
텍스트 파일 : 숫자를 문자로 변환 후 쓴다.
파일 종류 | 쓰기 | 읽기 |
바이너리 | 문자 -> 문자 숫자 -> 숫자 |
문자 -> 문자 숫자 -> 숫자 |
텍스트 | 문자 -> 문자 숫자 -> 문자 |
문자 -> 문자 |
MIME(Multipurpose Internet Mail Extension)
텍스트 기반 프로토콜에 바이너리 데이터 전송하기 위해 고안
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, application/xhtml+xml, application/xml, application/pdf |
Base64
64진법
A~Z : 26개
a~z : 26개
0~9 :10개
+, / : 2개
모두 64개(6bit)의 문자
6bit -> 8bit(문자1개)
33% 증가
Base64로 인코딩 하면 크기가 커진다
'Spring > Ch2. Spring MVC' 카테고리의 다른 글
Spring MVC - 유효 범위(scope)와 속성(attribute) (0) | 2022.09.17 |
---|---|
Spring MVC - JSP, Servlet (0) | 2022.09.16 |
Spring MVC - servlet-context.xml (0) | 2022.09.16 |
Spring MVC - 관심사의 분리 (0) | 2022.09.15 |
Spring MVC - server.xml, web.xml (0) | 2022.09.15 |