๐Ÿ“’ 8์ฃผ์ฐจ | ํ€ด์ฆˆ | ๋ชจ๋ฒ” ๋‹ต์•ˆ

์ด์ˆœ๊ฐ„ยท2025๋…„ 5์›” 6์ผ
1

Preparing for the quiz

๋ชฉ๋ก ๋ณด๊ธฐ
7/12

โœ… 1. HTTP GET ์š”์ฒญ๊ณผ POST ์š”์ฒญ์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ด๋ฉฐ, ์ด๊ฒƒ์ด ์š”์ฒญ ํ—ค๋”๋‚˜ ๋ฐ์ดํ„ฐ ์ „์†ก์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๊นŒ?

๋‹ต์•ˆ
GET ์š”์ฒญ์€ ๋ฐ์ดํ„ฐ๋ฅผ URL์˜ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์— ํฌํ•จํ•˜์—ฌ ์ „์†กํ•˜๊ณ ,
POST ์š”์ฒญ์€ ๋ฐ์ดํ„ฐ๋ฅผ HTTP ์š”์ฒญ ๋ณธ๋ฌธ(Body)์— ๋‹ด์•„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ GET์€ ๊ธธ์ด ์ œํ•œ๊ณผ ๋…ธ์ถœ ์œ„ํ—˜์ด ์žˆ์œผ๋ฉฐ,
POST๋Š” ๊ธธ์ด ์ œํ•œ์ด ์—†๊ณ , ํ—ค๋”์™€ ๋ณธ๋ฌธ์ด ๋ถ„๋ฆฌ๋˜์–ด ๋” ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.


โœ… 2. HTTP ์‘๋‹ต ์ฝ”๋“œ 404์˜ ์˜๋ฏธ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์„ ๋•Œ ๋ฐ˜ํ™˜ํ•˜๋Š” HTTP ์ƒํƒœ ์ฝ”๋“œ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹ต์•ˆ

  • 404 Not Found: ์š”์ฒญํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์„œ๋ฒ„์—์„œ ์ฐพ์„ ์ˆ˜ ์—†์Œ
  • 500 Internal Server Error: ์„œ๋ฒ„ ๋‚ด๋ถ€์—์„œ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ๋ฐ˜ํ™˜

โœ… 3. ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ(File Descriptor)๋ž€ ๋ฌด์—‡์ธ์ง€ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜๊ณ  UNIX/Linux ์‹œ์Šคํ…œ์—์„œ ํ‘œ์ค€ ์ž…์ถœ๋ ฅ/์—๋Ÿฌ์˜ ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ ๋ฒˆํ˜ธ๋ฅผ ์“ฐ์„ธ์š”.

๋‹ต์•ˆ
ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ๋Š” ํŒŒ์ผ, ์†Œ์ผ“, ํŒŒ์ดํ”„ ๋“ฑ์˜ ์ž…์ถœ๋ ฅ ์ž์›์„ ์‹๋ณ„ํ•˜๋Š” ์ •์ˆ˜๊ฐ’์ž…๋‹ˆ๋‹ค.

์ด๋ฆ„๋ฒˆํ˜ธ
stdin0
stdout1
stderr2

โœ… 4. TCP์—์„œ์˜ '3-way handshake' ์ ˆ์ฐจ๋ฅผ ์„ค๋ช…ํ•˜์„ธ์š”.

๋‹ต์•ˆ
1. ํด๋ผ์ด์–ธํŠธ โ†’ ์„œ๋ฒ„: ์—ฐ๊ฒฐ ์š”์ฒญ (SYN)
2. ์„œ๋ฒ„ โ†’ ํด๋ผ์ด์–ธํŠธ: ์š”์ฒญ ์ˆ˜๋ฝ ๋ฐ ์‘๋‹ต (SYN-ACK)
3. ํด๋ผ์ด์–ธํŠธ โ†’ ์„œ๋ฒ„: ์ˆ˜๋ฝ ํ™•์ธ (ACK)

์ด 3๋‹จ๊ณ„๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ์ด ์„ค์ •๋˜๋ฉฐ, ์ด๋ฅผ 3-way handshake๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.


โœ… 5. TCP์™€ UDP์—์„œ ํŒจํ‚ท ์†์‹ค ์‹œ ๋Œ€์ฒ˜ ๋ฐฉ๋ฒ•์—๋Š” ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋‚˜์š”?

๋‹ต์•ˆ

  • TCP๋Š” ํŒจํ‚ท ์†์‹ค ์‹œ ์žฌ์ „์†ก ๋ฐ ์ˆ˜์‹  ํ™•์ธ(ACK)์„ ํ†ตํ•ด ๋ณต๊ตฌํ•ฉ๋‹ˆ๋‹ค.
  • UDP๋Š” ์žฌ์ „์†ก ์—†์ด ์†์‹ค์„ ๋ฌด์‹œํ•˜๋ฉฐ, ์‹ ๋ขฐ์„ฑ๋ณด๋‹ค ์†๋„๋ฅผ ์šฐ์„ ์‹œํ•ฉ๋‹ˆ๋‹ค.

โœ… 6. ๋‹ค์Œ ANSI C ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ถœ๋ ฅ๋˜๋Š” ๋‚ด์šฉ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

#include <stdio.h>
int main(int argc, char *argv[]) {
    int x = 1, z[2] = {10, 11};
    int *p = NULL;
    p = &x;
    *p = 10;
    p = &z[1];
    *(&z[0] + 1) += 3;
    printf("%d, %d, %d\n", x, z[0], z[1]);
    return 0;
}

๋‹ต์•ˆ
์ถœ๋ ฅ ๊ฒฐ๊ณผ: 10, 10, 14

์„ค๋ช…

  • x = 1 โ†’ *p = 10 โ†’ x = 10
  • z[1] = 11 โ†’ z[1] += 3 โ†’ z[1] = 14
  • z[0]์€ ๋ณ€ํ•˜์ง€ ์•Š์Œ โ†’ ์—ฌ์ „ํžˆ 10
profile
์„œํˆด์ง€์–ธ์ • ๋Š˜ ํ–‰๋™์ด ๋จผ์ €์ด๊ธฐ๋ฅผ

2๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2025๋…„ 5์›” 6์ผ

์•„ ์ด๊ฑฐ ๋ณด๊ณ  ์ œ์ถœํ• ๊ฑธ ^^

1๊ฐœ์˜ ๋‹ต๊ธ€