web

기존 API 호출 방식의 한계 우리는 클라이언트 개발(안드로이드, iOS, 웹)을 하면서 서버와 통신을 해야 할 때 보통 서버가 구현해놓은 API를 호출해 데이터를 보내거나 받아온다. 보통 앱에서 하나의 View를 그리기 위해서는 보통 여러 번 API를 호출해야하고, 호출을 통해 받아온 데이터를 조합해 사용해야 한다. 예를 들어 여러번 REST API를 호출해 하나의 View를 만들어내는 경우를 생각해보자. 앱의 페이지가 복잡해질 수록 많은 호출을 해야하고 데이터 조합을 위해 순차적인 처리가 들어가야 하는 경우가 많아지기 때문에 데이터를 조합하는 것은 매우 복잡해진다. 이를 편하게 하기 위해 데이터 흐름을 만들고 해당 흐름에 순차 처리 로직을 위한 로직을 넣는 방식의 프로그래밍이 많이 사용되었다. 대표적..
· Spring/MVC
서버 사이드 랜더링(SSR) 서버 사이드 랜더링은 서버에서 클라이언트에 보여질 화면을 결정하는 것이다. 즉, HTML을 서버에서 모두 만들어서 웹 브라우저에 전달하면 웹 브라우저는 HTML을 표시만 해주면 된다. 서버에서 HTML을 생성하게 되면 이용자가 많아질 수록 서버에 부담이 갈 수 밖에 없다. 따라서 서버 비용이 비싸므로 이는 주로 정적인 화면에만 사용된다. 물론 동적으로 변경 가능하지만, 서버에 부담이 가므로 권장되지 않는다. Thymleaf와 같은 것이 이렇게 작동한다. 모든 HTML이 이미 세팅되어 있고 특정 문자열만 변경이 필요한다던지 할 때 이 방식을 사용한다. SSR 동작 방식 클라이언트에서 서버로 HTML 요청 서버에서 응답하여 클라이언트에 HTML 내려줌 클라이언트는 서버에서 받은 ..
· Spring/MVC
웹서버의 특징 HTTP를 기반으로 동작 HTTP를 기반으로 동작하기 때문에 HTTP프로토콜을 기반으로 정적 리소스를 요청자에게 제공한다. 정적 리소스는 HTML, CSS, 이미지, 영상 등이 있을 수 있다. 정적인 파일만 제공 정적인 파일만 제공하기 때문에 사용자에 따라 다른 결과의 제공이 불가하다. 플러그인 설치 등으로 제공되기도 하지만, 이해를 위해 이는 논외로 하자. 대표적인 웹서버 APACHE 웹 애플리케이션 서버(WAS)란? HTTP를 기반으로 동작 웹서버와 마찬가지로 HTTP를 기반으로 동작하기 때문에 정적 리소스의 제공이 가능하다. 동적인 로직 수행해서 제공 하지만, 웹서버와 다른 점은 웹 애플리케이션 서버는 프로그래밍이 가능하기 때문에 사용자에 따라 다른 결과의 제공이 가능하다. 우리가 쓰..
Dev.Cho
'web' 태그의 글 목록