2020-11-25(Wed)

  1. ํ•™์Šต ๋‚ ์งœ // 2020-11-25(์ˆ˜)

  2. ํ•™์Šต์‹œ๊ฐ„ // 9:00~22:00

  3. ํ•™์Šต ๋ฒ”์œ„ ๋ฐ ์ฃผ์ œ // Webserv ์—๋Ÿฌ์žก๊ธฐ

  4. ๋™๋ฃŒ ํ•™์Šต ๋ฐฉ๋ฒ• // sanam, yohai๋‹˜๊ณผ ํ† ์˜

  5. ํ•™์Šต ๋ชฉํ‘œ // webserv ์—๋Ÿฌ๋ฅผ ์žก๋Š”๋‹ค.

  6. ์ƒ์„ธ ํ•™์Šต ๋‚ด์šฉ

image
image-20201129220832889

๋‚ด ์ถ”์ธก์ด ์˜ณ์•˜๋‹ค.

์š”์ฒญ์„ ๋ฐ›์„ ๋•Œ ์†๋„๋ฅผ ์œ„ํ•ด BUFFER_SIZE๋งŒํผ ์ฝ๊ณ  ๊ทธ ์•ˆ์— ํฌํ•จ๋œ request_line๊ณผ headers์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๊ฒ ๋‹ค๊ณ  ์ƒ์ •ํ•˜์—ฌ receiveRequestWithoutBody ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์—ˆ๋˜ ๋ฐ” ์žˆ๋‹ค.

๋ฌธ์ œ๋Š” ์šฐ๋ฆฌ ์˜ˆ์ƒ๋Œ€๋กœ ์š”์ฒญ์ด ๋“ค์–ด์˜ค์ง€ ์•Š๋Š” ๊ฒฝ์šฐ-request_line๋งŒ ํฌํ•จ๋œ ๊ฒฝ์šฐ, request_line์ด ํฌํ•จ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, headers๋งŒ ํฌํ•จ๋œ ๊ฒฝ์šฐ, ํฌํ•จ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ๋‘˜๋‹ค ํ•จ๊ป˜ ํฌํ•จ๋œ ๊ฒฝ์šฐ, ๋‘˜๋‹ค ํ•จ๊ป˜ ํฌํ•จ๋˜์—ˆ๋Š”๋ฐ headers๋Š” ๋๊นŒ์ง€ ํฌํ•จ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋“ฑ๋“ฑ-์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋งŽ๋‹ค๋ณด๋‹ˆ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•ด์ง€๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋งŽ์•„์ง€๋Š” ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํŠนํžˆ CRLF๊ฐ€ ์ฝ์–ด์˜จ ๋ฐ์ดํ„ฐ์˜ ๋์— ๊ฑธ๋ฆฐ๋‹ค๋ฉด ๋ฐ”๋กœ recv๋ฅผ ํ•œ์นธ๋งŒ ๋” ํ•ด์„œ ํ™•์ธํ•ด๋ณด๋ฉด ์ข‹์„ํ…๋ฐ subject ์ œ์•ฝ์— ๋”ฐ๋ผ select ๊ฑฐ์ณ์„œ recv๋ฅผ ํ•ด์•ผํ•œ๋‹ค๋Š” ์ , errno ์ฒดํฌ๋„ ๋ชปํ•œ๋‹ค๋Š” ์ ์—์„œ ๋งค์šฐ ๋ถ„๊ธฐ๊ฐ€ ๋ณต์žกํ•ด์ง„๋‹ค. ํ•˜๋‚˜์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋ฌธ์ œ๊ฐ€ ํ„ฐ์ง€๋Š” ๊ฒƒ์ด ์ด ๋•Œ๋ฌธ์ด๋‹ค.

๊ทธ๋ž˜์„œ, ์šฐ์„  ์„ค๊ณ„๋ถ€ํ„ฐ ๋ฐ”๊พธ๊ธฐ๋กœ ํ•˜์˜€๋‹ค.

์‹œ์ž‘์€ recevieRequestWithoutBody๋ฅผ receiveRequestLine๊ณผ receiveRequestHeaders๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ๋ถ€ํ„ฐ ํ–ˆ๋Š”๋ฐ ๊ต‰์žฅํžˆ ๋งŒ์กฑ์Šค๋Ÿฝ๊ฒŒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

  1. ํ•™์Šต ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ฐœ์ธ์ ์ธ ์ดํ‰

์—ญ์‹œ ๋ฌธ์ œ๋ฅผ ๋ฐ”๋ผ๋ณผ ๋•Œ ์šฐ์„  ๊ตฌ์กฐํ™”ํ•ด์„œ ์ชผ๊ฐœ๋ณด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๋ฒˆ ๋ฌธ์ œ๋Š” ๊ทธ๋ ‡๊ฒŒ ํ•ด๋„ ์ž˜ ํ•ด๊ฒฐ์ด ๋˜์ง€ ์•Š์•„์„œ ๋ถ„์„ํ•ด๋ณด์•˜๋”๋‹ˆ, ์ชผ๊ฐœ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ•˜๋‚˜์˜ ํ•จ์ˆ˜๋กœ ํ•œ๊บผ๋ฒˆ์— ํ•ด๊ฒฐํ•˜๋ ค๋‹ค๋ณด๋‹ˆ ์ง€์ง€๋ถ€์ง„ํ–ˆ๋‹ค๋Š”๊ฒŒ ๋“œ๋Ÿฌ๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ชผ๊ฐœ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ•จ์ˆ˜๋ฅผ ์ชผ๊ฐœ์–ด ๋Œ€์‘ํ•˜์˜€๋”๋‹ˆ ๊ตฌ์กฐ๊ฐ€ ์ง๊ด€์ ์œผ๋กœ ๋ฐ”๋€Œ๊ณ  ๊ฐ€๋…์„ฑ๋„ ์ข‹์•„์ง„๊ฒŒ ๋А๊ปด์ง‘๋‹ˆ๋‹ค. ์Šฌ์Šฌ ๋์ด๋ณด์ด๋„ค์š”.

๋‹ค์Œ ํ•™์Šต ๊ณ„ํš

  • Webserv ์˜ค๋ฅ˜์žก๊ธฐ

Last updated

Was this helpful?