백엔드 데브코스 TIL 24-25일차

Inchang Choi·2022년 4월 26일
0

백엔드 데브코스 TIL

목록 보기
18/30
post-thumbnail

학습목표

강의를 들으며 내가 알고 있는 내용을 점검하고,

새로 배운 내용을 정리하며,

궁금한 내용을 알아가며 학습해나가는 것을 목표로 합니다.


단일 페이지 웹 어플리케이션

(https://docs.microsoft.com/en-us/archive/msdn-magazine/2013/november/asp-net-single-page-applications-build-modern-responsive-web-apps-with-asp-net)

단일 페이지 웹 어플리케이션이란 화면에 그려지는 내용을 서버에서 처리하지 않고, 브라우저에서 동적 렌더링을 처리하는 것 입니다.

즉, 사용자 인터렉션에 의해 URL이 변경 시 화면 전체의 로드가 없이 화면의 일부분만 동적으로 렌더링합니다.

Ajax를 이용해서 대부분의 리소스들은 어플리케이션 로드 시 한 번 읽습니다.

그 후 JSON과 같은 데이터만 어플리케이션 실행 중에 읽어오고 관련된 화면을 변경시키는 방법으로 동작합니다.

CORS란

웹에서 돌아가는 클라이언트 어플리케이션은 근본적으로 취약한 보안구조를 가지고 있습니다.

개발자 도구를 통하여 소스 코드를 직접 볼 수 있고 DOM의 구조, 통신하는 서버, 리소스의 출처등을 쉽게 알 수 있기 때문입니다.

그렇기 때문에 브라우저는 자신의 출처와 동일한 리소스만 불러올 수 있으며, 다른 출처의 리소스를 불러오려면 그 출처에서 올바른 CORS 헤더를 포함한 응답을 반환해야 합니다.

SOP

(https://velog.io/@sangmin7648/SOP-CORS란)

Same Origin Policy는 다른 출처의 리소스를 사용하는 것을 제한하는 보안 방식입니다.

URL의 Protocol, Host, Port를 통해 같은 출처인지 판단할 수 있습니다.

셋 중 하나라도 다르면 다른 출처입니다.

CORS

CORS는 추가 HTTP 헤더를 사용하여 한 출처에서 실행 중인 웹 어플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에게 알려주는 체제입니다.

CORS 시나리오

  • Preflight Request
  • Simple Request
  • Credentialed Request

해결방법

Proxy 서버를 설정해서 해결합니다.

CORS는 왜 이렇게 우리를 힘들게 하는걸까?

Spring Boot Auto-configuration

Spring Boot의 auto-configuration은 추가한 jar 파일에 따라 자동으로 설정을 도와줍니다.

@EnableAutoConfiguration 또는 @SpringBootApplication 주석을 통하여 사용 할 수 있습니다.

EnableAutoConfiguration

Spring Boot가 시작될 때, 클래스패스에 있는 spring.factories 파일을 찾습니다.

이 파일은 스프링 부트가 실행할 설정 클래스들의 이름들을 담고 있습니다.

resources/META-INF/spring.factories 중 EnableAutoConfiguration 부분에 정의된 Configuration들을 자동으로 등록합니다.

profile
always positive

0개의 댓글