![[Web] HTTP์ HTTPS์ ์ฐจ์ด](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcA756u%2FbtsJVXSMdtQ%2FRgAi2yNdQ7OFfk3LLQgiyK%2Fimg.png)
๐ HTTP์ HTTPS์ ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ์?
์น ๋ธ๋ผ์ฐ์ ์์ ์ธํฐ๋ท์ ํตํด ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์ฌ์ฉํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํ๋กํ ์ฝ ์ค ํ๋๊ฐ HTTP (HyperText Transfer Protocol)์์. HTTP๋ ์น์ฌ์ดํธ์์ HTML, ์ด๋ฏธ์ง, ๋น๋์ค ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ๊ท์น์ ์ ์ํด์. ๋ฐ๋ฉด, HTTPS (HyperText Transfer Protocol Secure)๋ HTTP์ ๋ณด์์ ๋ํ ํ๋กํ ์ฝ๋ก, ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ํด์ปค๋ ์ค๊ฐ ๊ณต๊ฒฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฟ๋ณด์ง ๋ชปํ๊ฒ ๋ณดํธํด์.
๋น์ ํ์๋ฉด, HTTP๋ ํธ์ง๋ฅผ ์ฐํธ์ผ๋ก ๋ณด๋ด๋ ๊ฒ๊ณผ ๊ฐ์์. ํธ์ง๋ ๋๊ตฌ๋ ์ฝ๊ฒ ์ฝ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณด์์ ์ทจ์ฝํ์ฃ . ๋ฐ๋ฉด์, HTTPS๋ ์ด ํธ์ง๋ฅผ ๋ดํฌ์ ๋ฃ๊ณ ์ ๊ธ ์ฅ์น๋ก ๋ด์ธํด์ ๋ณด๋ด๋ ๊ฒ๊ณผ ๊ฐ์์. ์ด ๋ดํฌ๋ ์ด์ ๋ฅผ ๊ฐ์ง ์ฌ๋๋ง ์ด ์ ์๊ธฐ ๋๋ฌธ์ ์ค๊ฐ์ ๋๊ฐ ํธ์ง๋ฅผ ๋ณด๋๋ผ๋ ๋ด์ฉ์ ๋ณผ ์ ์์ด์.
๐ฅ๏ธ HTTP์ HTTPS์ ๊ธฐ๋ณธ ๊ฐ๋
1. HTTP (HyperText Transfer Protocol)
- HTTP๋ ์ธํฐ๋ท ์์์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ๊ธฐ๋ณธ ํ๋กํ ์ฝ์ด์์.
- ์ด ํ๋กํ ์ฝ์ ๋ฐ์ดํฐ๋ฅผ ํ๋ฌธ(์ํธํ๋์ง ์์ ์ํ)์ผ๋ก ์ ์กํด์.
- ์ฃผ๋ก 80๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์น ํ์ด์ง, ์ด๋ฏธ์ง, ํ์ผ ๋ฑ ๋ค์ํ ๋ฆฌ์์ค๋ฅผ ์๋ฒ์ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ ์ฌ์ฉ๋ผ์.
// HTTP ์์ฒญ์ ๋ณด๋ด๋ ๊ธฐ๋ณธ์ ์ธ ์
fetch('http://example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
์ด ์ฝ๋์์๋ HTTP๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ณ ์์ด์.
http://๋ก ์์ํ๋ URL์ ๋ฐ์ดํฐ๊ฐ ์ํธํ๋์ง ์์ ์ํ๋ก ์ ์ก๋๋ค๋ ์๋ฏธ์์.
์ฆ, ๋คํธ์ํฌ์์ ์ค๊ฐ์ ๋๊ตฐ๊ฐ๊ฐ ์์ฒญ์ ๊ฐ๋ก์ฑ๋ค๋ฉด, ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ๋ณผ ์ ์์ด์.
2. HTTPS (HyperText Transfer Protocol Secure)
- HTTPS๋ HTTP์ ๋ณด์ ๊ณ์ธต์ ์ถ๊ฐํ ํ๋กํ ์ฝ๋ก, ๋ฐ์ดํฐ๋ฅผ ์ํธํํด์ ์ ์กํด์.
- HTTPS๋ SSL(Secure Sockets Layer) ๋๋ TLS(Transport Layer Security)๋ผ๋ ์ํธํ ํ๋กํ ์ฝ์ ์ฌ์ฉํด ๋ฐ์ดํฐ์ ๋ณด์์ ๋ณด์ฅํด์.
- 443๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ฉฐ, ํนํ ๊ฐ์ธ ์ ๋ณด, ๊ฒฐ์ ์ ๋ณด ๋ฑ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ ํ์์ ์ผ๋ก ์ฌ์ฉ๋ผ์.
// HTTPS ์์ฒญ์ ๋ณด๋ด๋ ๊ธฐ๋ณธ์ ์ธ ์
fetch('https://example.com/data')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
์ด๋ฒ์๋ https://๋ก ์์ํ๋ URL์ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ์ด์.
HTTPS๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๊ธฐ ์ ์ ์ํธํํ๊ธฐ ๋๋ฌธ์, ์ค๊ฐ์ ๋ฐ์ดํฐ๊ฐ ๊ฐ๋ก์ฑ์ง๋๋ผ๋ ์ฝ๊ฒ ํด๋ ํ ์ ์์ด์.
๋ฐ๋ผ์, ๋ ์์ ํ ํต์ ์ด ๊ฐ๋ฅํด์ง๋๋ค.
๐ค HTTP์ HTTPS์ ์ฃผ์ ์ฐจ์ด์
HTTP์ HTTPS๋ ๋ชจ๋ ์น์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ํ๋กํ ์ฝ์ด์ง๋ง, ๋ณด์์ฑ์์ ํฐ ์ฐจ์ด๊ฐ ์์ด์. ์ฃผ์ ์ฐจ์ด์ ๋ช ๊ฐ์ง๋ฅผ ์ดํด๋ณผ๊ฒ์.
1. ๋ฐ์ดํฐ ์ ์ก์ ๋ณด์์ฑ
- HTTP๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ง ์๊ณ ํ๋ฌธ์ผ๋ก ์ ์กํด์. ์ด ๋ง์, ๋ฐ์ดํฐ๊ฐ ์ค๊ฐ์ ๋ ธ์ถ๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค๋ ๋ป์ด์์.
- ๋ฐ๋ฉด, HTTPS๋ SSL/TLS๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ํธํํด์ ์ ์กํ๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ก์ฑ๋๋ผ๋ ์ด๋ฅผ ํด๋ ํ๋ ๊ฒ์ด ๋งค์ฐ ์ด๋ ค์์.
2. SSL/TLS ์ธ์ฆ์ ์ฌ์ฉ
- HTTP๋ ๋ณ๋์ ๋ณด์ ์ธ์ฆ์๋ฅผ ํ์๋ก ํ์ง ์์์.
- HTTPS๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๊ธฐ ์ํด SSL ๋๋ TLS ์ธ์ฆ์๊ฐ ํ์ํด์. ์ด ์ธ์ฆ์๋ ์ ๋ขฐํ ์ ์๋ ๊ธฐ๊ด(CA, Certificate Authority)์์ ๋ฐ๊ธํ๋ฉฐ, ์ด ์ธ์ฆ์๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํต์ ์ด ์์ ํ๋ค๋ ๊ฒ์ ๋ณด์ฅํด์.
3. URL์ ์ฐจ์ด
- HTTP๋ URL์ด
http://
๋ก ์์ํด์. - HTTPS๋ URL์ด
https://
๋ก ์์ํ๋ฉฐ, ์ด๋ฅผ ํตํด ๋ธ๋ผ์ฐ์ ๋ ํด๋น ์ฌ์ดํธ๊ฐ ์ํธํ๋ ์ฐ๊ฒฐ์ ์ฌ์ฉํ๊ณ ์์์ ์ธ์ํด์.
4. ์ฑ๋ฅ์ ์ฐจ์ด
- HTTP๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ง ์๊ธฐ ๋๋ฌธ์ ์๋๊ฐ ์กฐ๊ธ ๋ ๋น ๋ฅผ ์ ์์ด์.
- HTTPS๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ๊ณ ๋ณตํธํํ๋ ๊ณผ์ ์ด ํ์ํด ์ฝ๊ฐ์ ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ ์ ์์ง๋ง, HTTP/2 ๋ฑ์ ์ต์ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ ์ ํ๋ฅผ ์ต์ํํ ์ ์์ด์.
๐จ ์ฃผ์ํ ์
- ๋ณด์์ด ์ค์ํ ์น์ฌ์ดํธ์์๋ HTTPS๋ฅผ ๋ฐ๋์ ์ฌ์ฉํด์ผ ํด์. ํนํ, ์ฌ์ฉ์์ ๋ก๊ทธ์ธ ์ ๋ณด, ๊ฒฐ์ ์ ๋ณด์ ๊ฐ์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๊ฒฝ์ฐ์๋ HTTPS๊ฐ ํ์์ ์ด์์. ๊ทธ๋ ์ง ์์ผ๋ฉด, ํด์ปค๊ฐ ์ด๋ฌํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ก์ฑ์ด ์ ์ฉํ ์ ์์ด์.
- HTTPS๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํด์ ์๋ฒฝํ ๋ณด์์ ์ ๊ณตํ๋ ๊ฒ์ ์๋์์. HTTPS๋ ๋ฐ์ดํฐ ์ ์ก ์ค์๋ง ๋ณด์์ ๋ณด์ฅํด์. ์๋ฒ๋ ํด๋ผ์ด์ธํธ ์์ฒด์ ๋ณด์ ๋ฌธ์ ๋ HTTPS๋ก ํด๊ฒฐํ ์ ์์ผ๋, ์ฌ์ดํธ์ ์ ์ฒด์ ์ธ ๋ณด์์ ํญ์ ์ ๊ฒฝ ์จ์ผ ํด์.
- HTTPS ์ธ์ฆ์๋ ์ ํจ ๊ธฐ๊ฐ์ด ์์ด์. SSL/TLS ์ธ์ฆ์๋ ์ ๊ธฐ์ ์ผ๋ก ๊ฐฑ์ ํด์ผ ํ๋ฉฐ, ๋ง๋ฃ๋ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ๋ฉด ๋ธ๋ผ์ฐ์ ์์ ์ฌ์ดํธ๊ฐ ์์ ํ์ง ์๋ค๋ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ๋จ๊ฒ ๋ฉ๋๋ค.
- HTTP์์ HTTPS๋ก์ ์ ํ ์ ๊ณ ๋ คํด์ผ ํ ์ ์ URL ๊ตฌ์กฐ๊ฐ ๋ฐ๋๊ธฐ ๋๋ฌธ์, ๊ธฐ์กด์ HTTP URL์ด ์๋ํ์ง ์์ผ๋ฉด ๊ฒ์ ์์ง ์์์ ์ํฅ์ ๋ฏธ์น ์ ์์ด์. ์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด 301 ๋ฆฌ๋๋ ์ ์ ์ค์ ํด HTTP์์ HTTPS๋ก ํธ๋ํฝ์ ์์ ํ๊ฒ ๋๊ฒจ์ผ ํด์.
๐ ๊ฒฐ๋ก
HTTP์ HTTPS๋ ์น์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ๊ธฐ๋ณธ์ ์ธ ํ๋กํ ์ฝ์ด์์. HTTP๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ง ์์ ์ํ๋ก ์ ์กํ๊ธฐ ๋๋ฌธ์ ๋ณด์์ ์ทจ์ฝํ์ง๋ง, HTTPS๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ๋ณด์์ฑ์ ๋์ฌ์. ๋ฐ๋ผ์, ๊ฐ์ธ์ ๋ณด๋ฅผ ๋ค๋ฃจ๊ฑฐ๋ ์จ๋ผ์ธ ๊ฒฐ์ ๋ฑ์ ์ ๊ณตํ๋ ์น์ฌ์ดํธ๋ผ๋ฉด ๋ฐ๋์ HTTPS๋ฅผ ์ฌ์ฉํด์ผ ํด์. HTTPS๋ SSL/TLS ์ธ์ฆ์๋ฅผ ํตํด ๋ณด์์ ์ ๊ณตํ๋ฉฐ, ๋ฐ์ดํฐ ์ ์ก ์ค ํด์ปค๊ฐ ์ ๋ณด๋ฅผ ๊ฐ๋ก์ฑ๋๋ผ๋ ์ฝ๊ฒ ํด๋ ํ ์ ์๋๋ก ๋ณดํธํด ์ค๋๋ค.
์ธํฐ๋ท ์ฌ์ฉ์์ ์น ๊ฐ๋ฐ์๋ ๋ณด์์ ์ค์์ฑ์ ์ธ์งํ๊ณ , HTTPS๋ฅผ ์ฌ์ฉํ๋ ์น์ฌ์ดํธ๋ฅผ ์ ๋ขฐํด์ผ ํด์. HTTPS๋ ์ ๋ขฐํ ์ ์๋ ์น ํ๊ฒฝ์ ๋ง๋ค๊ธฐ ์ํ ํ์์ ์ธ ์์๋ก ์๋ฆฌ ์ก๊ณ ์์ผ๋ฉฐ, ์ฌ์ดํธ์ ๋ณด์์ฑ์ ๋์ด๊ณ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํด์.
๐ ์ถ๊ฐ ์ ๋ณด
- HTTP์ HTTPS์ ๋ํ ๋ ๊น์ ์ดํด๋ฅผ ์ํ์ ๋ค๋ฉด, MDN Web Docs์์ ์์ธํ ์ ๋ณด๋ฅผ ์ฐพ์๋ณผ ์ ์์ด์.
ํฌ์คํ ์ด ์ข์๋ค๋ฉด "์ข์์โค๏ธ" ๋๋ "๊ตฌ๋ ๐๐ป" ํด์ฃผ์ธ์!