๐
HTTP์ ์น ๊ตฌ์กฐ
June 01, 2024
HTTP and Web structure
์น์ HTTP๋ฅผ ์ด์ฉํด์ ํต์ ํ๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ก ๊ตฌ์ฑ๋จ
- ์๋ฒ: ๋ใ
์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ์ ์ฒ๋ฆฌํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐฐํฌํ๋ ์์คํ
- ์น ์๋ฒ: ์ ์ ์ธ ํ์ด์ง๋ฅผ ์๋น์คํจ
- ์น ์ดํ๋ฆฌ์ผ์ด์ ์๋ฒ: ํด๋ผ์ด์ธํธ ์์ฒญ์ ๋ฐ์ดํฐ๋ฅผ ๋์ ์ผ๋ก ์ฒ๋ฆฌํ์ฌ ์๋น์ค๋ฅผ ์ง์ํจ
- ํด๋ผ์ด์ธํธ: ๋คํธ์ํฌ๋ฅผ ํตํด ํ์ํ ์๋น์ค๋ฅผ ์์ฒญํ๋ ์์คํ
์น ํ๋ ์์ํฌ ๊ตฌ์กฐ
- ์ ์ ์์ฒญ: ๋ก์ปฌ ์ ์ฅ์์์ ํ์ผ์ ์ฐพ์์ ์๋ต
- ๋์ ์์ฒญ: ๋์ ์์ฒญ ์ฒ๋ฆฌ๋ฅผ ์ํ ์น ์ ํ๋ฆฌ์ผ์ด์ ํธ์ถ
- ์๋ธ๋ฆฟ(servlet): ์น ์๋น์ค๋ฅผ ์ํ ์ธํฐํ์ด์ค, HTTP ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ ๊ท๊ฒฉ
์ฟ ํค์ ์ธ์
HTTP ํ๋กํ ์ฝ์ ๋ ๊ฐ์ง ํน์ง
- ๋น์ฐ๊ฒฐ์งํฅ(Connectionless)
- HTTP๋ ํ ๋ฒ์ TCP ์ฐ๊ฒฐ์์ ํ๋์ ์์ฒญ๊ณผ ์๋ต์ ์ฒ๋ฆฌํ๊ณ ์ฐ๊ฒฐ์ ์ข ๋ฃํจ
- ํด๋ผ์ด์ธํธ์ ์ ๋ณด๊ฐ ์ง์์ ์ผ๋ก ์๋ฒ์์ ๊ด๋ฆฌ๋์ง ์์
- ๋ฌด์ํ ํ๋กํ ์ฝ(Stateless)
- ์ฐ๊ฒฐ์ ์ข ๋ฃํ๋ ์๊ฐ ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ํต์ ์ด ๋๋จ, ์ํ ์ ๋ณด ์ ์งํ์ง ์์
์ฟ ํค
- ์ฟ ํค๋ HTTP ํต์ ์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ์งํ๊ธฐ ์ํด ์๋ฒ์์ ์์ฑํ์ฌ ์๋ต ํค๋์ ๋ถ์ฌ ํด๋ผ์ด์ธํธ์ ์ ์กํ๋ ์ ๋ณด์ด๋ค.
- ์ฟ ํค ์ ๋ณด๋ ํด๋น ์ฌ์ดํธ์ ์์ฒญ์ ์ ์กํ ๋ ์ด๋ฆ = ๊ฐ ํ์์ผ๋ก ์์ฒญ ํค๋์ ํฌํจ๋์ด ์๋ฒ์ ์ ๋ฌ๋๋ค.
- ์ฟ ํค์ ์ ์ฝ ์ฌํญ์ ๋ธ๋ผ์ฐ์ ๋น ์ต๋ 300๊ฐ, ๊ฐ ํธ์คํธ๋ง๋ค ์ต๋ 20๊ฐ ๊น์ง ์ฌ์ฉ๊ฐ๋ฅํ๋ฉฐ, ํฌ๊ธฐ๋ ์ต๋ 4KB์ด๋ค.
์ธ์ ์ฟ ํค | ์์ ์ฟ ํค |
---|---|
๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ ค์๋ ๋์ ์ ํจํ ์ฟ ํค, ์๋ฒ๋ฅผ ์ด์ฉํ๋ ๋์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ์งํ๊ธฐ ์ํด ์ฌ์ฉ | ํ๋๋์คํฌ์ ์ ํจ๊ธฐ๊ฐ ๋์ ์ ์ฅ๋๋ ์ฟ ํค, ์ฌ์ดํธ ์ฌ ๋ฐฉ๋ฌธ ์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ธฐ์ตํ๊ธฐ ์ํด ์ฃผ๋ก ์ฌ์ฉ |
๋ํ์ ์ธ ์ฟ ํค ์ต์
- Domain: ๋ธ๋ผ์ฐ์ ๊ฐ ์ฟ ํค๊ฐ์ ์ ์กํ ์๋ฒ์ ๋๋ฉ์ธ ์ง์
- Path: ๋ธ๋ผ์ฐ์ ๊ฐ ์ฟ ํค๊ฐ์ ์ ์กํ URL ์ง์
- Expires: ์ฟ ํค์ ์ ํจ ๊ธฐ๊ฐ ์ค์
- Secure: SSL ํต์ ์ฑ๋ ์ฐ๊ฒฐ์๋ง ์ฟ ํค๋ฅผ ์ ์กํ๋๋ก ์ค์
- HttpOnly: ์๋ฐ ์คํฌ๋ฆฝํธ์์ ์ฟ ํค๊ฐ์ ์ฝ์ด๊ฐ์ง ๋ชปํ๋๋ก ์ค์
์ธ์
- ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ๋ ผ๋ฆฌ์ ์ธ ์ฐ๊ฒฐ, ๋ฌด์ํ ํ๋กํ ์ฝ์ธ HTTP๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์๋ฒ๋ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ ์งํ๊ธฐ ์ํด ์๋ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ ๋ธ๋ผ์ฐ์ ๋ณ๋ก ์ธ์ ์์ญ์ ํ ๋นํ๊ณ ๊ฐ๊ฐ์ ์์ญ์ ์ธ์ ID๋ก ๊ตฌ๋ถ, ์ด๊ฒ์ ์ธ์ ํ ํฐ์ด๋ผ ๋ถ๋ฅธ๋ค.
- ์ผ์ ์๊ฐ ๋์ ๊ฐ์ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )๋ก๋ถํฐ ์ก์ ๋๋ ์ผ๋ จ์ request๋ฅผ ํ๋์ ์ํ๋ก ์ธ์ํ๊ณ ๊ทธ ์ํ๋ฅผ ์ ์งํ๋ ๊ธฐ์ , ํด๋ผ์ด์ธํธ๊ฐ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์น ์๋ฒ์ ์ ์ํ ์ดํ๋ก ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํ ๋ ๊น์ง ์ฐ๊ฒฐ์ด ์ ์ง๋๋ ์ํ
์ธ์ ID๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ
- HTML ํํผ ํ๋๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ
- HTML์ ํ๋ ํ๋๋ก ํด๋ผ์ด์ธํธ์ ์ ๋ฌ
- ์น ํ์ด์ง์์ ๋ณด์ฌ์ง์ง ์์
- ์์ค ๋ณด๊ธฐ๋ฅผ ํตํด ์ฝ๊ฒ ID๊ฐ ์ถ์ถ ๊ฐ๋ฅ
- URL rewriting์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ
- ํด๋ผ์ด์ธํธ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ฟ ํค ์ฌ์ฉ์ ์ ํํ ๊ฒฝ์ฐ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ, URL rewriting์ ์ฌ์ฉํ์ฌ ID๋ฅผ ์ ๋ฌํ๋ค.
- ์น ์๋ฒ์์ ์๋น์ค๋๋ ํ์ด์ง์ ๋ชจ๋ URL์ ์ธ์ ID๋ฅผ request parameter๋ก ๋ถ์ฌ์ ์ฌ์ฉ
-
localhost:8080/โฆ/jsessionid=1284AH8AJDAJD78123UASD28D7
- ์ฟ ํค๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ
- ํด๋ผ์ด์ธํธ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ฟ ํค ์ฌ์ฉ์ ํ์ฉํ๋ ๊ฒฝ์ฐ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉ๋จ
์ธ์ ์ ์ฅ์ | ์ธ์ ์ ๋จ์ |
---|---|
์ ๋ณด๋ฅผ ์๋ฒ์์ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ฟ ํค๋ณด๋ค ๋ณด์์ ์ฐ์ | ์๋ฒ ๋ถํ ์ฆ๊ฐ |