JavaRush /Java Blog /Random-KO /3๋ถ€. HTTP/HTTPS ํ”„๋กœํ† ์ฝœ
Professor Hans Noodles
๋ ˆ๋ฒจ 41

3๋ถ€. HTTP/HTTPS ํ”„๋กœํ† ์ฝœ

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์ด ์ž๋ฃŒ๋Š” "์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ฐœ๋ฐœ ์†Œ๊ฐœ" ์‹œ๋ฆฌ์ฆˆ์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. ์ด์ „ ๊ธฐ์‚ฌ: ์•ˆ๋…•ํ•˜์„ธ์š”! ์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” HTTP์™€ HTTPS ํ”„๋กœํ† ์ฝœ์„ ์ดํ•ดํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋จผ์ € ํ•œ ๊ฐ€์ง€ ์ ์„ ๋ช…ํ™•ํžˆ ํ•ฉ์‹œ๋‹ค. ์šฐ๋ฆฌ๋Š” OSI ๋ชจ๋ธ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์—์„œ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์–ตํ•˜์‹œ๊ฒ ์ง€๋งŒ, ์ด์ „ ๊ธฐ์‚ฌ ์ค‘ ํ•˜๋‚˜์—์„œ OSI ๋ชจ๋ธ์— ๋Œ€ํ•ด ๋…ผ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์–ต๋‚˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค . 3๋ถ€. HTTP/HTTPS ํ”„๋กœํ† ์ฝœ - 1

๋ฐ์ดํ„ฐ ์ „์†ก ํ”„๋กœํ† ์ฝœ์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ด๋Š” ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹จ์ผ ํ˜•์‹์œผ๋กœ ์ •๋ณด๋ฅผ ๋ณด๋‚ด๋Š” ๋•๋ถ„์— ์ผ๋ฐ˜์ ์œผ๋กœ ํ—ˆ์šฉ๋˜๋Š” ๊ณ„์•ฝ์— ๋ถ€์—ฌ๋˜๋Š” ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Google Chrome์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ํ‘œ์ค€ HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •๋ณด๋ฅผ ์ „์†กํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Facebook๊ณผ Twitter ๋ชจ๋‘์—์„œ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ†ต์ผ๋œ ๊ทœ์น™์€ ์„œ๋ฒ„์ธก ๊ฐœ๋ฐœ์ž ์ž์‹ ์—๊ฒŒ๋„ ๋งค์šฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ •๋ณด๋ฅผ ๋ณ€ํ™˜ํ•˜๊ณ  ํ•„์š”ํ•œ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. HTTP๋Š” ์›๋ž˜ HTML ํŽ˜์ด์ง€๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ๋กœ ๊ณ ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋žซ๋™์•ˆ ์ด๋Ÿฐ ์ผ์ด ์žˆ์—ˆ์ง€๋งŒ ์ด์ œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ฌธ์ž์—ด๊ณผ ๋ฏธ๋””์–ด ํŒŒ์ผ์„ ๋ชจ๋‘ ์ „์†กํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ „๋ฐ˜์ ์œผ๋กœ ์ด ํ”„๋กœํ† ์ฝœ์€ ๋‹ค์žฌ๋‹ค๋Šฅํ•˜๊ณ  ์œ ์—ฐํ•˜๋ฉฐ ์‚ฌ์šฉํ•˜๊ธฐ๊ฐ€ ์ •๋ง ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…์‹œ๋‹ค.

HTTP ๊ตฌ์กฐ

HTTP ํ”„๋กœํ† ์ฝœ์ด ํ…์ŠคํŠธ๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค๋Š” ์ ์„ ๋ฐ”๋กœ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธ€์Ž„, ์šฐ๋ฆฌ๋Š” ์ด ํ…์ŠคํŠธ๊ฐ€ ์œ„์น˜ํ•œ ๊ตฌ์กฐ์— ๊ฐ€์žฅ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋ฉ”์‹œ์ง€๋Š” ์„ธ ๋ถ€๋ถ„์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  1. ์ถœ๋ฐœ์„  - ์„œ๋น„์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  2. ํ—ค๋” - ๋ฉ”์‹œ์ง€ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค.
  3. ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ(Body) - ๋ฉ”์‹œ์ง€ ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ๋นˆ ์ค„๋กœ ์ œ๋ชฉ๊ณผ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
HTTP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„์— ์š”์ฒญ(request)์„ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์‘๋‹ต(response)์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์š”์ฒญ๊ณผ ์‘๋‹ต์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์•ฝ๊ฐ„ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ HTTP ์š”์ฒญ์˜ ๋ชจ์Šต

GET / HTTP/1.1
Host: javarush.com
User-Agent: firefox/5.0 (Linux; Debian 5.0.8; en-US; rv:1.8.1.7)
์ถœ๋ฐœ์„ ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  • GET - ์š”์ฒญ ๋ฐฉ๋ฒ•;
  • / โ€” ์š”์ฒญ ๊ฒฝ๋กœ(๊ฒฝ๋กœ);
  • HTTP/1.1 - ๋ฐ์ดํ„ฐ ์ „์†ก ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „.
๊ทธ๋Ÿฐ ๋‹ค์Œ ์ œ๋ชฉ์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.
  • ํ˜ธ์ŠคํŠธ โ€” ์š”์ฒญ์ด ์ฒ˜๋ฆฌ๋˜๋Š” ํ˜ธ์ŠคํŠธ์ž…๋‹ˆ๋‹ค.
  • User-Agent๋Š” ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ํด๋ผ์ด์–ธํŠธ์ž…๋‹ˆ๋‹ค.
๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ์ด ์—†์Šต๋‹ˆ๋‹ค. HTTP ์š”์ฒญ์—๋Š” ์‹œ์ž‘ ์ค„๊ณผ Host ํ—ค๋”๋งŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๋ชจ๋“  ๊ฒƒ์„ ์ˆœ์„œ๋Œ€๋กœ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. HTTP ์š”์ฒญ์—๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฉ”์†Œ๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘ GET, POST, PUT, OPTIONS, HEAD, PATCH, DELETE, TRACE, CONNECT ๋“ฑ ์ด 9๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๊ฒƒ์€ GET๊ณผ POST์ž…๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์ด ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. GET - ์„œ๋ฒ„์—์„œ ์ฝ˜ํ…์ธ ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ GET ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ ์š”์ฒญ์—๋Š” ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋‹ค์Œ ํ˜•์‹์˜ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: https://cdn.javarush.com/images/article/155cea79-acfd-4968-9361-ad585e939b82/original.pngsend?name1=value1&name2=value2 ์—ฌ๊ธฐ: javarush .com โ€” ํ˜ธ์ŠคํŠธ, /send โ€” ์š”์ฒญ ๊ฒฝ๋กœ, ? โ€” ์š”์ฒญ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋’ค๋”ฐ๋ฅธ๋‹ค๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ตฌ๋ถ„ ๊ธฐํ˜ธ์ž…๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์—๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์•ฐํผ์ƒŒ๋“œ๋กœ ๊ตฌ๋ถ„๋œ key=value ํ˜•์‹์œผ๋กœ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. POST - ์„œ๋ฒ„์— ์ •๋ณด๋ฅผ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค. POST ์š”์ฒญ์€ ํ‚ค=๊ฐ’ ํ˜•์‹์˜ ๋งค๊ฐœ๋ณ€์ˆ˜, JSON, HTML ์ฝ”๋“œ, ํŒŒ์ผ ๋“ฑ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์ •๋ณด๋Š” ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ์œผ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:
POST /user/create/json HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 28
Host: javarush.com

{
  "Id": 12345,
  "User": "John"
}
์š”์ฒญ์€ javarush.com/user/create/json์œผ๋กœ ์ „์†ก๋˜๋ฉฐ ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „์€ HTTP/1.1์ž…๋‹ˆ๋‹ค. Accept๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ˆ˜์‹ ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ์‘๋‹ต ํ˜•์‹์„ ์ง€์ •ํ•˜๊ณ , Content-Type์€ ๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ์ด ์ „์†ก๋˜๋Š” ํ˜•์‹์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. Content-Length - ๋ณธ๋ฌธ์˜ ๋ฌธ์ž ์ˆ˜์ž…๋‹ˆ๋‹ค. HTTP ์š”์ฒญ์—๋Š” ๋‹ค์–‘ํ•œ ํ—ค๋”๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ”„๋กœํ† ์ฝœ ์‚ฌ์–‘์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค .

HTTP ์‘๋‹ต

์š”์ฒญ์„ ๋ฐ›์€ ํ›„ ์„œ๋ฒ„๋Š” ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ํด๋ผ์ด์–ธํŠธ์— ์‘๋‹ต์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Content-Length: 98

<html>
  <head>
    <title>An Example Page</title>
  </head>
  <body>
    <p>Hello World</p>
  </body>
</html>
์‘๋‹ต์˜ ์‹œ์ž‘ ์ค„์—๋Š” ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „(HTTP/1.1), ์ƒํƒœ ์ฝ”๋“œ(200), ์ƒํƒœ ์„ค๋ช…(OK)์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ œ๋ชฉ์€ ์ฝ˜ํ…์ธ ์˜ ์œ ํ˜•๊ณผ ๊ธธ์ด๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์‘๋‹ต ๋ณธ๋ฌธ์—๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ HTML ํŽ˜์ด์ง€์— ๊ทธ๋ฆฌ๋Š” HTML ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ

๋ฉ”์‹œ์ง€ ๋ณธ๋ฌธ๊ณผ ํ—ค๋”๋ฅผ ๋ณด๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ๋ช…ํ™•ํ•˜์ง€๋งŒ ์ƒํƒœ ์ฝ”๋“œ์— ๋Œ€ํ•ด ๋ช‡ ๋งˆ๋”” ๋ง์”€๋“œ๋ฆด ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ๋Š” ํ•ญ์ƒ ์„ธ ์ž๋ฆฌ์ด๋ฉฐ, ์ฝ”๋“œ์˜ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋Š” ์‘๋‹ต ๋ฒ”์ฃผ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • 1xx - ์ •๋ณด ์ œ๊ณต์šฉ. ์š”์ฒญ์ด ์ˆ˜์‹ ๋˜์—ˆ์œผ๋ฉฐ ์„œ๋ฒ„๋Š” ๊ณ„์†ํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 2xx - ์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ์š”์ฒญ์ด ์ ‘์ˆ˜, ์ดํ•ด ๋ฐ ์ฒ˜๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 3xx - ๋ฆฌ๋””๋ ‰์…˜. ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • 4xx - ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์š”์ฒญ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ํ”„๋กœํ† ์ฝœ์„ ์ค€์ˆ˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • 5xx - ์„œ๋ฒ„ ์˜ค๋ฅ˜. ์š”์ฒญ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ตฌ์„ฑ๋˜์—ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์ฝ”๋“œ์˜ ๋‘ ๋ฒˆ์งธ์™€ ์„ธ ๋ฒˆ์งธ ์ˆซ์ž๋Š” ๋‹ต์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:
  • 200 OK โ€” ์š”์ฒญ์ด ์ˆ˜์‹ ๋˜์–ด ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 201 ์ƒ์„ฑ๋จ - ์š”์ฒญ์ด ์ˆ˜์‹ ๋˜์–ด ์„ฑ๊ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์–ด ์ƒˆ ๋ฆฌ์†Œ์Šค ๋˜๋Š” ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • 301 ์˜๊ตฌ์ ์œผ๋กœ ์ด๋™๋จ - ์š”์ฒญ๋œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์˜๊ตฌ์ ์œผ๋กœ ์ด๋™๋˜์—ˆ์œผ๋ฉฐ ์ด์— ๋Œ€ํ•œ ํ›„์† ์š”์ฒญ์€ ์ƒˆ ์ฃผ์†Œ์—์„œ ๋ฐœ์ƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • 307 ์ž„์‹œ ๋ฆฌ๋””๋ ‰์…˜ - ๋ฆฌ์†Œ์Šค๊ฐ€ ์ผ์‹œ์ ์œผ๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ์ž๋™ ๋ฆฌ๋””๋ ‰์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • 403 ๊ธˆ์ง€๋จ - ์š”์ฒญ์ด ๋ช…ํ™•ํ•˜์ง€๋งŒ ์Šน์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • 404 ์ฐพ์„ ์ˆ˜ ์—†์Œ - ์„œ๋ฒ„๊ฐ€ ์ด ์ฃผ์†Œ์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.
  • 501 ๊ตฌํ˜„๋˜์ง€ ์•Š์Œ - ์„œ๋ฒ„๊ฐ€ ์ด ์š”์ฒญ์— ์‘๋‹ตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • 505 HTTP ๋ฒ„์ „์ด ์ง€์›๋˜์ง€ ์•Š์Œ - ์„œ๋ฒ„๊ฐ€ ์ง€์ •๋œ HTTP ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ ์™ธ์—๋„ ์ƒํƒœ ์„ค๋ช…๋„ ์ „์†ก๋˜๋ฏ€๋กœ ํŠน์ • ์ƒํƒœ๊ฐ€ ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. HTTP ํ”„๋กœํ† ์ฝœ์€ ๋งค์šฐ ์‹ค์šฉ์ ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์œ ์—ฐํ•œ ํ†ต์‹ ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ์ˆ˜์˜ ํ—ค๋”๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์š”์ฒญ ๋ฐ ์‘๋‹ต ํ—ค๋”, ์š”์ฒญ ๋ฐฉ๋ฒ• ๋ฐ ์‘๋‹ต ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ํ•˜๋‚˜์˜ ๋ฌธ์„œ์—์„œ ๊ณ ๋ คํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ชจ๋“  ๋‰˜์•™์Šค๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ณต์‹ ํ”„๋กœํ† ์ฝœ ์‚ฌ์–‘์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค . HTTP ํ”„๋กœํ† ์ฝœ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ํฌํŠธ 80์—์„œ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ํฌํŠธ 80์—์„œ ๋๋‚˜๋Š” ์ฃผ์†Œ๋ฅผ ๋ณด๋ฉด HTTP๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šคํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ˆ ์˜ ๋ฐœ์ „๊ณผ ์ธํ„ฐ๋„ท์ƒ์˜ ๊ฐœ์ธ ๋ฐ์ดํ„ฐ์˜ ํ™œ๋ฐœํ•œ ์ด๋™์œผ๋กœ ์ธํ•ด ์šฐ๋ฆฌ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„๋กœ ์ „์†กํ•˜๋Š” ์ •๋ณด์— ๋Œ€ํ•ด ์ถ”๊ฐ€์ ์ธ ๋ณดํ˜ธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณ ๋ฏผํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ HTTPS ํ”„๋กœํ† ์ฝœ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

HTTPS์™€ HTTP์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ

HTTPS๋Š” ๊ตฌ๋ฌธ์ƒ HTTP ํ”„๋กœํ† ์ฝœ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋™์ผํ•œ ์‹œ์ž‘ ์ค„๊ณผ ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์œ ์ผํ•œ ์ฐจ์ด์ ์€ ์ถ”๊ฐ€ ์•”ํ˜ธํ™”์™€ ๊ธฐ๋ณธ ํฌํŠธ(443) ์ž…๋‹ˆ๋‹ค . HTTPS๋Š” HTTP์™€ TCP ์‚ฌ์ด, ์ฆ‰ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ „์†ก ๊ณ„์ธต ์‚ฌ์ด์—์„œ ์•”ํ˜ธํ™”๋ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ์žŠ์—ˆ๋‹ค๋ฉด OSI ๋ชจ๋ธ์— ๊ด€ํ•œ ๊ธฐ์‚ฌ๋ฅผ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค . ์ตœ์‹  ์•”ํ˜ธํ™” ํ‘œ์ค€์€ TLS์ž…๋‹ˆ๋‹ค. ์ด ์ฃผ์ œ์— ๋Œ€ํ•ด ๋„ˆ๋ฌด ๊นŠ์ด ๋‹ค๋ฃจ์ง€๋Š” ์•Š๊ฒ ์ง€๋งŒ ์ •๋ณด๊ฐ€ ์ „์†ก ๊ณ„์ธต์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— ์•”ํ˜ธํ™”๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š” . HTTPS๋Š” ์š”์ฒญ์ด ์ „์†ก๋˜๋Š” ํ˜ธ์ŠคํŠธ์™€ ํฌํŠธ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์ ˆ๋Œ€์ ์œผ๋กœ ์•”ํ˜ธํ™”ํ•ฉ๋‹ˆ๋‹ค. HTTP ๋Œ€์‹  HTTPS ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„œ๋ฒ„๋ฅผ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„ ์ฝ”๋“œ๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ์—์„œ ํ™œ์„ฑํ™”๋˜๋ฉฐ, ์ด์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์Œ ๊ธฐ์‚ฌ์—์„œ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ๊ทธ๊ฒŒ ๋‹ค์•ผ. ํ•˜์ง€๋งŒ ์ž ๊น๋งŒ์š”. HTTP ์š”์ฒญ์„ ๊ฐ์ง€ํ•˜๋ ค๋ฉด Google Chrome์„ ์—ด๊ณ  F12๋ฅผ ๋ˆ„๋ฅธ ํ›„ ๋„คํŠธ์›Œํฌ ํƒญ์„ ์„ ํƒํ•˜์„ธ์š”. ๊ท€ํ•˜์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ณด๋‚ด๊ฑฐ๋‚˜ ๋ฐ›์€ ๋ชจ๋“  ์š”์ฒญ๊ณผ ์‘๋‹ต์ด ์—ฌ๊ธฐ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. 4๋ถ€. Maven ๊ธฐ๋ณธ 5๋ถ€. ์„œ๋ธ”๋ฆฟ. ๊ฐ„๋‹จํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž‘์„ฑ 6๋ถ€. ์„œ๋ธ”๋ฆฟ ์ปจํ…Œ์ด๋„ˆ 7๋ถ€. MVC(๋ชจ๋ธ-๋ทฐ-์ปจํŠธ๋กค๋Ÿฌ) ํŒจํ„ด ์†Œ๊ฐœ 8๋ถ€. ์ž‘์€ ์Šคํ”„๋ง ๋ถ€ํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž‘์„ฑ
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION