728x90

๐Ÿ“กHTTP๋ž€?

  • HTTP๋Š” HyperTextTransferProtocol์˜ ์•ฝ์ž๋กœ ํ•˜์ดํผํ…์ŠคํŠธ ๋ฌธ์„œ๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์‚ฌ์šฉ๋œ ํ†ต์‹  ๊ทœ์•ฝ์ด๋‹ค.
  • ์›น ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์˜ ํ†ต์‹ ์„ ํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹  ๊ทœ์•ฝ์ด๋‹ค.
  • HTTP๋Š” 1989๋…„ ํŒ€ ๋ฒ„๋„ˆ์Šค ๋ฆฌ์— ์˜ํ•ด ์ฒ˜์Œ ์„ค๊ณ„๋˜์–ด ์ธํ„ฐ๋„ท์„ ํ†ตํ•œ ์›”๋“œ ์™€์ด๋“œ ์›น ๊ธฐ๋ฐ˜์—์„œ ์ „ ์„ธ๊ณ„์ ์ธ ์ •๋ณด ๊ณต์œ ๋ฅผ ์ด๋ฃจ๋Š”๋ฐ ํฐ ์—ญํ• ์„ ํ–ˆ๋‹ค.
  • HTTP๋Š” ์›น์—์„œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ TCP/IP๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์ง€์ ์—์„œ ๋‹ค๋ฅธ์ง€์ (์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ)์œผ๋กœ ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ์ „์†กํ•œ๋‹ค.

 

๐Ÿ“กHTTP์˜  ํŠน์ง•

  • HTTP ๋ฉ”์‹œ์ง€๋Š” HTTP ์„œ๋ฒ„์™€ HTTP ํด๋ผ์ด์–ธํŠธ์— ์˜ํ•ด์„œ ํ•ด์„์ด ๋œ๋‹ค.
  • TCP/IP๋ฅผ ์ด์šฉํ•˜๋Š” ์‘์šฉ ํ”„๋กœํ† ์ฝœ(application protocol)์ž…๋‹ˆ๋‹ค.HTTP๋Š” ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ๋น„์—ฐ๊ฒฐ์„ฑ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. (์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Cookie์™€ Seesion ๋“ฑ์žฅ)
  • HTTP๋Š” ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ํ”„๋กœํ† ์ฝœ์ด๊ธฐ ๋–„๋ฌธ์— ์š”์ฒญ/์‘๋‹ต(request/response) ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค.


๊ธฐ๋ณธ์ ์œผ๋กœ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋™์ž‘ํ•œ๋‹ค.

ํด๋ผ์ด์–ธํŠธ(client) ์ฆ‰, ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•ด์„œ ์–ด๋– ํ•œ ์„œ๋น„์Šค๋ฅผ url์„ ํ†ตํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๊ฒƒ์„ ํ†ตํ•ด์„œ ์š”์ฒญ(request)์„ ํ•˜๋ฉด ์„œ๋ฒ„์—์„œ๋Š” ํ•ด๋‹น ์š”์ฒญ์‚ฌํ•ญ์— ๋งž๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์•„์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์‘๋‹ต(response)ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋™์ž‘ํ•œ๋‹ค.

 

- ์š”์ฒญ : client -> server

- ์‘๋‹ต : server -> client


๐Ÿ“กHTTPS๋ž€?

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

HTTPS๋Š” TCP์œ„์— ๋†“์ธ ๋ณด์•ˆ๊ณ„์ธต(SSL)์œ„์˜ HTTP์ด๋‹ค

 

๊ณต๊ฐœํ‚ค/๊ฐœ์ธํ‚ค

HTTPS๋Š” ๊ณต๊ฐœํ‚ค/๊ฐœ์ธํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™” ํ•œ๋‹ค.๊ณต๊ฐœํ‚ค์™€ ์ƒˆ์ธํ‚ค๋Š” ์„œ๋กœ๋ฅผ ์œ„ํ•œ 1์Œ์˜ ํ‚ค์ด๋‹ค.

  • ๊ณต๊ฐœํ‚ค : ๋ชจ๋‘์—๊ฒŒ ๊ณต๊ฐœ๊ฐ€๋Šฅํ•œ ํ‚ค
  • ๊ฐœ์ธํ‚ค : ๋‚˜๋งŒ ๊ฐ€์ง€๊ณ  ์•Œ๊ณ  ์žˆ์–ด์•ผํ•˜๋Š” ํ‚ค

๊ณต๊ฐœํ‚ค์™€ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜๋ฉด ์–ป์„์ˆ˜ ์žˆ๋Š” ํšจ๊ณผ

  • ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” : ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”๋ฅผ ํ•˜๋ฉด ๊ฐœ์ธํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. => ๊ฐœ์ธํ‚ค๋Š” ๋‚˜๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ๋‚˜๋งŒ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ฐœ์ธํ‚ค ์•”ํ˜ธํ™” : ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜๋ฉด ๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.  =>๊ณต๊ฐœํ‚ค๋Š” ๋ชจ๋‘์—๊ฒŒ ๊ณต๊ฐœ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, ๋‚ด๊ฐ€ ์ธ์ฆํ•œ ์ •๋ณด์ž„์„ ์•Œ๋ ค ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

SSL(Secure Socket Layer)?

SSL ๋””์ง€ํ„ธ ์ธ์ฆ์„œ =>ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„์˜ ํ†ต์‹ ์„ ๊ณต์ธ๋œ ์ œ3์ž์—…์ฒด๊ฐ€ ๋ณด์ฆํ•ด์ฃผ๋Š” ์ „์žํ™”๋œ ๋ฌธ์„œ์ด๋‹ค.

SSL ๋””์ง€ํ„ธ ์ธ์ฆ์„œ์˜ ์žฅ์ 

  • ํ†ต์‹  ๋‚ด์šฉ์ด ๋…ธ์ถœ, ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.
  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ ‘์†ํ•˜๋ ค๋Š” ์„œ๋ฒ„๊ฐ€ ์‹ ๋ขฐ ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„์ธ์ง€ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • SSL ํ†ต์‹ ์— ์‚ฌ์šฉํ•  ๊ณต๊ฐœํ‚ค๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ œ๊ณตํ•œ๋‹ค. 

SSL์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์•”ํ˜ธํ™”์˜ ์ข…๋ฅ˜ 

  • ์•”ํ˜ธ : ํ…์ŠคํŠธ๋ฅผ ์•„๋ฌด๋‚˜ ์ฝ์ง€ ๋ชปํ•˜๋„๋ก ์ธ์ฝ”๋”ฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ํ‚ค : ์•”ํ˜ธ์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜, ํ‚ค์— ๋”ฐ๋ผ์„œ ์•”ํ˜ธํ™” ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€๊ธฐ ๋–„๋ฌธ์— ํ‚ค๋ฅผ ๋ชจ๋ฅด๋ฉด ๋ณตํ˜ธํ™”๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

 

CA : https://ko.wikipedia.org/wiki/์ธ์ฆ_๊ธฐ๊ด€

์ธ์ฆ์„œ ๋‚ด์šฉ

  • ์ธ์ฆ์„œ์˜ ๋‚ด์šฉ์€ CA์˜ ๋น„๊ณต๊ฐœ ํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ์•”ํ˜ธํ™” ๋˜์–ด ์›น๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์ œ๊ณต๋œ๋‹ค.
  • ์„œ๋น„์Šค ์ •๋ณด (์ธ์ฆ์„œ ๋ฐœ๊ธ‰์ž, CA์˜ ๋””์ง€ํ„ธ ์„œ๋ช…,์„œ๋น„์Šค ๋„๋ฉ”์ธ)
  • ์„œ๋ฒ„์ธก ๊ณต๊ฐœํ‚ค

SSL ์ธ์ฆ์„œ์˜ ์„œ๋น„์Šค ๋ณด์ฆ๋ฐฉ๋ฒ•

  • ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์— ์ ‘์†ํ•˜๋ฉด ์„œ๋ฒ„๋Š” ์ œ์ผ ๋จผ์ € ์ธ์ฆ์„œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ €๋Š” ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•œ CA๊ฐ€ ์ž์‹ ์ด ๊ฐ–๊ณ ์žˆ๋Š” CA ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.
  • ๋ฆฌ์ŠคํŠธ์— ์žˆ๋‹ค๋ฉด ํ•ด๋‹น CA์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™” ํ•œ๋‹ค.
  • ์ธ์ฆ์„œ๋ฅผ ๋ณตํ˜ธํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์ด ์ธ์ฆ์„œ๊ฐ€ CA์˜ ๋น„๊ณต๊ฐœํ‚ค์— ์˜ํ•ด์„œ ์•”ํ˜ธํ™” ๋œ ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•œ ์‚ฌ๋žŒ์˜ ์‹ ์›์„ ๋ณด์žฅํ•ด์ฃผ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

SSL ๋™์ž‘๋ฐฉ๋ฒ•

  • ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ ๋ฐฉ์‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณ„์‚ฐ๋ฐฉ์‹์ด ๋А๋ฆฐ ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ SSL์€ ์•”ํ˜ธํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ณต๊ฐœํ‚ค์™€ ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์„ ํ˜ผํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์•ˆ์ „ํ•œ ์˜์‚ฌ์†Œํ†ต ์ฑ„๋„์„ ์ˆ˜๋ฆฝํ•  ๋•Œ๋Š” ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์•ˆ์ „ํ•œ ์ฑ„๋„์„ ํ†ตํ•ด์„œ ์ž„์‹œ์˜ ๋ฌด์ž‘์œ„ ๋Œ€์นญํ‚ค๋ฅผ ์ƒ์„ฑ ๋ฐ ๊ตํ™˜ํ•œ๋‹ค. ํ•ด๋‹น ๋Œ€์นญํ‚ค๋Š” ๋‚˜๋จธ์ง€ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”์— ํ™œ์šฉํ•œ๋‹ค.

SSL ํ†ต์‹ ๊ณผ์ •

  • ์ปดํ“จํ„ฐ์™€ ์ปดํ“จํ„ฐ๊ฐ€ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด์„œ ํ†ต์‹ ์„ ํ• ๋•Œ ํ•ธ๋“œ์‰์ดํฌ -> ์„ธ์…˜ -> ์„ธ์…˜์ข…๋ฃŒ ์˜ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.
  • ์•”ํ˜ธํ™”๋œ HTTP ๋ฉ”์‹œ์ง€๋ฅผ ๊ตํ™˜ํ•˜๊ธฐ ์ „์— ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋Š” SSL ํ•ธ๋“œ์‰์ดํฌ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

 

๐Ÿ“ก HTTP์™€ HTTPS

HTTP๋Š” ์•”ํ˜ธํ™”๊ฐ€ ์ถ”๊ฐ€๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ์— ์ทจ์•ฝํ•œ ๋ฐ˜๋ฉด, HTTPS๋Š” ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ HTTPS๋ฅผ ์ด์šฉํ•˜๋ฉด ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™”์˜ ๊ณผ์ •์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— HTTP๋ณด๋‹ค ์†๋„๊ฐ€ ๋А๋ฆฌ๋‹ค.๋˜ํ•œ HTTPS๋Š” ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•˜๊ณ  ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๋‹ค.

๊ฐœ์ธ ์ •๋ณด์™€ ๊ฐ™์€ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์•„์•ผ ํ•œ๋‹ค๋ฉด HTTPS๋ฅผ ์ด์šฉํ•ด์•ผ ํ•˜์ง€๋งŒ, ๋‹จ์ˆœํ•œ ์ •๋ณด ์กฐํšŒ ๋“ฑ๋งŒ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์žˆ๋‹ค๋ฉด HTTP๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.

 


REPERENCE

728x90

'Dev > Network' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Web] REST API ์™€ HTTP API  (0) 2022.01.04
HTTP ๋ฉ”์„œ๋“œ(GET,POST,PUT,PATCH,DELETE)  (1) 2021.07.12
[Network]HTTP ์ƒํƒœ์ฝ”๋“œ  (0) 2021.05.23