๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

๊ธฐํƒ€

IntelliJ ์•ˆ์“ฐ๋Š” import ์ •๋ฆฌ

์•ˆ์“ฐ๋Š” import๋ฌธ์„ ์ €์ ˆ๋กœ ์—†์–ด์ง€๊ฒŒ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์“ฐ๋Š” ๋ฐฉ๋ฒ•! ์„ค์ • -> ์—๋””ํ„ฐ -> ์ผ๋ฐ˜ -> ์ž๋™ ๊ฐ€์ ธ์˜ค๊ธฐ -> import๋ฌธ ์ฆ‰์‹œ ์ตœ์ ํ™”๋ฅผ ์ฒดํฌํ•œ๋‹ค. ๋‚ด๊ฐ€ ๋ณด๋ ค๊ณ  ์ž‘์„ฑ ใ…Žใ…Ž

Spring

[Spring] Spring Security(์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ) Form Login ์ธ์ฆ

๐ŸŒฑ ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๋กœ๊ทธ์ธ ๋กœ์ง form์„ ํ†ตํ•ด์„œ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์„ธ์…˜ ๋ฐ ์ธ์ฆ ํ† ํฐ์„ ์ €์žฅํ•œ๋‹ค. ์ถ”ํ›„์—๋Š” ํ•ด๋‹น ์ธ์ฆ์„ ํ†ตํ•ด์„œ ์ž‘์—… ๊ฐ€๋Šฅํ•˜๋‹ค. ๋กœ๊ทธ์ธ API ์—ฌ๊ธฐ์„œ ๋ง๋ถ™์—ฌ์„œ ์„ค๋ช…ํ•˜๋ฉด loginProcessingUrl : form ํƒœ๊ทธ์— ์žˆ๋Š” action url , ํƒ€์ž„๋ฆฌํ”„ ์“ฐ๋ฉด th:action successHandler : ์„ฑ๊ณตํ–ˆ์„ ๋•Œ ๋‚ด๊ฐ€ ์ถ”๊ฐ€์ ์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ํ•ธ๋“ค๋Ÿฌ failureHandler : ์‹คํŒจํ–ˆ์„ ๋•Œ ๋‚ด๊ฐ€ ์ถ”๊ฐ€์ ์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ํ•ธ๋“ค๋Ÿฌ ๐Ÿ‘‰ successUrl์ด๋ž€ failureUrl์ด๋ž‘ ๋น„์Šทํ•˜๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•  ์ˆ˜๋„ ์žˆ๊ฒ ์ง€๋งŒ ์•ž์— ๋‘ ๊ฐœ๋Š” url์„ค์ •๋ฐ–์— ํ•˜์ง€ ๋ชปํ•œ๋‹ค. Controller @GetMapping("/loginPage") public Strin..

Spring

[Spring] Spring Security(์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ) ๊ธฐ์ดˆ ๊ฐœ๋…

๊ฐ•์˜๋“ค์œผ๋ฉด์„œ ๋ฐฐ์šด ๊ฒƒ๋“ค์„ ๊ฐ„๋‹จํ•˜๊ฒŒ๋ผ๋„ ๋‚จ๊ฒจ๋ณด๋ ค๊ณ  ํ•œ๋‹ค! ๐Ÿฅ Spring Security(์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ)๋ž€? Spring ๊ธฐ๋ฐ˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ์„ ๋‹ด๋‹นํ•˜๋Š” Spring ํ•˜์œ„ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค. springboot์— spring security๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•ด์ค˜์•ผํ•œ๋‹ค. implementation 'org.springframework.boot:spring-boot-starter-security' ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์˜ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์€? ์„œ๋ฒ„๊ฐ€ ๊ฐ€๋™๋˜๋ฉด ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์˜ ์ดˆ๊ธฐํ™” ์ž‘์—… ๋ฐ ๋ณด์•ˆ ์„ค์ •์ด ์ด๋ฃจ์–ด์ง ๋ณ„๋„์˜ ์„ค์ •์ด๋‚˜ ๊ตฌํ˜„์„ ํ•˜์ง€ ์•Š์•„๋„ ๊ธฐ๋ณธ์ ์ธ ์›น ๋ณด์•ˆ ๊ธฐ๋Šฅ์ด ํ˜„์žฌ ์‹œ์Šคํ…œ์— ์—ฐ๋™๋ผ ์ž‘๋™ ๋ชจ๋“  ์š”์ฒญ์€ ์ธ์ฆ์ด ๋˜์–ด์•ผ ์ž์›์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅ ์ธ์ฆ ๋ฐฉ์‹์€ Form ๋กœ๊ทธ์ธ ๋ฐฉ์‹๊ณผ ..

DB

[DB] Transaction(ํŠธ๋žœ์žญ์…˜)์ด๋ž€?

๐Ÿ” ํŠธ๋žœ์žญ์…˜์ด๋ž€? ํŠธ๋žœ์žญ์…˜์€ ACID(์›์ž์„ฑ, ์ผ๊ด€์„ฑ, ๊ฒฉ๋ฆฌ ๋ฐ ์ง€์†์„ฑ) ์†์„ฑ์ด ์žˆ๋Š” ์ž‘์—… ๊ทธ๋ฃน์ด๋‹ค. ์ฆ‰, ํ•ด๋‹น ์†์„ฑ์„ ๊ฐ€์ง€๋ฉฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์˜ ๋‹จ์œ„๋ฅผ ๋งํ•œ๋‹ค. ๋ณดํ†ต ์•„๋ž˜์˜ ์งˆ์˜์–ด๋ฅผ ํ†ตํ•ด์„œ ์ž‘์—…์ด ์ด๋ฃจ์–ด์ง€๋ฉฐ ACID ๊ทœ์น™์„ ์ง€ํ‚ค๊ฒŒ ๋œ๋‹ค. SELECT INSERT DELETE UPDATE ๐ŸŽก ํŠธ๋žœ์žญ์…˜ ํŠน์ง• ์›์ž์„ฑ (Atomicity) ์›์ž์„ฑ์€ ํŠธ๋žœ์žญ์…˜์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ชจ๋‘ ๋ฐ˜์˜๋˜๋˜๊ฐ€, ์•„๋‹ˆ๋ฉด ์ „ํ˜€ ๋ฐ˜์˜๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์€ํ–‰ ์†ก๊ธˆ์„ ์˜ˆ๋กœ ๋“ค์–ด๋ณด์ž. ์€ํ–‰ ์†ก๊ธˆ์€ ํ•œ ๊ณ„์ขŒ์™€ ๋‹ค๋ฅธ ๊ณ„์ขŒ์— ๋Œ€ํ•œ ํ–‰๋™์ด ์›์ž์„ฑ์˜ ์ง‘ํ•ฉ์ด๋‹ค. A๊ณ„์ขŒ์—์„œ B๊ณ„์ขŒ๋กœ ๋ˆ์„ ์ด์ฒดํ–ˆ๋Š”๋ฐ ์ค‘๊ฐ„์— ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์„œ A๊ณ„์ขŒ์—๋Š” ๋ˆ์ด ๋น ์ ธ๋‚˜๊ฐ”์ง€๋งŒ B๊ณ„์ขŒ์—๋Š” ๋ˆ์ด ๋“ค์–ด์˜ค์ง€ ์•Š์„ ์ˆ˜๊ฐ€ ์žˆ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜์ง€..

Spring

[Spring] Dirty Checking(๋”ํ‹ฐ ์ฒดํ‚น) ์ด๋ž€?

์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๊ฐ€ repository.save()๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ update ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋˜์–ด DB์— ๋ฐ˜์˜๋˜๋Š” ํ˜„์ƒ์„ ๋ณด๊ณ  Dirty Checking์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋‹ค ๐Ÿค” โš™๏ธ Dirty Checking์ด๋ž€? Spring JPA์—์„œ ๋”ํ‹ฐ ์ฒดํ‚น์ด๋ž€ ์˜์†์„ฑ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์—”ํ‹ฐํ‹ฐ์˜ ์ƒํƒœ๋ฅผ ๊ฐ์ง€ํ•ด์„œ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์ž๋™์œผ๋กœ ํŠธ๋žœ์žญ์…˜์ด ๋๋‚˜๋Š” ์‹œ์ ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜ํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. dirty : ๋ณ€๊ฒฝ๋œ ์—”ํ‹ฐํ‹ฐ ๋ฐ์ดํ„ฐ dirty checking : ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„ ๊ฐ์ง€ Dirty Checking์€ ์–ธ์ œ ์ผ์–ด๋‚ ๊นŒ? ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ์—์„œ ๊ด€๋ฆฌ๋˜๋Š” ์—”ํ‹ฐํ‹ฐ ์ค€์˜์†/๋น„์˜์† ์ƒํƒœ์˜ ์—”ํ‹ฐํ‹ฐ๋Š” ๋”ํ‹ฐ ์ฒดํ‚น์˜ ๋Œ€์ƒ์ด ๋˜์ง€ ์•Š๋Š”๋‹ค. Transaction(ํŠธ๋žœ์žญ์…˜)์ด ์ปค๋ฐ‹๋˜์—ˆ์„ ๋•Œ ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋˜๊ธฐ ์ „๊นŒ์ง€ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ๋Š” ๋ณ€..

DB

ํ…Œ์ด๋ธ” ์ด๋ฆ„์€ ๋‹จ์ˆ˜ํ˜•์œผ๋กœ ํ•ด์•ผ๋ ๊นŒ ๋ณต์ˆ˜ํ˜•์œผ๋กœ ํ•ด์•ผ๋ ๊นŒ? ๐Ÿค”

๊ฐ•์˜๋ฅผ ๋“ฃ๋‹ค๊ฐ€ ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์ •ํ•˜๋Š”๊ฑฐ์— ์žˆ์–ด์„œ ๋‹จ์ˆ˜ํ˜•์ด ์ข‹์„์ง€ ๋ณต์ˆ˜ํ˜•์ด ์ข‹์„์ง€์— ๋Œ€ํ•ด์„œ ์ฐพ์•„๋ณด์•˜๋‹ค. ๐Ÿงถ ๋‹จ์ˆ˜ํ˜•์œผ๋กœ ์ง“๋Š” ๊ฒฝ์šฐ ์‰ฝ๊ฒŒ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ๋žŒ๋“ค์ด ๋”ฐ๋ฅด๊ธฐ๊ฐ€ ๋งค์šฐ ์‰ฝ๋‹ค. ๋งŒ์•ฝ ๋ณต์ˆ˜๋กœ ์ง“๋Š” ๊ฒฝ์šฐ์— child-children, octopus-octopi์ฒ˜๋Ÿผ ๋ณต์ˆ˜ํ˜•์„ ๊ธฐ์–ตํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹จ์ˆ˜๋กœ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์— ์‹œ๊ฐ„ ์ ˆ์•ฝ์ด ๋œ๋‹ค ๊ฐœ๋ฐœ์ž๊ฐ€ ์ ์ ˆํ•œ ๋ณต์ˆ˜ํ˜•์— ๋Œ€ํ•ด์„œ ๊ณ ๋ฏผํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ๋ณต์ˆ˜ํ˜•์„ ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค ์˜คํƒ€๊ฐ€ ์ค„์–ด๋“ค์–ด์„œ ์ „์ฒด์ ์ธ ์˜ค๋ฅ˜๋„ ์ค„์–ด๋“ค ์ˆ˜ ์žˆ๋‹ค. ๐Ÿงต ๋ณต์ˆ˜ํ˜•์œผ๋กœ ์ง“๋Š” ๊ฒฝ์šฐ ๋ณต์ˆ˜ํ˜• ์ด๋ฆ„์ด ์ฝ”๋“œ ์ €์žฅ์†Œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•„ํ‚คํ…์ฒ˜, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„ ์•„ํ‚คํ…์ฒ˜ ๊ฐ„์— ํ†ต์ผ์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค. ๋งŒ์•ฝ์— user๋ผ๋Š” ํ…Œ์ด๋ธ”์ด ์žˆ์œผ๋ฉด ์ด๊ฑด users์˜ ๊ทธ๋ฃน์ด ์•„๋‹Œ user์˜ ๊ทธ๋ฃน์ด๋ผ๊ณ  ์ฐฉ๊ฐํ•  ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ..

๊ธฐํƒ€

Git Flow ์ „๋žต ๊ฐ„๋žตํžˆ ์‚ดํŽด๋ณด๊ธฐ

Git Flow๋ž€? Git์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ๋ธŒ๋žœ์น˜๊ฐ„์˜ ๋ฌธ์ œ ์—†์ด ๋ฐฐํฌ๊นŒ์ง€ ์•ˆ์ •์ ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ธŒ๋žœ์น˜๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ „๋žต์„ ๋งํ•œ๋‹ค. ๐ŸŒˆ ์ฃผ์š” ๋ธŒ๋žœ์น˜ Main(=Master) : ์‹ค์ œ ์šด์˜ ํ™˜๊ฒฝ์— ๋‚˜๊ฐ€์žˆ๋Š” ์ฝ”๋“œ๋งŒ ์กด์žฌ Dev : ๋ฉ”์ธ ๋ธŒ๋žœ์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๊ฒƒ (๋‹ค์Œ ๋ฐฐํฌ์— ๋‚˜๊ฐˆ ๋‚ด์šฉ๋“ค์„ ๋ฐ”๋กœ ๋ฉ”์ธ์— ๋จธ์ง€ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ feature์—์„œ ๊ฐ€์ ธ์˜จ ๊ฒƒ๋“ค์„ ๋ชจ์•„๋†“์€ ๊ฒƒ) Feature : ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ feature๋ฅผ ๋”ฐ์„œ ๊ฐœ๋ฐœํ•˜๊ณ  Dev์— merge Release : ๋ฐ๋ธŒ ๋ธŒ๋žœ์น˜๋ฅผ ๋ฒ ์ด์Šค๋กœ ๋งŒ๋“ฆ. Release๊ฐ€ ์ƒ์„ฑ๋œ ์ดํ›„๋ถ€ํ„ฐ๋Š” ๋”์ด์ƒ Dev์—์„œ ์ž‘์—… ์•ˆํ•˜๊ณ  Release์—์„œ ์ž‘์—…ํ•˜๊ฒŒ ๋จ. Hotfix : ์˜๋„์น˜ ์•Š์€ ์žฅ์•  ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์—์„œ ๋ฐ”๋กœ ์ƒ์„ฑํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ..

๊ฒฝํ—˜

2023 ํ•˜๋ฐ˜๊ธฐ ICT ์ธํ„ด์‹ญ ํ•ฉ๊ฒฉ ํ›„๊ธฐ [์„œ๋ฅ˜/์ฝ”๋”ฉํ…Œ์ŠคํŠธ/๋ฉด์ ‘]

โš™๏ธ ICT์ธํ„ด์‹ญ์ด๋ž€?์ •๋ถ€์—์„œ ์ฃผ๊ด€ํ•˜๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ ! ๊ธฐ์—…๊ณผ ๋งค์นญ๋˜์–ด ์‹ค๋ฌด ๊ฒฝํ—˜๋„ ์–ป๊ณ  ํ•™์ ๋„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์•„์ฃผ ์ข‹์€ ๊ธฐํšŒ์ด๋‹ค!4-1์„ ๋งˆ์น˜๊ณ  ๋ง‰ํ•™๊ธฐ๊ฐ€ ๋‚จ์•˜์—ˆ๋Š”๋ฐ 11ํ•™์ ์ด ๋‚จ์•„์žˆ์—ˆ๋‹คใ…Žใ…Ž ํ•™์ ์€ ์ตœ๋Œ€ 15ํ•™์ ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”๋ฐ ์šฐ๋ฆฌ ํ•™๊ต ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์žฅ๊ธฐ์ธํ„ด์ผ ๊ฒฝ์šฐ ์ตœ๋Œ€ 12ํ•™์ ์ธ ๊ฒƒ ๊ฐ™๋‹ค! (์ „๊ณต 6ํ•™์  + ์ž์„ , ๊ต์–‘ 6ํ•™์ ) ๋‚œ ์ „๊ณต์‹ฌํ™”์˜€๋Š”๋ฐ ๋”ฑ 6ํ•™์ ์ด ๋ถ€์กฑํ•ด์„œ ๋‹คํ–‰์ธ ๊ฒƒ ๊ฐ™๋‹ค....https://www.ictintern.or.kr/main.do ICT ํ•™์ ์—ฐ๊ณ„ ํ”„๋กœ์ ํŠธ ์ธํ„ด์‹ญICT ํ•™์ ์—ฐ๊ณ„ ํ”„๋กœ์ ํŠธ ์ธํ„ด์‹ญwww.ictintern.or.kr  ๐Ÿ”ถ ์ง€์›์ด 100๊ฐœ๊ฐ€ ๋„˜๋Š” ๊ธฐ์—…์ค‘์— ๋‚ด๊ฐ€ ์ง€์›ํ•˜๊ณ ์ž ํ•˜๋Š” ํšŒ์‚ฌ๋Š” ๊ธฐ์ค€์ด ๋”ฑ ํ•˜๋‚˜์˜€๋‹ค!Springboot๋ฅผ ๋‹ค๋ฃจ๋Š”์ง€!!!!!์Šคํ”„๋ง์„ ๋ณธ๊ฒฉ์ ์œผ๋กœ(?) ๊ณต๋ถ€ํ•œ..

AWS

[Nginx/Spring] Let's Encrypt Https ์„ค์ •

๐Ÿซง AWS์— Nginx๋ฅผ ์„ค์น˜ํ•˜์—ฌ https ์ ์šฉ์„ ํ•ด์ค€๋‹ค 1. nginx ์„ค์น˜ sudo apt-get install -y nginx nginx-common nginx-full 2. ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ apt-get update -y apt-get install software-properties-common -y 3. certbot ์„ค์น˜ apt-get install certbot -y sudo certbot certonly -d [๋„๋ฉ”์ธ ์ฃผ์†Œ] --manual --preferred-challenges dns ๋งŒ์•ฝ์— ๋„๋ฉ”์ธ ์ฃผ์†Œ๊ฐ€ ๋‘๊ฐœ๋ผ๋ฉด ๋’ค์— -d [๋„๋ฉ”์ธ์ฃผ์†Œ] ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค!! ์—ฌ๊ธฐ์„œ ์ด์ œ ์ด๋ฉ”์ผ์„ ์ž‘์„ฑํ•˜๊ณ  ์•ฝ๊ด€ ๋™์˜๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ ๋‚œ ๋‹ค ๋™์˜ํ–ˆ๋‹ค!!! 4. nginx.conf ์„ค์ • sudo vi /etc..

Network

[Network] 401 Error vs 403 Error

๐Ÿ—‚๏ธ HTTPS ์ƒํƒœ์ฝ”๋“œ 5์ข…๋ฅ˜ 1xx (์ •๋ณด, Information) : ์š”์ฒญ์„ ๋ฐ›๊ณ , ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์†ํ•œ๋‹ค. 2xx (์„ฑ๊ณต, Successful) : ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ›๊ณ , ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ๋‹ค. 3xx (๋ฆฌ๋‹ค์ด๋ ‰์…˜, Redirection) : ์š”์ฒญ์„ ์™„๋ฃŒํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ์ž‘์—… ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. 4xx (ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜, Client Error) : ์š”์ฒญ์˜ ์ž˜๋ชป๋œ ๋ฌธ๋ฒ• ๋“ฑ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค. 5xx (์„œ๋ฒ„ ์˜ค๋ฅ˜, Server Error) : ์„œ๋ฒ„๊ฐ€ ์ •์ƒ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. 401 Error VS 403 Error 401 ์—๋Ÿฌ์™€ 403์—๋Ÿฌ๋Š” ๋ชจ๋‘ ์ธ์ฆ์ด ์•ˆ๋์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๐Ÿ”ธ 401 Unauthorized Error ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ๋˜์ง€ ์•Š์•˜์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ์ฆ‰, ๋กœ๊ทธ์ธ์„ ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ, ์š”์ฒญ..

DAHLIA CHOI
'๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (5 Page)