전체 글 14

[HTTP] GET, POST, API 메시지 바디

HTTP 요청 3가지 방법 GET - 쿼리 파라미터 메시지 바디없이 URL의 쿼리 파라미터에 데이터를 포함해서 전달 바디를 사용하지 않기 때문에 content-type이 없음 검색, 필터, 페이징에서 많이 사용 POST - HTML Form content-type : application/x-www-form-urlencoded 메시지 바디에 쿼리 파라미터 형식으로 전달 바디에 포함된 데이터가 어떤 형식인지 content-type을 반드시 지정해야함 회원 가입, 상품 주문, HTML Form 사용 HTTP message body에 데이터를 직접 담아 요청 HTTP API에서 주로 사용, JSON, XML, TEXT JSON의 경우, JSON 결과를 파싱해서 사용할 수 있는 자바 객체로 변환하려면 Jacks..

개발공부/정리 2023.04.24

[Spring] CSR, SSR

SSR - 서버 사이드 렌더링(JSP, 타임리프) 서버에서 동적으로 최종 HTML을 생성해서 클라이언트에 전달 CSR - 클라이언트 사이드 렌더링(React, Vue.js) HTML 결과를 자바스크립트를 사용해서 웹 브라우저에서 동적으로 생성해서 사용 주로 동적인 화면 사용, 웹 환경을 마치 앱처럼 필요한 부분부분 변경할 수 있음 1. 웹 브라우저에서 서버에 요청(html 내용 x, 자바스크립트 링크) 2. 자바스크립트 요청(클라이언트 로직, HTML 렌더링 코드) 3. http api - 데이터 요청(JSON으로 응답) 4. 자바스크립트로 HTML 결과 렌더링 CSR, SSR 동시에 지원하는 웹 프레임워크도 있음

[Spring] 동시 요청 - 멀티 쓰레드

클라이언트가 요청을 하고 WAS 서블릿을 호출할 때 이 서블릿 객체를 누가 호출하는지를 이해해야함 서블릿 객체를 호출하는 것은 쓰레드 쓰레드란? 애플리케이션 코드를 하나하나 순차적으로 실행하는 것 자바 메인 메서드를 처음 실행하면 main이라는 이름의 쓰레드가 실행됨. 쓰레드가 없으면 자바 애플리케이션 실행이 불가능 쓰레드는 한번에 하나의 코드 라인만 수행하기 때문에 동시 처리가 필요하면 쓰레드를 추가로 생성해야함 요청마다 쓰레드를 생성한다면? [장점] 동시 요청을 처리할 수 있음 cpu, 메모리가 허용될 때까지 처리가능 하나의 쓰레드가 지연되어도 나머지 쓰레드는 정상 동작함 [단점] 쓰레드 생성 비용은 매우 비쌈(요청마다 쓰레드를 생성하면 응답 속도가 늦어짐) 컨텍스트 스위칭 비용이 발생함(쓰레드를 전..

카테고리 없음 2023.04.24

[Springboot] 기본 동작 환경

[정적 컨텐츠] 웹 브라우저에 URL로 톰캣 서버에 요청을 하고 1. 스프링 컨테이너에 관련 컨트롤러가 있는지 탐색 2. resources에 해당 url html 파일을 탐색 탐색한 view를 응답하게 됨 [MVC와 템플릿 엔진] 웹 브라우저에 URL로 톰캣 서버에 요청을 하고 스프링 컨테이너에 관련 컨트롤러를 탐색, 요청한 template과 model을 viewResolver에게 전달 Thymeleaf 템플릿 엔진에서 처리해서 html로 변환 후 응답 [API] - @ResponseBody 문자 반환 @ResponseBody를 사용하면 viewResolver를 사용하지않음 대신, HTTP의 BODY에 문자 내용을 직접 반환(StringConverter) - @ResponseBody 객체 반환 객체가 반..