BootCamp 38day

GyeongNamยท2024๋…„ 1์›” 8์ผ
0

BootCamp

๋ชฉ๋ก ๋ณด๊ธฐ
32/49
post-thumbnail

๐Ÿ“… 2024๋…„ 01์›” 08์ผ


38์ผ์ฐจ: CORS, CSR, SSR

๊ฐ„๋‹จํ•œ Spring Project์ƒ์„ฑ, CORS

Spring Initializr ๋‹ค์šด๋กœ๋“œ

build.gradle ์ˆ˜์ •

plugins {
	id 'java'
	id 'org.springframework.boot' version '2.7.11'
	id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
java {
	sourceCompatibility = '11'
}
repositories {
	mavenCentral()
}
dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
	useJUnitPlatform()
}

CorsConfig.java ํŒŒ์ผ ์ƒ์„ฑ, CORS ํ•ด๊ฒฐ

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void  addCorsMappings(CorsRegistry corsRegistry){
        corsRegistry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("*")
                .allowedHeaders("*");
    }
}
  • CORS๋ž€
    Cross-Origin Resource Sharing์˜ ์•ฝ์ž๋กœ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ณด์•ˆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋กœ๋“œ๋œ ์ถœ์ฒ˜์™€ ์š”์ฒญ์ด ๋ณด๋‚ด์ง€๋Š” ์ถœ์ฒ˜๊ฐ€ ๋™์ผํ•ด์•ผ๋งŒ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์š”์ฒญ์€ ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ์ฐจ๋‹จ๋œ๋‹ค.

CSR

Client-Side Rendering (CSR - ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง)

  • ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ๋ Œ๋”๋ง๋˜๋Š” ๋ฐฉ์‹
  • ์ดˆ๊ธฐ ํŽ˜์ด์ง€ ๋กœ๋“œ ์‹œ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ HTML, CSS, JavaScript ํŒŒ์ผ ๋“ฑ ๊ธฐ๋ณธ์ ์ธ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฐ›์€ ํ›„, ํด๋ผ์ด์–ธํŠธ(๋ธŒ๋ผ์šฐ์ €)์—์„œ JavaScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ ํ™”๋ฉด์„ ๋ Œ๋”๋ง
  • ๋น ๋ฅธ ์ดˆ๊ธฐ ๋กœ๋“œ ์†๋„
  • ์ดˆ๊ธฐ ๋กœ๋“œ ์ดํ›„์—๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋‹ค๋ ค์•ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ์ด ๋น ๋ฅด๊ณ  ๋ถ€๋“œ๋Ÿฝ๋‹ค.

SSR

Server-Side Rendering (SSR - ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง)

  • SSR์€ ์„œ๋ฒ„ ์ธก์—์„œ ๋ Œ๋”๋ง๋˜๋Š” ๋ฐฉ์‹
  • ์„œ๋ฒ„์—์„œ HTML์„ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ ์™„์ „ํ•œ HTML ํŽ˜์ด์ง€๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ์ œ๊ณต
  • ์ดˆ๊ธฐ ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์™„์ „ํ•œ ํŽ˜์ด์ง€๋ฅผ ๋” ๋นจ๋ฆฌ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ๋งŽ์€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์„œ๋ฒ„ ๋ถ€ํ•˜๊ฐ€ ๋†’์•„์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ Œ๋”๋ง๋œ ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๊ธฐ๊นŒ์ง€ ์ผ๋ถ€ ์‹œ๊ฐ„์ด ์†Œ์š”๋  ์ˆ˜ ์žˆ๋‹ค.

github ์‹ค์Šต ๋‚ด์šฉ

profile
503 Service Unavailable Error

0๊ฐœ์˜ ๋Œ“๊ธ€