[๋„คํŠธ์›Œํฌ] HTTP & HTTPS

HTTP (HyperText Transfer Protocol) 

HTTP๋ž€? 

ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ํ†ต์‹  ๊ทœ์•ฝ์œผ๋กœ ์ธํ„ฐ๋„ท์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ทœ์น™
์ธํ„ฐ๋„ท ์ƒ์—์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์ž์›์„ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์“ฐ๋Š” ํ†ต์‹  ๊ทœ์•ฝ 

  1. HTTP๋Š” ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ํ†ต์‹  ๊ทœ์•ฝ์ด๋ฏ€๋กœ, ๋ˆ„๊ตฐ๊ฐ€ ๋„คํŠธ์›Œํฌ์—์„œ ์‹ ํ˜ธ๋ฅผ ๊ฐ€๋กœ์ฑ„๋ฉด ๋‚ด์šฉ์ด ๋…ธ์ถœ๋˜๋Š” ๋ณด์•ˆ ์ด์Šˆ๊ฐ€ ์กด์žฌํ•จ
  2. ์ด๋Ÿฌํ•œ ์ด์œ  ๋•Œ๋ฌธ์— HTTPS ํ”„๋กœํ† ์ฝœ์ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋จ

HTTPS (HyperText Transfer Protocol Secure) 

HTTPS๋ž€?

์ธํ„ฐ๋„ท ์ƒ์—์„œ ์ •๋ณด๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋Š” SSL ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์ž์›์„ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ์“ฐ๋Š” ํ†ต์‹  ๊ทœ์•ฝ
HTTPS๋Š” ํ…์ŠคํŠธ๋ฅผ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹์œผ๋กœ ์•”ํ˜ธํ™”ํ•จ
์•”ํ˜ธํ™” ๊ณผ์ •์œผ๋กœ ์ธํ•œ ์†๋„ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค

 

๋Œ€์นญํ‚ค 

๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ์ชฝ๊ณผ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๋Š” ์ชฝ์ด ์•”ํ˜ธํ™”, ๋ณตํ˜ธํ™” ๋ฐฉ์‹์„ ๊ณต์œ ํ•˜๋Š” ๋ฐฉ๋ฒ•. ๋‹ค์‹œ ๋งํ•˜๋ฉด ์„œ๋กœ ๋™์ผํ•œ ํ‚ค๊ฐ’์„ ์•Œ๊ณ  ์žˆ๋Š” ์ƒํƒœ๋กœ ๋ฐœ์‹ ํ•˜๋Š” ์ชฝ์ด ํ‚ค๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”ํ•˜๋ฉด ์ˆ˜์‹ ํ•˜๋Š” ์ชฝ์€ ๋ฐœ์‹ ์ชฝ์ด ์‚ฌ์šฉํ•œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฐ˜๋Œ€๋กœ ๋Œ๋ ค ๋ณตํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

 

๋น„๋Œ€์นญํ‚ค(๊ณต๊ฐœํ‚ค)

ํ‚ค ๋‘๊ฐœ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹, A์™€ B ํ‚ค ๋‘๊ฐœ๊ฐ€ ์กด์žฌํ•˜๋ฉด Aํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜๋ฉด Bํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๊ณ  Bํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜๋ฉด Aํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํฌํ„ธ ์„œ๋ฒ„๋Š” ์ž์‹ ์˜ ๊ฐœ์ธํ‚ค๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ๊ณต๊ฐœํ‚ค๋ฅผ ๋Œ€์ค‘์—๊ฒŒ ๊ณต๊ฐœํ‚ค๋ฅผ ๊ณต๊ฐœํ•œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๊ณต๊ฐœํ‚ค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•”ํ˜ธํ™”ํ•˜์—ฌ ํฌํ„ธ ์„œ๋ฒ„์— ์ „๋‹ฌํ•œ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ํ•ดํ‚น๋‹นํ•˜๋”๋ผ๋„ ํฌํ„ธ ์„œ๋ฒ„๋งŒ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ„ธ๋ฆด ์šฐ๋ ค๊ฐ€ ์ ๋‹ค. ํฌํ„ธ ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋ณด๋‚ด๋Š” ๋ฐ์ดํ„ฐ๋Š” ํฌํ„ธ ์„œ๋ฒ„์˜ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”๊ฐ€ ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฐœํ‚ค๋กœ๋งŒ ๋ณตํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ž˜๋ชป๋œ ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์˜ค๋Š” ์š”์ฒญ์€ ํฌํ„ธ ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•˜๊ฒŒ ๋˜๋ฉด ๋ณตํ˜ธํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ž˜๋ชป๋œ ์š”์ฒญ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

CA ๋ž€?

Certificate Authority์˜ ์•ฝ์ž, ๊ณต๊ฐœํ‚ค๋ฅผ ์ €์žฅํ•ด์ฃผ๋Š” ๊ฒ€์ฆ๋œ ๋ฏผ๊ฐ„๊ธฐ์—…์„ ์˜๋ฏธ, ๋งŒ์•ฝ ๊ฒ€์ฆ๋˜์ง€ ์•Š์€ CA ๊ธฐ์—…์—์„œ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•œ ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์‚ฌ์ดํŠธ, ์ฃผ์˜ ์š”ํ•จ๊ณผ ๊ฐ™์€ ์•Œ๋ฆผ์œผ๋กœ ์ฃผ์˜๋ฅผ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—๋Š” ์ด๋ฏธ CA ๊ธฐ์—… ์ธ์ฆ์„œ๊ฐ€ ์ด๋ฏธ ๋‚ด์žฅ๋˜์–ด ์žˆ๋‹ค.

HTTPS ๋กœ์ง

1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฌด์ž‘์œ„ ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์—๊ฒŒ ์ „๋‹ฌ

2. ์„œ๋ฒ„๋Š” ๋ฌด์ž‘์œ„ ๋ฐ์ดํ„ฐ์™€ ํ•ด๋‹น ์„œ๋ฒ„์˜ ์ธ์ฆ์„œ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌ 

3. ํด๋ผ์ด์–ธํŠธ๋Š” ๋ธŒ๋ผ์šฐ์ €์— ๋‚ด์žฅ๋œ CA๋“ค์˜ ์ •๋ณด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธ์ฆ์„œ๊ฐ€ ์ง„์งœ์ธ์ง€ ํ™•์ธํ•œ๋‹ค.

     3-1. ์ด๋•Œ ๋น„๋Œ€์นญํ‚ค๋ฅผ ํ™œ์šฉํ•˜๋Š”๋ฐ CA์˜ ์ธ์ฆ์„ ๋ฐ›์€ ์ธ์ฆ์„œ๋“ค์€ CA์˜ ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”๊ฐ€ ๋˜์–ด์žˆ๋‹ค.

     3-2. ๋ธŒ๋ผ์šฐ์ €์— ์กด์žฌํ•˜๋Š” ๊ณต๊ฐœํ‚ค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ณตํ˜ธํ™”๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธํ•˜๊ณ , ๋ณตํ˜ธํ™” ํ•œ๋‹ค.

4. ์ธ์ฆ์„œ๊ฐ€ ํ™•์ธ ๋œํ›„ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๋Š” ๋น„๋Œ€์นญํ‚ค ๋ฐฉ์‹๊ณผ ๋Œ€์นญํ‚ค ๋ฐฉ์‹์„ ์ ์ ˆํžˆ ํ™œ์šฉํ•˜์—ฌ ํ†ต์‹ ํ•œ๋‹ค. (์˜ค๋ฒ„ํ—ค๋“œ ๋•Œ๋ฌธ) 

     4-1. ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ๋Š” ๋Œ€์นญํ‚ค ๋ฐฉ์‹์„ ์ด์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”, ๋ณตํ˜ธํ™” ํ•œ๋‹ค.

     4-2. ํด๋ผ์ด์–ธํŠธ๋Š” ๋งจ ์ฒ˜์Œ ์ฃผ๊ณ  ๋ฐ›์€ ๋ฐ์ดํ„ฐ ๋‘๊ฐœ๋ฅผ ํ˜ผํ•ฉํ•˜์—ฌ ์ž„์‹œํ‚ค๋ฅผ ๋งŒ๋“  ํ›„ ์„œ๋ฒ„์˜ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์„œ๋ฒ„์—๊ฒŒ ์ „๋‹ฌํ•œ๋‹ค.

     4-3. ์–‘์ชฝ์—์„œ์˜ ์ผ๋ จ์˜ ๊ณผ์ •์„ ๊ฑฐ์ณ ๋™์ผํ•œ ๋Œ€์นญํ‚ค๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค. -> ์ด ๋Œ€์นญํ‚ค๋Š” ๋‘˜๋งŒ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ„ธ๋ฆด ์šฐ๋ ค๊ฐ€ ์ ๋‹ค.

     

 

Reference

https://github.com/gyoogle/tech-interview-for-developer

 

gyoogle/tech-interview-for-developer

๐Ÿ‘ถ๐Ÿป ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ „๊ณต ์ง€์‹ & ๊ธฐ์ˆ  ๋ฉด์ ‘ ๋ฐฑ๊ณผ์‚ฌ์ „ ๐Ÿ“–. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.

github.com

https://velog.io/@surim014/HTTP%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

 

HTTP๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

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

velog.io

https://www.yalco.kr/31_https/