๐ฌ HTTP
HTTP
HTTP : Hypertext ์ธ HTML์ ์ ์กํ๊ธฐ ์ํ ํต์ ๊ท์ฝ
์๋ฒ/ํด๋ผ์ด์ธํธ ๋ชจ๋ธ์ ๋ฐ๋ผ ์ธํฐ๋ท ์์์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ๊ท์น์ด๋ค.
์ ํ๋ฆฌ์ผ์ด์ ๋ ๋ฒจ์ ํ๋กํ ์ฝ๋ก TCP/IP ์์์ ์๋ํ๋ค.
ํ์ง๋ง HTTP์ ์ํธํ๋์ง ์์ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ์ฌ ์ ์์ ์ธ ๊ฐ์ฒญ๊ณผ ๋ฐ์ดํฐ ๋ณ์กฐ๊ฐ ๊ฐ๋ฅํ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฑ์ฅํ ๊ฒ์ด HTTPS
- ๊ฐ๋
- HyperText Transfer Protocol
- ์น ์์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์์ฒญ/์๋ต(request/response)์ผ๋ก ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ ํ๋กํ ์ฝ
- ํน์ง
- ์ฃผ๋ก HTML ๋ฌธ์๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ์ ์ฐ์ธ๋ค.
- TCP์ UDP๋ฅผ ์ฌ์ฉํ๋ฉฐ, 80๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ค.
- ๋น์ฐ๊ฒฐ(Connectionless)
- ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ์๋ฒ์ ๋ณด๋ด๊ณ ์๋ฒ๊ฐ ์ ์ ํ ์๋ต์ ํด๋ผ์ด์ธํธ์ ๋ณด๋ด๋ฉด ๋ฐ๋ก ์ฐ๊ฒฐ์ด ๋๊ธด๋ค.
- ๋ฌด์ํ(Stateless)
- ์ฐ๊ฒฐ์ ๋๋ ์๊ฐ ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ํต์ ์ ๋๋๋ฉฐ ์ํ ์ ๋ณด๋ฅผ ์ ์งํ์ง ์๋๋ค.
HTTP ์ฅ์
- HTTP๋ ์ธํฐ๋ท ๋๋ ๋ค๋ฅธ ๋คํธ์ํฌ์ ๋ค๋ฅธ ํ๋กํ ์ฝ์ ํตํด ๊ตฌํ๋ ์ ์์ต๋๋ค.
- HTTP ํ์ด์ง๋ ๋น ๋ฅด๊ฒ ์ก์ธ์คํ ์ ์๋๋ก ์ปดํจํฐ์ ์ธํฐ๋ท ์บ์์ ์ ์ฅ๋ฉ๋๋ค.
- ํ๋ซํผ์ ๊ตฌ์ ๋ฐ์ง ์์ cross-platform porting ๊ฐ๋ฅ
- runtime support๊ฐ ํ์ํ์ง ์์ต๋๋ค.
- ๋ฐฉํ๋ฒฝ์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค! ๊ธ๋ก๋ฒ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๊ฐ๋ฅํฉ๋๋ค.
- Connected-Oriented ํ์ง ์์ ์ธ์ ์ํ ๋ฐ ์ ๋ณด๋ฅผ ์์ฑํ๊ณ ์ ์งํ๊ธฐ ์ํ ๋คํธ์ํฌ ์ค๋ฒํค๋๊ฐ ์์ต๋๋ค.
๐ฌHTTPS
HTTPS = HTTP + ์ํธํ + ์ฆ๋ช ์ + ์์ ์ฑ ์ผ๋ก HTTP์ ๋ณด์์ ์ฝ์ ์ ๋ณด์ํ ํ๋กํ ์ฝ์ด๋ค.
์ฝ์ด์์์ "S"๊ฐ ์๋ SSL(Secure Socket Layer)์ ์ฝ์์์ง๋ง SSL ๋ฒ์ 3.1๋ถํฐ TLS(Transport Layer Security)๋ก ๋ช ์นญ์ด ๋ฐ๋๊ณ TLS์ ํผ์ฉํ๊ณ ์๋ค. TCP์ ์ฐ๊ฒฐ์ด ์ด๋ฃจ์ด์ง ํ TLS๋ฅผ ํตํด ์ํธํ ์ค์ ์ด ๋๊ณ ํต์ ์ ํ๋ ๋ฐฉ์์ด๋ค.
- ๊ฐ๋
- HyperText Transfer Protocol over Secure Socket Layer
- ๋๋ HTTP over TLS, HTTP over SSL, HTTP Secure
- ์น ํต์ ํ๋กํ ์ฝ์ธ HTTP์ ๋ณด์์ด ๊ฐํ๋ ๋ฒ์ ์ ํ๋กํ ์ฝ
- HyperText Transfer Protocol over Secure Socket Layer
- ํน์ง
- HTTPS์ ๊ธฐ๋ณธ TCP/IP ํฌํธ๋ก 443๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉํ๋ค.
- HTTPS๋ ์์ผ ํต์ ์์ ์ผ๋ฐ ํ
์คํธ๋ฅผ
์ด์ฉํ๋ ๋์ ์, ์น ์์์ ์ ๋ณด๋ฅผ ์ํธํํ๋ SSL์ด๋ TLS ํ๋กํ ์ฝ์ ํตํด ์ธ์
๋ฐ์ดํฐ๋ฅผ ์ํธํํ๋ค.
- TLS(Transport Layer Security) ํ๋กํ ์ฝ์ SSL(Secure Socket Layer) ํ๋กํ ์ฝ์์ ๋ฐ์ ํ ๊ฒ์ด๋ค.
- ๋ ํ๋กํ ์ฝ์ ์ฃผ์ ๋ชฉํ๋ ๊ธฐ๋ฐ์ฑ(์ฌ์ํ ๋ณดํธ), ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ, ID ๋ฐ ๋์งํธ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ ์ธ์ฆ์ ์ ๊ณตํ๋ ๊ฒ์ด๋ค.
- ๋ฐ๋ผ์ ๋ฐ์ดํฐ์ ์ ์ ํ ๋ณดํธ๋ฅผ ๋ณด์ฅํ๋ค.
- ๋ณดํธ์ ์์ค์ ์น ๋ธ๋ผ์ฐ์ ์์์ ๊ตฌํ ์ ํ๋์ ์๋ฒ ์ํํธ์จ์ด, ์ง์ํ๋ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ๋ฌ๋ ค์๋ค.
- ๊ธ์ต ์ ๋ณด๋ ๋ฉ์ผ ๋ฑ ์ค์ํ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ HTTPS๋ฅผ, ์๋ฌด๋ ๋ด๋ ์๊ด ์๋ ํ์ด์ง๋ HTTP๋ฅผ ์ฌ์ฉํ๋ค.
HTTPS ๊ฐ ํ์ํ ์ด์ : ์ํธ ๊ธฐ์
์ค๊ฐ์์ ์ ๋ณด๋ฅผ ๋ณผ ์ ์๋๋ก ์ฃผ๊ณ ๋ฐ๋ ์ ๋ณด๋ฅผ ์ํธํํ๋ ๋ฐฉ๋ฒ์ธ HTTPS๋ฅผ ์ฌ์ฉ
๊ธฐ๋ฐ์ฑ, ๋ฌด๊ฒฐ์ฑ, ์ธ์ฆ์ด HTTPS์๋ง ํ์ ๋ ๊ฒ์ ์๋๋ค. ์ด๋ฌํ ํน์ง์ ์ํธ ๊ธฐ์ ์ ํต์ฌ ๊ฐ๋ ์ด๋ค.
๊ธฐ๋ฐ์ฑ
- HTTPS๋ ์ธํฐ๋ท๊ณผ ๊ฐ์ ๊ณต๊ณต ๋งค์ฒด์์ ๋ ์ฐธ์ฌ์๊ฐ์ ํต์ ์ ๋ณดํธํ๋ค.
- ๊ธฐ๋ฐ์ฑConfidentiality์ ํ๋ผ์ด๋ฒ์๋ค. ์ฆ, ๊ธฐ๋ฐ์ฑ์ ์ธ์ฆ๋์ง ์์ ์ 3์๊ฐ ์ ๋ณด๋ฅผ ์ฝ์ง ๋ชปํ๋๋ก ๋ณดํธํ๋ค.
- ์ํธํ ์ ๋ณตํธํ์ ๊ณผ์ ์ ๊ฑธ์น๋ค.
ex) HTTPS๊ฐ ์๋ค๋ฉด ์์ดํ์ด ์์ธ์ค ํฌ์ธํธ๋ฅผ ์ด์ํ๋ ์ฌ๋์ ์์ธ์ค ํฌ์ธํธ ์ฌ์ฉ์๊ฐ ์จ๋ผ์ธ์์ ์ฌ์ฉํ๋ ์ ์ฉ์นด๋, ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ์ ๊ฐ์ ๊ฐ์ธ์ ๋ณด๋ฅผ ๋ณผ ์ ์๋ค.
๋ฌด๊ฒฐ์ฑ
- HTTPS๋ ๋ณ์กฐ๋์ง ์์ ์ ๋ณด๋ก ๋ชฉ์ ์ง์ ๋๋ฌํ๊ฒ ํจ
(1)์ ์ฒด ์ ๋ณด๊ฐ ์ ๋์ฐฉํ์ผ๋ฉฐ, (2)์ ์ก ์ค์ ๋๊ฐ ๋ณ์กฐํ์ง ์์์์ ๋ณด์ฅํ๋ค.
ex) ์์ดํ์ด๊ฐ ์น์ฌ์ดํธ์ ๊ด๊ณ ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋, ๋์ญํญ์ ์ ์ฝํ๊ณ ์ ์ด๋ฏธ์ง ํ์ง์ ์ ํ์ํค๊ฑฐ๋, ์ฝ๋ ๊ธฐ์ฌ์ ๋ด์ฉ์ ๋ณ์กฐํ ์ ์์ง๋ง, HTTPS๋ ์น์ฌ์ดํธ๋ฅผ ๋ณ์กฐํ ์ ์๋๋ก ํ๋ค.
์ธ์ฆ
- HTTPS๋ฅผ ํตํด ์น์ฌ์ดํธ ์ง์ ์ฌ๋ถ๋ฅผ ์ ์ ์์.
- ๊ณต๊ฐ ํค ์ธํ๋ผ์ ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ฐ๋ ๋ฌธ์ ๋ ์์ชฝ ๋น์ฌ์๊ฐ (๋ฌผ๋ฆฌ์ ์ผ๋ก ๋จ์ด์ ธ ์๋) ์๋ํธ์ด ์ค์ ๋ก ๋๊ตฌ์ธ์ง ์ ๋ฐฉ๋ฒ์ด ์๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋์ ์๋ํธ์ ์ ์์ ๋ณด์ฆํ๊ธฐ ์ํด ์ํธ ์ ๋ขฐํ ์ ์๋ ์ 3์, ์ฆ ์ธ์ฆ ๊ธฐ๊ดcertificate authority, CA์ ์ด์ฉํ๋ค.
ex) ์์ดํ์ด ์ก์ธ์คํฌ์ธํธ๋ฅผ ์ด์ํ๋ ์ฌ๋์ด ๊ฐ์ง ์น์ฌ์ดํธ๋ฅผ ๋ธ๋ผ์ฐ์ ์ ๋ณด๋ผ ์๋ ์๋๋ฐ, HTTPS๋ ์ด ์ฌ์ดํธ๊ฐ ์ค์ ์ฌ์ดํธ์ธ์ง ํ์ธํ๋ค.
HTTPS์ ์ฅ๋จ์
- ์ฅ์
- ๋ณด์ : ๋คํธ์ํฌ ์์์ ์ด๋, ์์ ์ด ๋ถ๊ฐ๋ฅํ๋ฏ๋ก ์์ ํ๋ค.
- SEO(๊ฒ์์์ง์ต์ ํ)์ ์ ๋ฆฌํ์ฌ ๋ง์ผํ ์ธก๋ฉด์์๋ HTTPS๋ ์ ๋ฆฌํ๋ค.
- ๊ฒ์์ HTTPS๋ ์ฐ์ ์์๋ฅผ ์ฐจ์งํ๊ณ ์๋ค. ๋์ผ ํค์๋์ ์ฌ์ดํธ์์ HTTP์ฌ์ดํธ๋ณด๋ค HTTPS ์ฌ์ดํธ๊ฐ ๋์ฑ ์ฐ์ ์์๋ฅผ ์ฐจ์งํ๋ค. ๋ฐ๋ผ์ ๊ฐ์ธ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ฌ์ดํธ๋๋ผ๋ ๊ฒ์ ์ต์ ํ๋ฅผ ์ํด https์ ์ฌ์ฉ์ด ์ ๋ฆฌํ๋ค.
- ๋จ์
- ์ํธํ๋ฅผ ํ๋ ๊ณผ์ ์ด ์น ์๋ฒ์ ๋ถํ๋ฅผ ์ค๋ค.
- HTTPS๋ ์ค์น ๋ฐ ์ธ์ฆ์๋ฅผ ์ ์งํ๋๋ฐ ์ถ๊ฐ ๋น์ฉ์ด ๋ฐ์ํ๋ค.
- HTTP์ ๋นํด ๋๋ฆฌ๋ค. โ ์ค๋๋ ์๋ ๊ฑฐ์ ์ฐจ์ด๋ฅผ ๋ชป๋๋ ์ ๋์ด๋ค.
- ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ๋๊ธด ๊ฒฝ์ฐ ์ฌ์ธ์ฆ ์๊ฐ์ด ์์๋๋ค.
- HTTP๋ ๋น์ฐ๊ฒฐํ์ผ๋ก ์น ํ์ด์ง๋ฅผ ๋ณด๋ ์ค ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ๋๊ฒผ๋ค๊ฐ ๋ค์ ์ฐ๊ฒฐ๋์ด๋ ํ์ด์ง๋ฅผ ๊ณ์ ๋ณผ ์ ์๋ค.
- ๊ทธ๋ฌ๋ HTTPS์ ๊ฒฝ์ฐ์๋ ์์ผ(๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒฝ๋ก) ์์ฒด์์ ์ธ์ฆ์ ํ๊ธฐ ๋๋ฌธ์ ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ๋๊ธฐ๋ฉด ์์ผ๋ ๋์ด์ ธ์ ๋ค์ HTTPS ์ธ์ฆ์ด ํ์ํ๋ค.
์ถ์ฒ
- //ko.wikipedia.org/wiki/HTTPS
- //jeong-pro.tistory.com/89//m.blog.naver.com/reviewer__/221294104297
- //www.ibm.com/support/knowledgecenter/ko/SSFKSJ_7.1.0/com.ibm.mq.doc/sy10630_.htm
- //brunch.co.kr/@hyoi0303/10
- //dailyscat.gitbook.io/twis/network/https
- //github.com/baeharam/Must-Know-About-Frontend/blob/main/Notes/network/https.md
- //goddaehee.tistory.com/169
- //hyeran-story.tistory.com/159
- //mangkyu.tistory.com/98
- //artist-developer.tistory.com/23
- //seopressor.com/blog/http-vs-https/
- //m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=vjhh0712v&logNo=221439905323
- //webactually.com/2018/11/16/http์์-https๋ก-์ ํํ๊ธฐ-์ํ-์๋ฒฝ-๊ฐ์ด๋/