SpringBasic Part3 정리
uri
http
http의 주요 특징
- TCP/IP 기반
- 요청/응답형 프로토콜
- 동기형 프로토콜
- 스테이트리스 ( 그전 요청했던 상태는 다 날라감)
html (hyper text markup language)
웹의 기술적 특징 2가지
- 하이퍼미디어 시스템
- 분산 시스템
웹 시스템의 구성과 동작원리와 환경등을 설명하는 설계도
시스템들간의 상호작용과 그환경들과 동작원리들을 설명하는 설계도
웹서버 vs 웹애플리케이션 서버
웹서버 정적서비스만 지원 (posting 으로만 사용)
웹애플리케이션 서버 정적,동적 서비스제공
was는 오픈소스 프로젝트이고 아파치 탐캣이나 제티등이있다 (web container라고도 한다)
오픈소스 was를 설치 -구동 -우리가 만든 프로젝트를 빌드하고 deploy하게 되면 웹컨테이너가 로드되서 프로젝트 동작
Servlet
브라우저의 요청을 받아 service의 기능을 호출해주는 하나의 컴포넌트
jakarta servlet이라 불림
서버의 역할을 하는 자바소프트웨어 컴포넌트이고 http의 요청에 대해서 특정한 기능을 수행하고 html문서를 생성하는 등 응답처리를 하는 자바소포트웨어 컴포넌트
mvc pattern in servlet : 역할을 나누어 일을 나눈 패턴
Spring MVC
front controller pattern 의 dispatherServlet을 제공해서 코드를 쉽게 짤 수 있게 도와준다
dispatherservlet이 servlet이 준 일을 처리하고 우리는 위임할 controller를 작성하면 된다
controller는 요청받는 일을 service로 호출해서 엔터티를 만들고 그것을 가지고 비즈니스 로직을 처리해서 결과값 리턴
우리는 보라색 테이블만 생성하면 나머지는 intellij가 알아서 해준다.
MVCconfiguration 에 webMvcconfigurer 의 역할
Getmapping으로 코드 줄이기 배움
webapplicationcontext
rest api
Rest 는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처
네트워크 아키텍처 원리의 모음
간단하게 , 웹상의 자료를 http위에서 soap이나 쿠키를 통한 세션 트랙킹 같은 별도의 전송 계층 없이 전송하기 위한 아주 간단한 인터페이스
API는 포로토콜이나 subroutine이며 다양한 소프트웨어 컴퍼넌트들과 소통하기 위한 방법들
Rest API : rest 아키텍쳐 스타일을 따르는 API
- 균일한 인터페이스*
--url로 지정한 리소스에 대한 조작을 통일되고 한정적인 인터페이스로 수행하는 아키텍쳐 스타일
HATEOAS
hypermedia as the engine of application state
api 설계
1. url는 정보의 자원을 표현해야 한다. ( 리소스명은 동사보다는 명사 사용 Get /member/delete/1 (X)
2. 자원에 대한 행위는 http method(get, post, put, delete)로 표현
RestController
SPA (single page application)
사용자 인터랙션에 의해 url이 변경시 화면 전체의 로드가 없이 화면의 일부분만 동적으로 렌더링하여 데스크탑 어플리케이션과 비슷한 유저경험 제공 (DOM 조작)
CORS
autoconfguration