스프링부트 학습을 위한 기초 지식

u·2022년 3월 30일
0

SpringBoot

목록 보기
12/20

메세지 컨버터

  1. 메세지 컨버터 : 데이터를 json형식으로 바꿔줘서 서로 다른 언어끼리 데이터를 교환하기 위함
    라이브러리 : jackson

  2. 유니코드 : utf-8 : 3byte 통신
    InputStream : 바이트 단위로 데이터를 받음
    InputStreamReader : 바이트 단위로 한 문자를 받을 수 있다.
    BufferedReader : 가변 길이의 문자를 받을 수 있다.
    java에서 데이터를 받을 때 BufferedReader를 이용하고
    데이터를 보낼 때 BufferedWriter를 이용한다.
    이때 내려쓰기 기능이 있는 PrintWriter도 대부분 이용한다.
    이 bf, bw로 통신을 하게 되면 byte stream 문자열 (가변길이)를 이용해서 통신하게 된다

  3. 이때 스프링부트에서는 어노테이션을 제공한다
    이 어노테이션을 통해서 쉽게 통신을 하게 해준다.
    @ResponseBody -> BufferedWriter가 존재하게 된다
    @RequestBody - > BufferedReader가 존재하게 된다.

http

소켓 : 운영체제가 가지고 있는 것!

소켓통신 : 서버에서 정해놓은 특정 포트번호로 소켓이 오픈돼있으면, 사용자가 연결을 요청할 때 새로운 스레드(소켓)이 열리면서 지속적으로 그 소켓으로 서버와 사용자가 통신을 하게 된다.

의도적으로 끊지 않는 한 서버와 클라이언트의 연결이 끊기지 않는다 -> 동시 접속자가 많아지면 엄청난 리소스를 잡아먹음

http(문서를 전달하는 통신) 통신 : stateless 방식 -> 하나의 포트로 모든 요청을 처리 -> 한번 처리하고 나서 사용자와 연결을 즉시 끊는다

was vs webserver

url : 자원을 요청하는 주소 (html, img, ....)

웹서버 : 정적인 파일(자원)을 클라이언트에게 보내줄 수 있다.

was(톰캣) : 사용자(웹브라우저)가 정적파일(static)이 아닌 다른 파일을 요청한 경우 웹서버는 연동된 was에 제어권을 넘겨준다. was에서는 요청된 파일(java)을 컴파일해서 html파일로 만들어서 웹서버에 다시 넘겨준다. 이후 웹서버는 사용자에게 html파일을 보낼 수 있게 된다.

0개의 댓글