๐Ÿ”จ Development/Backend

    [ API ] ํ”„๋กœ์ ํŠธ API ๋ฌธ์„œํ™” DEVLOG

    # Reference LINE Engineering - ๋ฌธ์„œ ์—”์ง€๋‹ˆ์–ด๋ง๊ณผ API ๋ฌธ์„œํ™” by ์ „์ •์€ https://engineering.linecorp.com/ko/blog/document-engineering-api-documentation/ ๋ฌธ์„œ ์—”์ง€๋‹ˆ์–ด๋ง๊ณผ API ๋ฌธ์„œํ™” - LINE ENGINEERING ํ…Œํฌ๋‹ˆ์ปฌ ๋ผ์ดํ„ฐ(technical writer)๋ผ๋Š” ๋ง์„ ๋“ค์œผ๋ฉด ๋Œ€๋ถ€๋ถ„ '๋ผ์ดํ„ฐ'๋ผ๋Š” ๋‹จ์–ด๋งŒ ๋ณด๊ณ  '๊ธ€ ์“ฐ๋Š” ์‚ฌ๋žŒ'์ด๋ผ ์ƒ๊ฐํ•˜๊ธฐ ์‹ญ์ƒ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ํ‹€๋ฆฐ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ์‹ค์ƒ ํ‚ค๋ณด๋“œ๋ฅผ ๋‘๋“œ๋ฆฌ๋ฉฐ ๊ธ€ ์“ฐ๋Š” ์ผ์ด ํ…Œ engineering.linecorp.com API ๋ ˆํผ๋Ÿฐ์Šค ๋ฌธ์„œ ์ œ์ž‘ ํŠธ๋ Œ๋“œ ๋ฐ ๋„๊ตฌ ์กฐ์‚ฌ by ์ง€๋‹จ๋กœ๋ณดํŠธ https://jsonobject.tistory.com/355 API ๋ ˆํผ๋Ÿฐ์Šค ๋ฌธ์„œ..

    [ Server ] CSP

    ๋ฐฐ๊ฒฝ์ง€์‹ * HTTP: HyperText Transfer Protocol์˜ ์•ฝ์ž๋กœ, ์ธํ„ฐ๋„ท์—์„œ ์ •๋ณด๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ (๊ทœ์•ฝ)์ž…๋‹ˆ๋‹ค. HTML๋ฌธ์„œ ์†ก์ˆ˜์‹ ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. * REST API: Repersentational State Trasfer API์˜ ์•ฝ์ž๋กœ, REST๋ผ๋Š” ๊ทœ์น™์— ๋งž์ถฐ ๊ฐœ๋ฐœ ๋ฐ ์ œ๊ณต๋˜๋Š” API๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. * API: Application Programming Interface์˜ ์•ฝ์ž๋กœ, ํŠน์ • ์„œ๋น„์Šค๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž์‹ ๋“ค์˜ ์„œ๋น„์Šค ๋‚ด๋ถ€์˜ ๊ธฐ๋Šฅ๋“ค์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด๋†“์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. * XSS (Cross Site Scripting): ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ด€๋ฆฌ์ž๊ฐ€ ์•„๋‹Œ ๊ถŒํ•œ์ด ์—†๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฝ์ž…ํ•˜๋Š” ๊ณต๊ฒฉ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. HTML input ..

    [ Server ] CORS

    ๋ฐฐ๊ฒฝ์ง€์‹ * HTTP: HyperText Transfer Protocol์˜ ์•ฝ์ž๋กœ, ์ธํ„ฐ๋„ท์—์„œ ์ •๋ณด๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ (๊ทœ์•ฝ)์ž…๋‹ˆ๋‹ค. HTML๋ฌธ์„œ ์†ก์ˆ˜์‹ ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. * REST API: Repersentational State Trasfer API์˜ ์•ฝ์ž๋กœ, REST๋ผ๋Š” ๊ทœ์น™์— ๋งž์ถฐ ๊ฐœ๋ฐœ ๋ฐ ์ œ๊ณต๋˜๋Š” API๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. * API: Application Programming Interface์˜ ์•ฝ์ž๋กœ, ํŠน์ • ์„œ๋น„์Šค๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž์‹ ๋“ค์˜ ์„œ๋น„์Šค ๋‚ด๋ถ€์˜ ๊ธฐ๋Šฅ๋“ค์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด๋†“์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ต์ฐจ ์ถœ์ฒ˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ  (Cross Origin Resource Sharing) ํ•œ๋งˆ๋””๋กœ "๋‹ค๋ฅธ ์‚ฌ์ดํŠธ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๋ถ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์ •์ฑ…"์ž…๋‹ˆ๋‹ค. ์›น์ƒ์— ์กด์žฌํ•˜๋Š” ๋ฐ์ด..

    [ Server ] Cookie vs Session (+JWT)

    ๋ฐฐ๊ฒฝ์ง€์‹ * HTTP: HyperText Transfer Protocol์˜ ์•ฝ์ž๋กœ, ์ธํ„ฐ๋„ท์—์„œ ์ •๋ณด๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ (๊ทœ์•ฝ)์ž…๋‹ˆ๋‹ค. HTML๋ฌธ์„œ ์†ก์ˆ˜์‹ ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. * REST API: Repersentational State Trasfer API์˜ ์•ฝ์ž๋กœ, REST๋ผ๋Š” ๊ทœ์น™์— ๋งž์ถฐ ๊ฐœ๋ฐœ ๋ฐ ์ œ๊ณต๋˜๋Š” API๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. * API: Application Programming Interface์˜ ์•ฝ์ž๋กœ, ํŠน์ • ์„œ๋น„์Šค๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž์‹ ๋“ค์˜ ์„œ๋น„์Šค ๋‚ด๋ถ€์˜ ๊ธฐ๋Šฅ๋“ค์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด๋†“์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. Server - Client์˜ ์—ฐ๊ฒฐ์œ ์ง€ ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ ์ •๋ณด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€, ์–ด๋–ค ํ–‰๋™์„ ํ–ˆ๋Š”์ง€๋ฅผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ..

    [ REST API ] HTTP Methods

    ๋ฐฐ๊ฒฝ์ง€์‹ * HTTP: HyperText Transfer Protocol์˜ ์•ฝ์ž๋กœ, ์ธํ„ฐ๋„ท์—์„œ ์ •๋ณด๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ (๊ทœ์•ฝ)์ž…๋‹ˆ๋‹ค. HTML๋ฌธ์„œ ์†ก์ˆ˜์‹ ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. * REST API: Repersentational State Trasfer API์˜ ์•ฝ์ž๋กœ, REST๋ผ๋Š” ๊ทœ์น™์— ๋งž์ถฐ ๊ฐœ๋ฐœ ๋ฐ ์ œ๊ณต๋˜๋Š” API๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. * API: Application Programming Interface์˜ ์•ฝ์ž๋กœ, ํŠน์ • ์„œ๋น„์Šค๋‚˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž์‹ ๋“ค์˜ ์„œ๋น„์Šค ๋‚ด๋ถ€์˜ ๊ธฐ๋Šฅ๋“ค์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด๋†“์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. HTTP Methods HTTP Methods๋ž€ ์‰ฝ๊ฒŒ๋งํ•ด HTTP ํ”„๋กœํ† ์ฝœ ์ƒ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค๊ฐ€๊ธฐ์œ„ํ•œ ๋ฐฉ์‹์„ ๋งํ•ฉ๋‹ˆ๋‹ค. HTTP ์ž์ฒด๋„ ํ”„๋กœํ† ์ฝœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ „์†ก๋ฐฉ๋ฒ•์„ ๋‚˜ํƒ€๋‚ด๋Š”๊ฒƒ์ด..