๋ชฉ๋ก๐Ÿ‘ฉ‍๐Ÿ’ป ๋ฐฑ์—”๋“œ(Back-End)/Node js (108)

๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[Express ์›น ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ] (2) ๋ฏธ๋“ค์›จ์–ด ์ข…๋ฅ˜ & multer ์‚ฌ์šฉํ•˜๊ธฐ

๐ŸŽ€ ๋‹ค์–‘ํ•œ ๋ฏธ๋“ค์›จ์–ด ๐ŸŒˆ dotenv : .env ํŒŒ์ผ์„ ์ฝ์–ด์„œ process.env๋กœ ๋งŒ๋“ ๋‹ค ๐ŸŒˆ morgan : ๋กœ๊ทธ ์ถœ๋ ฅ ex) combined, common, short, tiny // dev [HTTP ๋ฉ”์„œ๋“œ] [์ฃผ์†Œ] [HTTP ์ƒํƒœ ์ฝ”๋“œ] [์‘๋‹ต ์†๋„]-[์‘๋‹ต ๋ฐ”์ดํŠธ] ๐ŸŒˆ static : ์ •์ ์ธ ํŒŒ์ผ๋“ค์„ ์ œ๊ณตํ•˜๋Š” ๋ผ์šฐํ„ฐ ์—ญํ•  : ํ•จ์ˆ˜์˜ ์ธ์ˆ˜๋กœ ์ •์  ํŒŒ์ผ๋“ค์ด ๋‹ด๊ฒจ ์žˆ๋Š” ํด๋”๋ฅผ ์ง€์ •ํ•œ๋‹ค ๐ŸŒˆ body-parser : ์š”์ฒญ์˜ ๋ณธ๋ฌธ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์„ํ•ด์„œ req.body ๊ฐ์ฒด๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋ฏธ๋“ค์›จ์–ด : ํผ ๋ฐ์ดํ„ฐ๋‚˜ AJAX ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ // ์š”์ฒญ์˜ ๋ณธ๋ฌธ์ด ๋ฒ„ํผ ๋ฐ์ดํ„ฐ ์ผ ๋•Œ app.use(bodyParser.raw()); // ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์ผ ๋•Œ ํ•ด์„ app.use(bodyParser.text()); /..

[http ๋ชจ๋“ˆ๋กœ ์„œ๋ฒ„] (3) ์„œ๋ฒ„์—์„œ ์ฟ ํ‚ค ๋งŒ๋“ค์–ด ์š”์ฒญ์ž์˜ ๋ธŒ๋ผ์šฐ์ €์— ๋„ฃ๊ธฐ + ์„ธ์…˜์ฟ ํ‚ค

๐ŸŽ€ ์ฟ ํ‚ค : ์œ ํšจ ๊ธฐ๊ฐ„์ด ์žˆ์œผ๋ฉฐ name=zerocho ์™€ ๊ฐ™์ด ๋‹จ์ˆœํ•œ "ํ‚ค-๊ฐ’" ์˜ ์Œ : ์„œ๋ฒ„๋Š” ๋ฏธ๋ฆฌ ํด๋ผ์ด์–ธํŠธ์— ์š”์ฒญ์ž๋ฅผ ์ถ”์ •ํ•  ๋งŒํ•œ ์ •๋ณด๋ฅผ ์ฟ ํ‚ค๋กœ ๋งŒ๋“ค์–ด ๋ณด๋‚ด๊ณ , ๊ทธ ๋‹ค์Œ์—๋Š” ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์ฟ ํ‚ค๋ฅผ ๋ฐ›์•„ ์š”์ฒญ์ž๋ฅผ ํŒŒ์•… : ์š”์ฒญ์˜ ํ—ค๋”(Cookie)์— ๋‹ด๊ฒจ ์ „์†ก : ๋ธŒ๋ผ์šฐ์ €๋Š” ์‘๋‹ต์˜ ํ—ค๋”(Set-Cookie)์— ๋”ฐ๋ผ ์ฟ ํ‚ค ์ €์žฅ // ๋ฌธ์ž์—ด ํ˜•์‹์œผ๋กœ ์กด์žฌ, ์ฟ ํ‚ค ๊ฐ„์— ; ๋กœ ๊ตฌ๋ถ„ name=zerocho;year=1995 ๐ŸŽ€ ์ฟ ํ‚ค๋กœ ์‚ฌ์šฉ์ž ์‹๋ณ„ํ•˜๊ธฐ ๐ŸŒฟ cookie2.html ๋กœ๊ทธ์ธ ๐ŸŒฟ cookie2.js const http = require("http"); const fs = require("fs").promises; const url = require("url"); const qs = require(..

[http ๋ชจ๋“ˆ๋กœ ์„œ๋ฒ„] (2) REST๋กœ RESTful ํ•œ ์›น ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ

๐ŸŽ€ REST (REpresentational State Transfer) : ์„œ๋ฒ„์˜ ์ž์›์„ ์ •์˜ํ•˜๊ณ  ์ž์›์— ๋Œ€ํ•œ ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• ๐ŸŽ€ RESTful : REST๋ฅผ ๋”ฐ๋ฅด๋Š” ์„œ๋ฒ„ ๐ŸŽ€ HTTP ์š”์ฒญ ๋ฉ”์„œ๋“œ GET : ์„œ๋ฒ„ ์ž์›์„ ๊ฐ€์ ธ์˜ค๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ POST : ์„œ๋ฒ„์— ์ž์›์„ ์ƒˆ๋กœ ๋“ฑ๋กํ•  ๋•Œ ์‚ฌ์šฉ PUT : ์„œ๋ฒ„์˜ ์ž์›์„ ์š”์ฒญ์— ๋“ค์–ด ์žˆ๋Š” ์ž์›์œผ๋กœ ์น˜ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉ PATCH : ์„œ๋ฒ„ ์ž์›์˜ ์ผ๋ถ€๋งŒ ์ˆ˜์ •ํ•  ๋•Œ ์‚ฌ์šฉ DELETE : ์„œ๋ฒ„์˜ ์ž์›์„ ์‚ญ์ œ ํ•  ๋•Œ ์‚ฌ์šฉ OPTIONS : ์š”์ฒญ์„ ํ•˜๊ธฐ ์ „์— ํ†ต์‹  ์˜ต์…˜ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ๐ŸŽ€ REST๋กœ RESTful ํ•œ ์›น ์„œ๋ฒ„ ๋งŒ๋“ค๊ธฐ ๐ŸŒฟ about.html Home About ์†Œ๊ฐœ ํŽ˜์ด์ง€ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ๋“ฑ๋กํ•˜์„ธ์š”! ๐ŸŒฟ restFront.html Home About ..