jsp나 타임리프로 했던거 와 다르게 서버에서 하지않고
다이나믹한 내용을 브라우저에서 처리
브라우저에서 url을 클릭하면서버에 전송하고 gtml을 리스폰스
화면의 url이변경이되면서 랜더링 매번 페이지가 리로딩
단일페이지
버튼을 누르면 화면에서 그려져야 할부분을
로드가 한번만 되면 클라이언트에서는 Ajax 를 이용해
URL이 변경되지 않고 백단에서 HTTP요청을 보냄
서버가 응답을 받아 Json에 응답을 주고 클라이언트가 json을 파싱해서
자바스크립트를 읽어 데이터를 가지고 돔 프로그램을 통해 랜더링
stateless: http요청을 보낼때 처음요청이 두번째 요청에 공유된 데이터가 없음
두번째 요청은 첫번쨰 요청에 반응을 할 수 없음
세션: 로그인을 하면 만들어짐
사용자가 웹서비스에 접근을 해서 머무는 일정시간동안 유지되는 상태
로그인 하면 사용자의 정보가 세션에 보관
다음 요청이 그 사용자의 요청이란 것을 알기 위해 쿠키를 이용해
세션아이디를 매요청마다 세션에 실어 보냄
세션아이디를 가지고 세션을 찾아 그 사용자의 요청이구나 하고
한 사용자의 요청이라는 것을 알 수 있음
일반적으로 서버에서 관리
매요청마다 쿠키를 업데이트
그다음의 요청에 쿠키에 실려보내짐
세션 아이디를 가지고 사용자 세션 정보에서
사용자 데이터 모델을 찾은 다음에 특정비즈니스로직을 처리
sap기반 : 사용자 데이터 모델에 메뉴정보를 동적으로 가능
자바스크립트에서 관리
로컬스토리지
요청할때마다 필요한거는 사용자 에서 이용
매번 화면을 그리지않아도 되니까 변경해야한는 부부남ㄴ 변경
서버가 브라우저에 랜더링 되는 화면을 처리하는것은 아니다
Cors
하나의 애플리케이션에서 하나의 호스트에서만 데이터를 가져오지 않음
갈수록 복잡해지고 다양한 컨테츠를 필요로 학 대문에 다양한 리소스에 접근해야하고 다양한
호스트에 접근해서 데이터를 가져와야함 -> 보안 중요
사용자를 악의적 행의로부터 보호하기위해 동일한 출처 리소스만 접근하게 함
다양한 리소스의 접근을 허용하게하기위해 콜스
http의 헤더를 이용해서 애플리케이션의 다른 출처의 리소스에 접근 할수 있게 하는 메커니즘
동일한출처: 호스트 프로토콜 포트가 같아야함 다르면 콜스에 걸림
콜스 동작 방식
예비요청에 따라 다름
예비요청은 options이라는 http 메서드로 보내게 되고 orgin(호스트)eh rkxdl qhsoa
예비요청에서 엑세스를 허용하는 오리진에 관한 것을 보냄
단순요청: 예비요청 없이 바로 본 요청