PRG(POST-Redirect-GET) ํŒจํ„ด

    ๐Ÿ’ก PRG ํŒจํ„ด์ด๋ž€? ์›น MVC ๊ตฌ์กฐ์—์„œ ํ”ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ํŒจํ„ด์œผ๋กœ, HTTP POST ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์ด ๋˜ ๋‹ค๋ฅธ URL๋กœ์˜ GET ์š”์ฒญ์„ ์œ„ํ•œ Redirect์—ฌ์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, POST ๋ฐฉ์‹์œผ๋กœ ์˜จ ์š”์ฒญ์— ๋Œ€ํ•ด์„œ GET ๋ฐฉ์‹์˜ ์›นํŽ˜์ด์ง€๋กœ Redirect ์‹œํ‚ค๋Š” ํŒจํ„ด์„ ๋งํ•œ๋‹ค. ๐Ÿ’ก PRG ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์  ์ƒˆ๋กœ๊ณ ์นจ์œผ๋กœ ์ธํ•œ ๋™์ผํ•œ ์š”์ฒญ์ด ์—ฐ์†์ ์œผ๋กœ ๋ณด๋‚ด์ง€๋Š” ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๋งŒ์•ฝ ์ด ์ด์Šˆ๊ฐ€ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋กœ์ง์ด ์žˆ๋Š” ๋ถ€๋ถ„์ด๋ผ๋ฉด ์ƒ๊ด€์—†๊ฒ ์ง€๋งŒ ๊ฒฐ์ œ ๊ฐ™์€ ์ค‘์š”ํ•œ ๋กœ์ง์—์„œ๋Š” ์ค‘๋ณต ๊ฒฐ์ œ๊ฐ€ ์ผ์–ด๋‚˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. POST ์š”์ฒญ์€ URL์„ ๋ณต์‚ฌํ•˜๋”๋ผ๋„ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ๊ณต์œ ํ•  ์ˆ˜ ์—†๋‹ค. POST ์š”์ฒญ์„ ๋ณด๋‚ด๊ฒŒ ๋˜๋ฉด Parameter ๊ฐ’๋“ค์ด URL์— ๋‚จ๊ฒจ์žˆ์ง€ ์•Š๊ธฐ์— ํŠน์ • Par..

    ์„œ๋ธ”๋ฆฟ(Servlet)๊ณผ JSP(Java Server Pages)์˜ ๊ฐœ๋… ๋ฐ ์ฐจ์ด

    Servlet๊ณผ JSP๋Š” Java EE์˜ ์—ฌ๋Ÿฌ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜์ด๋‹ค. Java EE(Enterprise Edition)๋ž€? ๊ธฐ์—…์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์ ํ•ฉํ•œ ์ž๋ฐ” ๊ฐœ๋ฐœ ๋ฒ„์ „์„ ์˜๋ฏธํ•˜๋ฉฐ, Java EE์˜ ์ŠคํŽ™์—๋Š” Servlet, JSP, EJB(Enterprise Java Beans) ๋“ฑ์ด ์žˆ๋‹ค. ์ฐธ๊ณ  : https://doozi316.github.io/java/2020/07/01/WEB20/ 1. Servlet ์„œ๋ธ”๋ฆฟ์€ ์„œ๋ฒ„์—์„œ ์›นํŽ˜์ด์ง€ ๋“ฑ์„ ๋™์ ์œผ๋กœ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฐ”๋กœ ์ž‘์„ฑ๋œ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ฆ‰, ์„œ๋ฒ„์—์„œ ๋™์ ์œผ๋กœ ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” API๋“ค์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ Java ์ฝ”๋“œ ์•ˆ์— HTML ํƒœ๊ทธ๊ฐ€ ์‚ฝ์ž…๋˜๋ฉฐ, ์ž๋ฐ” ์–ธ์–ด๋กœ ๋˜์–ด์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ..

    HTTP์™€ HTTPS

    ๋ธŒ๋ผ์šฐ์ €์˜ ์š”์ฒญ๊ณผ ์„œ๋ฒ„์˜ ์‘๋‹ต ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ๊ทœ์•ฝ์„ 'ํ”„๋กœํ† ์ฝœ(protocol)'์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์›น์—์„œ๋Š” HTTP(Hyper Text Transfer Protocol), HTTPS์˜ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Šต๋‹ˆ๋‹ค. (HTTPS๋Š” HTTP์˜ ๋ณด์•ˆ ๊ฐ•ํ™” ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.) ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด? ํ”„๋กœํ† ์ฝœ ์ •์˜, ๊ธฐ๋ณธ ์š”์†Œ, ์ข…๋ฅ˜, ๊ธฐ๋Šฅ ๐Ÿ“Œ ํ”„๋กœํ† ์ฝœ์ด๋ž€? ํ”„๋กœํ† ์ฝœ(Protocol)์€ ์ปดํ“จํ„ฐ๋‚˜ ๋„คํŠธ์›Œํฌ ์žฅ๋น„๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฏธ๋ฆฌ ์ •ํ•ด ๋†“์€ ์•ฝ์† ๋˜๋Š” ๊ทœ์•ฝ์„ ๋งํ•œ๋‹ค. ๐ŸŒŸ ํ”„๋กœํ† ์ฝœ์˜ ๊ธฐ๋ณธ ์š”์†Œ ๊ตฌ๋ฌธ(Syntax) : ์ „์†กํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ easyhomputer.tistory.com ๐Ÿ“Œ HTTP(Hyper Text Transfer Protocol) HTTP(Hyper Text Transfer P..

    ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„์˜ ๊ด€๊ณ„ - ์š”์ฒญ๊ณผ ์‘๋‹ต, GET/POST ๋ฐฉ์‹, ์ •์ /๋™์  ๋ฐ์ดํ„ฐ

    ๐Ÿ“Œ Request(์š”์ฒญ)์™€ Reponse(์‘๋‹ต) ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„๋Š” ์š”์ฒญ๊ณผ ์‘๋‹ต์ด๋ผ๋Š” ๋™์ž‘์œผ๋กœ ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ด€๊ณ„์ž…๋‹ˆ๋‹ค. Request : ๋ธŒ๋ผ์šฐ์ €์—์„œ ์„œ๋ฒ„์—๊ฒŒ ํŠน์ •ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ. Reponse : ์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ๋ณด๋‚ด๋Š” ๊ฒƒ. ๐Ÿ“Œ GET/POST ๋ฐฉ์‹ ์ฃผ๋กœ ๋ธŒ๋ผ์šฐ์ €๋Š” GET/POST ๋ฐฉ์‹์„ ์ด์šฉํ•˜์—ฌ Request(์š”์ฒญ)ํ•ฉ๋‹ˆ๋‹ค. GET ๋ฐฉ์‹ : ์ฃผ์†Œ์ฐฝ์— ์ง์ ‘ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ ๊ฑฐ๋‚˜ ๋งํฌ๋ฅผ ํด๋ฆญํ•ด์„œ ํ˜ธ์ถœ ์›ํ•˜๋Š” ์›น์˜ ์ฃผ์†Œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ "?"์™€ "&,="๋ฅผ ์ด์šฉํ•ด์„œ ๊ฐ™์ด ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์†Œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๊ฐ™์ด ๋ณด๋‚ด๋ฏ€๋กœ ๋‹จ์ˆœ ๋งํฌ๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด, ์ฃผ์†Œ ์•ˆ์— ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. GET๋ฐฉ์‹์€ ์ฃผ๋กœ ํŠน์ •ํ•œ..

    JWT(JSON Web Token)

    JWT(JSON Web Token)๋ž€ ์ธ์ฆ์— ํ•„์š”ํ•œ ์ •๋ณด๋“ค์„ ์•”ํ˜ธํ™”์‹œํ‚จ JSON ํ† ํฐ์ด๋‹ค. JWT ํ† ํฐ(Access Token)์„ HTTP ํ—ค๋”์— ์‹ค์–ด ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ธ์ฆํ•œ๋‹ค. JWT๋Š” JSON ๋ฐ์ดํ„ฐ๋ฅผ Base64 URL-safe Encode ๋ฅผ ํ†ตํ•ด ์ธ์ฝ”๋”ฉํ•˜์—ฌ ์ง๋ ฌํ™”ํ•œ ๊ฒƒ์ด๋ฉฐ, ํ† ํฐ ๋‚ด๋ถ€์—๋Š” ์œ„๋ณ€์กฐ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ๊ฐœ์ธํ‚ค๋ฅผ ํ†ตํ•œ ์ „์ž์„œ๋ช…๋„ ๋“ค์–ด์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž๊ฐ€ JWT ๋ฅผ ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๋ฉด ์„œ๋ฒ„๋Š” ์„œ๋ช…์„ ๊ฒ€์ฆํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์น˜๊ฒŒ ๋˜๋ฉฐ ๊ฒ€์ฆ์ด ์™„๋ฃŒ๋˜๋ฉด ์š”์ฒญํ•œ ์‘๋‹ต์„ ๋Œ๋ ค์ค€๋‹ค. โ” Base64 URL-safe Encode ์ผ๋ฐ˜์ ์ธ Base64 Encode ์—์„œ URL ์—์„œ ์˜ค๋ฅ˜์—†์ด ์‚ฌ์šฉํ•˜๋„๋ก '+', '/' ๋ฅผ ๊ฐ๊ฐ '-', '_' ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋‹ค. ๐Ÿ’ก JWT์˜ ๊ตฌ์กฐ JWT๋Š” . ์„..

    ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ ๋ฐฉ์‹ - Cookie, Session, Token

    ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹์€ ๋Œ€ํ‘œ์ ์œผ๋กœ ์ฟ ํ‚ค, ์„ธ์…˜, ํ† ํฐ 3๊ฐ€์ง€ ๋ฐฉ์‹์ด ์žˆ๋‹ค. ๐Ÿ“Œ Cookie ์ฟ ํ‚ค๋Š” Key-Value ํ˜•์‹์˜ ๋ฌธ์ž์—ด ๋ฉ์–ด๋ฆฌ๋กœ, ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋– ํ•œ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•  ๊ฒฝ์šฐ, ๊ทธ ์‚ฌ์ดํŠธ๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์˜ ๋ธŒ๋ผ์šฐ์ €์— ์„ค์น˜๋˜๋Š” ์ž‘์€ ๊ธฐ๋ก ์ •๋ณด ํŒŒ์ผ์ด๋‹ค. ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ €์žฅํ•˜๊ณ ์ž ํ•˜๋Š” ์ •๋ณด๋ฅผ ์‘๋‹ต ํ—ค๋”(Cookie)์— ์ €์žฅํ•˜์—ฌ ์ „๋‹ฌํ•œ๋‹ค. ๊ฐ ์‚ฌ์šฉ์ž๋งˆ๋‹ค์˜ ๋ธŒ๋ผ์šฐ์ €์— ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์—ฌ ๊ณ ์œ  ์ •๋ณด ์‹๋ณ„์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๐Ÿ’ก ์ธ์ฆ ๋ฐฉ์‹ ๋ธŒ๋ผ์šฐ์ €(ํด๋ผ์ด์–ธํŠธ)๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ(์ ‘์†)์„ ๋ณด๋‚ธ๋‹ค. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ์ž‘์„ฑํ•  ๋•Œ, ํด๋ผ์ด์–ธํŠธ ์ธก์— ์ €์žฅํ•˜๊ณ  ์‹ถ์€ ์ •๋ณด๋ฅผ ์‘๋‹ต ํ—ค๋”์˜ Set-Cookie์— ๋‹ด๋Š”๋‹ค. ์ดํ›„ ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ๋งˆ๋‹ค, ๋งค..

    CI/CD๋ž€?

    ๐Ÿ“Œ CI/CD๋ž€?๋งค๋ฒˆ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ๋นŒ๋“œ์™€ ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ณ  ๋ฐฐํฌ๊นŒ์ง€ ํ•œ๋‹ค๋ฉด ์ƒ๋‹นํžˆ ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ์š”๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ git์— ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ๋นŒ๋“œ์™€ ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ๊นŒ์ง€ ํ•ด์ค€๋‹ค๋ฉด, ์“ธ๋ฐ์—†๋Š” ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ค๊ณ  ๊ฐœ๋ฐœ์— ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ํˆฌ์žํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ๋ฐฉ๋ฒ•์ด CI/CD์ด๋‹ค.CI/CD ์„œ๋น„์Šค๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ถ•, ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐฐํฌ์— ์ž๋™ํ™”๋ฅผ ์ ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ ๋ฐ ์šด์˜ ํ™œ๋™๊ณผ ํŒ€ ๊ฐ„์˜ ๊ฒฉ์ฐจ๋ฅผ ํ•ด์†Œํ•œ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋“  ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ปดํŒŒ์ผํ•œ ๋‹ค์Œ ์ด๋ฅผ ์†Œํ”„ํŠธ์›จ์–ด ๊ฒฐ๊ณผ๋ฌผ์— ์—ฐ๊ฒฐํ•˜๊ณ  ํŒจํ‚ค์ง•ํ•˜๊ณ , ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ๋Šฅ์„ ํ™•์ธํ•˜์—ฌ ์ž๋™ํ™”๋œ ๋ฐฐํฌ ์„œ๋น„์Šค๋กœ ์ด๋ฅผ ์ตœ์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•œ๋‹ค.๋ชฉํ‘œ๋Š” ์กฐ๊ธฐ ๊ฒฐํ•จ ๋ฐœ๊ฒฌ์„ ๋†’์ด๊ณ  ์ƒ์‚ฐ์„ฑ์„ ๋†’์ด๋ฉฐ ๋” ๋น ๋ฅธ ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ๋ฅผ ์ œ๊ณตํ•˜๋Š”..

    ๋น„ํŠธ๋‚˜๋ฏธ(Bitnami) WAMP ์„ค์น˜ํ•˜๊ธฐ

    ๐Ÿ“Œ Bitnami(๋น„ํŠธ๋‚˜๋ฏธ)๋ž€? ๋น„ํŠธ๋‚˜๋ฏธ(Bitnami)๋Š” ๊ฐ€์ƒ ์–ดํ”Œ๋ผ์ด์–ธ์Šค ๋ฐ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, ๊ฐœ๋ฐœ ์Šคํƒ์šฉ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€ ๋ฐ ์„ค์น˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. WAMP(Windows/Apache/MySQL/PHP) : ์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ ์•„ํŒŒ์น˜(Server), MySQL(DB), PHP(์„œ๋ฒ„์‚ฌ์ด๋“œ)์™€ ๊ฐ™์€ ์›น ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ํ†ตํ•ฉ์ ์œผ๋กœ ๊ตฌ์ถ•ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ MAMP(Mac/Apache/MySQL/PHP) : ๋งฅ ํ™˜๊ฒฝ์—์„œ ์•„ํŒŒ์น˜(Server), MySQL(DB), PHP(์„œ๋ฒ„์‚ฌ์ด๋“œ)์™€ ๊ฐ™์€ ์›น ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ํ†ตํ•ฉ์ ์œผ๋กœ ๊ตฌ์ถ•ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ ๐Ÿ“Œ Bitnami(๋น„ํŠธ๋‚˜๋ฏธ) ์„ค์น˜ํ•˜๊ธฐ > bitnami.com/stack/wamp/installer Infrastructure Bitnami Application Catalog Develop..

    ๋ฆฌ๋ˆ…์Šค ๊ธฐ์ดˆ, CLI์™€ GUI ๐Ÿง

    ๐Ÿ“Œ Linux ๐ŸŒŸ ์ฃผ์š” ๋ช…๋ น์–ด pwd(print working directory) : ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋””๋ ‰ํ† ๋ฆฌ ์ •๋ณด ์ถœ๋ ฅ cd(change directory) : ๊ฒฝ๋กœ ์ด๋™ ls(list segments) : ๋””๋ ‰ํ† ๋ฆฌ ๋ชฉ๋ก ํ™•์ธ mkdir(make directory) : ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ rm(remove) : ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ ์‚ญ์ œ ์ด์™ธ์—๋„ touch(์ตœ๊ทผ ์ˆ˜์ • ์ผ์ž ๋ณ€๊ฒฝ), cat, head, tail, find ๋“ฑ ๋งค์šฐ ๋‹ค์–‘ํ•˜๋‹ค. ์ž์ฃผ ์“ฐ์ด๋Š” ๊ฑด ์™ธ์›Œ์ง€๊ฒ ์ง€๋งŒ ๋‚˜๋จธ์ง€๋Š” ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์ฐพ์•„์“ฐ๋„๋ก ํ•˜์ž. ๊ฐ ๋ช…๋ น์–ด๋งˆ๋‹ค ์—ฌ๋Ÿฌ ์˜ต์…˜์ด ์กด์žฌํ•œ๋‹ค. ์ด๊ฒƒ๋„ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์ฐพ์•„์“ฐ์ž. ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด ๋ชจ์Œ BEST 50 ์ดˆ๋ณด์ž ๋ฐ ์ „๋ฌธ๊ฐ€์šฉ - ๋„๋ผ๊ฐ€์ด๋“œ ๐ŸŒŸ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ๊ตฌ๋ถ„์ž ‘/’(์Šฌ๋ž˜์‹œ) ์—ญํŠธ๋ฆฌ ๊ตฌ์กฐ ๋ฆฌ๋ˆ…์Šค ํŒŒ์ผ์‹œ์Šคํ…œ..

    Web Server์™€ WAS โœ

    ๐Ÿ“Œ Web Server ๐ŸŒŸ ์ •์˜ ํด๋ผ์ด์–ธํŠธ(์‚ฌ์šฉ์ž)๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ณด๋‚ด๋Š” HTTP ์š”์ฒญ์„ ๋ฐ›์•„ ์ •์  ์ปจํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„. ๐ŸŒŸ ๊ธฐ๋Šฅ ์›น ๋ฌธ์„œ๋“ค์„ HTTP ๊ทœ์•ฝ์— ๋”ฐ๋ผ ์›น ํด๋ผ์ด์–ธํŠธ์™€ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉฐ ํ†ต์‹ . HTML, CSS, JavaScript, ์ด๋ฏธ์ง€, ํŒŒ์ผ ๋“ฑ ์ฆ‰์‹œ ์‘๋‹ต๊ฐ€๋Šฅํ•œ ์ •์  ์ปจํ…์ธ  ์ œ๊ณต. ๋™์  ์ปจํ…์ธ  ์š”์ฒญ ์‹œ WAS์—๊ฒŒ ํ•ด๋‹น ์š”์ฒญ์„ ๋„˜๊ฒจ์ฃผ๊ณ , WAS์—์„œ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌ. ๐ŸŒŸ ์ข…๋ฅ˜ Apache IIS nginx ๐Ÿ“Œ WAS (Web Application Server) ๐ŸŒŸ ์ •์˜ ์›น ์„œ๋ฒ„์™€ ์›น ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํ•ฉ์ณ์ง„ ํ˜•ํƒœ๋กœ, ์›น ์„œ๋ฒ„ ๋‹จ๋…์œผ๋กœ๋Š” ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋Š” ๋™์  ์„œ๋ฒ„ ์ปจํ…์ธ ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์„œ๋ฒ„. ์ฃผ๋กœ DB ์„œ๋ฒ„์™€ ๊ฐ™์ด ์ˆ˜ํ–‰. HTTP๋ฅผ ํ†ตํ•ด ์ปดํ“จํ„ฐ๋‚˜ ์žฅ์น˜์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ˆ˜ํ–‰ํ•ด์ฃผ๋Š” ๋ฏธ๋“ค..