6_oHji
6_oHji
ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค☺
GitHub   Gmail
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (62)
    • ๐Ÿ’ก DEEP DIVE (17)
      • PATTERN (17)
    • ๐Ÿ“ ๋„์ ๋„์  (4)
    • ๐ŸŒˆ EXPERIENCE (3)
    • ๐Ÿ’ป PROJECT (3)
    • ๐Ÿ“’ STUDY (34)
      • ALGORITHM (1)
      • JAVA (5)
      • FRONT-END (7)
      • BACK-END (10)
      • SPRING (7)
      • NETWORK (3)
      • CLOUD (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ์Šคํ† ๋ฆฌ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ
hELLO ยท Designed By ์ •์ƒ์šฐ.
6_oHji
6_oHji
๐Ÿ“’ STUDY/BACK-END

HTTP์™€ HTTPS

2023. 4. 4. 08:27
๋ธŒ๋ผ์šฐ์ €์˜ ์š”์ฒญ๊ณผ ์„œ๋ฒ„์˜ ์‘๋‹ต ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜ ๊ทœ์•ฝ์„ 'ํ”„๋กœํ† ์ฝœ(protocol)'์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์›น์—์„œ๋Š” HTTP(Hyper Text Transfer Protocol), HTTPS์˜ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์Šต๋‹ˆ๋‹ค. (HTTPS๋Š” HTTP์˜ ๋ณด์•ˆ ๊ฐ•ํ™” ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.)

 

ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด?

 

ํ”„๋กœํ† ์ฝœ ์ •์˜, ๊ธฐ๋ณธ ์š”์†Œ, ์ข…๋ฅ˜, ๊ธฐ๋Šฅ

๐Ÿ“Œ ํ”„๋กœํ† ์ฝœ์ด๋ž€? ํ”„๋กœํ† ์ฝœ(Protocol)์€ ์ปดํ“จํ„ฐ๋‚˜ ๋„คํŠธ์›Œํฌ ์žฅ๋น„๊ฐ€ ์„œ๋กœ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฏธ๋ฆฌ ์ •ํ•ด ๋†“์€ ์•ฝ์† ๋˜๋Š” ๊ทœ์•ฝ์„ ๋งํ•œ๋‹ค. ๐ŸŒŸ ํ”„๋กœํ† ์ฝœ์˜ ๊ธฐ๋ณธ ์š”์†Œ ๊ตฌ๋ฌธ(Syntax) : ์ „์†กํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ

easyhomputer.tistory.com

 

 

๐Ÿ“Œ HTTP(Hyper Text Transfer Protocol)

HTTP(Hyper Text Transfer Protocol)๋ž€ ์„œ๋ฒ„/ํด๋ผ์ด์–ธํŠธ ๋ชจ๋ธ์„ ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. ์ธํ„ฐ๋„ท์—์„œ ํ•˜์ดํผํ…์ŠคํŠธ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹  ๊ทœ์•ฝ์œผ๋กœ, 80๋ฒˆ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ HTTP ์„œ๋ฒ„๊ฐ€ 80๋ฒˆ ํฌํŠธ์—์„œ ์š”์ฒญ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์œผ๋ฉฐ, ํด๋ผ์ด์–ธํŠธ๋Š” 80๋ฒˆ ํฌํŠธ๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๊ฒŒ ๋œ๋‹ค. HTTP๋Š” 1989๋…„ ํŒ€ ๋ฒ„๋„ˆ์Šค ๋ฆฌ(Tim Berners Lee)์— ์˜ํ•ด ์ฒ˜์Œ ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, WWW(World-Wide-Web) ๊ธฐ๋ฐ˜์—์„œ ์„ธ๊ณ„์ ์ธ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๋Š”๋ฐ ํฐ ์—ญํ• ์„ ํ•˜์˜€๋‹ค.

 

๐Ÿ’ก HTTP์˜ ๊ตฌ์กฐ

  • HTTP๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ์˜ ํ”„๋กœํ† ์ฝœ์ด๊ธฐ ๋•Œ๋ฌธ์— TCP/IP ์œ„์—์„œ ๋™์ž‘ํ•œ๋‹ค. HTTP๋Š” ์ƒํƒœ๋ฅผ ๊ฐ€์ง€์ง€ ์•Š์€ Stateless ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ Method, Path, Version, Headers, Body ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

๐Ÿ’ก HTTP์˜ ๋‹จ์ 

  • HTTP๋Š” ์•”ํ˜ธํ™”๊ฐ€ ๋˜์ง€ ์•Š์€ ํ‰๋ฌธ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ด๊ธฐ ๋•Œ๋ฌธ์— HTTP๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋‚˜ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์ฒ˜๋Ÿผ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉด ์ œ3์ž๊ฐ€ ์ •๋ณด๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด๋Ÿฐ ๋ณด์•ˆ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด HTTPS๊ฐ€ ๋“ฑ์žฅํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

 

 

๐Ÿ“Œ HTTPS(Hyper Text Transfer Protocol Secure)

HTTPS(Hyper Text Transfer Protocol Secure)๋Š” HTTP์— ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๊ฐ€ ์ถ”๊ฐ€๋œ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. HTTPS๋Š” HTTP์™€ ๋‹ค๋ฅด๊ฒŒ 443ํฌํŠธ๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์ œ 3์ž๊ฐ€ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์—†๋„๋ก ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „์†กํ•œ๋‹ค. HTTPS ํ”„๋กœํ† ์ฝœ์€ SSL(๋ณด์•ˆ ์†Œ์ผ“ ๊ณ„์ธต)์„ ์ด์šฉํ•ด์„œ HTTP์˜ ๋ณด์•ˆ์ƒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์œผ๋ฉฐ SSL์€ ์„œ๋ฒ„์™€ ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์ด์— ์•ˆ์ „ํ•˜๊ฒŒ ์•”ํ˜ธํ™”๋œ ์—ฐ๊ฒฐ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๊ณ  ์„œ๋ฒ„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ๋„ ๋„๋‚œ๋‹นํ•˜๋Š” ๊ฒƒ์„ ๋ง‰์•„์ค€๋‹ค.

 

๐Ÿ’ก HTTPS์˜ ๋ณด์•ˆ ๋ฐฉ์‹

  • SSL ์ธ์ฆ์„œ๋ฅผ HTTP ํ”„๋กœํ† ์ฝœ์— ์ถ”๊ฐ€ํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์ด HTTPS์ด๋ฉฐ, SSL ์ธ์ฆ์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์ดํŠธ์— ์ œ๊ณตํ•˜๋Š” ์ •๋ณด๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋Š”๋ฐ ์ด์šฉ๋œ๋‹ค.
  • ๋”ฐ๋ผ์„œ ์ œ 3์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ›”์ณ๋‚ธ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์•”ํ˜ธํ™”์ฒ˜๋ฆฌ ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋…์„ ํ•  ์ˆ˜ ์—†์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์—†๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  HTTPS๋Š” TLS(์ „์†ก ๊ณ„์ธต ๋ณด์•ˆ) ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด์„œ ๋ณด์•ˆ์„ ์œ ์ง€ํ•œ๋‹ค. TLS๋Š” ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•ด์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก ์ค‘์— ์ˆ˜์ •๋˜๊ฑฐ๋‚˜ ์†์ƒ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์†ํ•˜๋ ค๋Š” ์›น์‚ฌ์ดํŠธ์™€ ํ†ต์‹ ํ•˜๊ณ  ์žˆ์Œ์„ ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ ๊ธฐ๋Šฅ๋„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๐Ÿ’ก HTTPS์˜ ์•”ํ˜ธํ™” ๋ฐฉ์‹

HTTPS๋Š” ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์™€ ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹ ๋‘˜ ๋‹ค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

  • ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”
    • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ๋™์ผํ•œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
    • ํ‚ค๊ฐ€ ๋…ธ์ถœ๋˜๋ฉด ๋งค์šฐ ์œ„ํ—˜ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์—ฐ์‚ฐ์†๋„๊ฐ€ ๋น ๋ฅธ ์žฅ์ ์ด ์žˆ๋‹ค.
  • ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”
    • 1๊ฐœ์˜ ์Œ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค๋ฅผ ์ด์šฉํ•ด ์•”ํ˜ธํ™”์™€ ๋ณตํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.
    • ํ‚ค๊ฐ€ ๋…ธ์ถœ๋˜์–ด๋„ ๋น„๊ต์  ์•ˆ์ „ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์—ฐ์‚ฐ์†๋„๊ฐ€ ๋А๋ฆฐ ๋‹จ์ ์ด ์žˆ๋‹ค.

๐Ÿ’ก ๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค

  • ๋น„๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์—์„œ ๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค๋Š” ์„œ๋กœ๋ฅผ ์œ„ํ•œ 1์Œ์˜ ํ‚ค์ด๋‹ค.
    • ๊ณต๊ฐœํ‚ค : ๋ชจ๋‘์—๊ฒŒ ๊ณต๊ฐœ ๊ฐ€๋Šฅํ•œ ํ‚ค
    • ๊ฐœ์ธํ‚ค : ๊ฐœ์ธ๋งŒ์ด ์†Œ์œ ํ•˜๋Š” ํ‚ค

๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”๋ฅผ ํ•˜๋ฉด ๊ฐœ์ธํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ณธ์ธ๋งŒ ๋ฐ์ดํ„ฐ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ์ธํ‚ค๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋ฉด ๊ณต๊ฐœํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋‚ด๊ฐ€ ์ธ์ฆํ•œ ์ •๋ณด์ž„์„ ์•Œ๋ ค ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)
    '๐Ÿ“’ STUDY/BACK-END' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • PRG(POST-Redirect-GET) ํŒจํ„ด
    • ์„œ๋ธ”๋ฆฟ(Servlet)๊ณผ JSP(Java Server Pages)์˜ ๊ฐœ๋… ๋ฐ ์ฐจ์ด
    • ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„์˜ ๊ด€๊ณ„ - ์š”์ฒญ๊ณผ ์‘๋‹ต, GET/POST ๋ฐฉ์‹, ์ •์ /๋™์  ๋ฐ์ดํ„ฐ
    • JWT(JSON Web Token)
    6_oHji
    6_oHji
    ๋„์ ๋„์ 

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”