HTTP ํ๋กํ ์ฝ์ ๋น์ฐ๊ฒฐ ์งํฅ์ผ๋ก ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ฐ๋ผ ์๋ต์ ๋ณด๋ด์ฃผ๋ฉด ๋ฐ๋ก ์ฐ๊ฒฐ์ ๋๋๋ค. ๋, ์ฐ๊ฒฐ์ ๋๋ ์๊ฐ ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ํต์ ์ด ์ข ๋ฃ๋๋ฉฐ ์ํ ์ ๋ณด๋ฅผ ์ ์งํ์ง ์๋๋ค. ์ด์ ๊ฐ์ ํน์ฑ์ผ๋ก HTTP ํ๋กํ ์ฝ์ ๋ชจ๋ ์์ฒญ ๊ฐ์ ์์กด ๊ด๊ณ๊ฐ ์์ด ํ์ฌ ์ ์ํ ์ฌ์ฉ์๊ฐ ์ด์ ์ ์ ์ํ ์ฌ์ฉ์์ ๊ฐ์ ์ฌ์ฉ์์ธ์ง ํ์ธํ์ง ๋ชปํ๋ค. ์ฆ, ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ํต์ ํ ๋๋ง๋ค ์๋กญ๊ฒ ์ฐ๊ฒฐํด์ผ ํ๋ฉฐ ํด๋ผ์ด์ธํธ๋ ๋งค ์์ฒญ๋ง๋ค ์ธ์ฆ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๋ค. ๋ฐ๋ผ์, HTTP ํ๋กํ ์ฝ์์ ์ด์ ์์ฒญ๊ณผ ํ์ฌ ์์ฒญ์ด ๊ฐ์ ์ฌ์ฉ์์ ์์ฒญ์ธ์ง ์๊ฒ๋๋ ์ํ ์ ์ง๋ฅผ ์ํด ์ฟ ํค(Cookie)์ ์ธ์ (Session)์ ์ฌ์ฉํ๋ค. ์ฟ ํค์ ์ธ์ ์ ๋ํ ํน์ง๊ณผ ์ฐจ์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ฟ ํค(Cookie)
- ๊ฐ๋
- ํด๋ผ์ด์ธํธ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ ์ฅ๋๋ ํค(key)์ ๊ฐ(value)์ด ๋ค์ด์๋ ํ์ผ
- ํด๋ผ์ด์ธํธ์ ์ํ ์ ๋ณด๋ฅผ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅํ์ฌ ์ฐธ์กฐ
- ์์ด๋/๋น๋ฐ๋ฒํธ ์ ์ฅ, ์ผํ๋ชฐ ์ฅ๋ฐ๊ตฌ๋ ๋ฑ์ ์ฌ์ฉ
- ๊ตฌ์ฑ ์์
- ์ฟ ํค์ ์ด๋ฆ (name)
- ์ฟ ํค์ ๊ฐ (value)
- ์ฟ ํค์ ๋ง๋ฃ ์๊ฐ (Expires)
- ์ฟ ํค๋ฅผ ์ ์กํ ๋๋ฉ์ธ ์ด๋ฆ (Domain)
- ์ฟ ํค๋ฅผ ์ ์กํ ๊ฒฝ๋ก (Path)
- ๋ณด์ ์ฐ๊ฒฐ ์ฌ๋ถ (Secure)
- HttpOnly ์ฌ๋ถ (HttpOnly)
- ๋์ ๋ฐฉ์
- ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )๊ฐ ์๋ฒ์๊ฒ ์์ฒญ
- ์๋ฒ๋ ์ํ๋ฅผ ์ ์งํ๊ณ ์ถ์ ๋ฐ์ดํฐ(user)๋ฅผ ์ฟ ํค๋ก ์์ฑ
- ์๋ฒ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต์ ๋ณด๋ผ ๋ HTTPํค๋(set-cookie)์ ์ฟ ํค๋ฅผ ํฌํจํ์ฌ ์ ์ก [set-cookie: user=jiyun]
- ์ ๋ฌ ๋ฐ์ ์ฟ ํค๋ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์์ ๊ด๋ฆฌํ๋ค๊ฐ ๋ค์ ์๋ฒ์ ์์ฒญ ์ ํด๋น ์ฟ ํค๋ฅผ HTTPํค๋์ ๋ฃ์ด ์ ์ก [cookie: user=jiyun]
- ์๋ฒ๋ ์ฟ ํค ์ ๋ณด๋ฅผ ์ฝ๊ณ ์ํ ์ ๋ณด๋ฅผ ํ์ธํ ํ ์๋ต
์ธ์ (Session)
- ๊ฐ๋
- ์ผ์ ์๊ฐ๋์ ๊ฐ์ ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ค์ด์ค๋ ์์ฒญ์ ํ๋์ ์ํ๋ก ๋ณด๊ณ ๊ทธ ์ํ๋ฅผ ์ ์งํ๋ ๊ธฐ์
- ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์๋ฒ์ ์ ์ํ ์ดํ๋ถํฐ ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋ ๋๊น์ง ์ ์ง
- ๋ก๊ทธ์ธ๊ณผ ๊ฐ์ ๋ณด์์ ์ค์ํ ์์ ์ํ ์ ์ฌ์ฉ
- ๋์ ๋ฐฉ์
- ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )๊ฐ ์๋ฒ์ ์์ฒญ
- ์๋ฒ๋ ํด๋ผ์ด์ธํธ ๊ตฌ๋ถ์ ์ํด ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์ ์ ์ผํ ์ธ์ ID๋ฅผ ๋ถ์ฌ
- ์๋ฒ๊ฐ ์๋ต ์ HTTPํค๋(set-cookie)์ ์ธ์ ID๋ฅผ ํฌํจํด์ ์ ์ก [set-cookie: sessionId:x1r2fjc0]
- ํด๋ผ์ด์ธํธ๋ ์ธ์ ID์ ๋ํ ์ ๋ณด๋ฅผ ์ฟ ํค๋ก ๊ด๋ฆฌ
- ์ดํ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์์ ์๋ฒ๋ก ์์ฒญ ์ ์ธ์ ID๊ฐ ๋ด๊ฒจ์๋ ์ฟ ํค๋ฅผ HTTPํค๋์ ๋ฃ์ด ์ ์ก [cookie: sessionId:x1r2fjc0]
- ์๋ฒ๋ ์ธ์ ID๋ฅผ ํ์ธํ ํ ์์ฒญ์ ์ฒ๋ฆฌ
์ฟ ํค(Cookie) VS ์ธ์ (Session)
์ฟ ํค(Cookie) | ์ธ์ (Session) | |
์ ์ฅ ์์น | ํด๋ผ์ด์ธํธ (์ ์์ PC ๋ธ๋ผ์ฐ์ ) | ์น ์๋ฒ |
์ ์ฅ ํ์ | text | Object |
๋ง๋ฃ ์์ (๋ผ์ดํ์ฌ์ดํด) | ์ฟ ํค ์ ์ฅ ์ ์ค์ ( ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋์ด๋ ๋ง๋ฃ๊ธฐ๊ฐ์ด ๋จ์์๋ค๋ฉด ์ญ์ ๋์ง ์์) |
๋ธ๋ผ์ฐ์ ์ข
๋ฃ ์ ์ญ์ (๋ง๋ฃ๊ธฐ๊ฐ์ ์ค์ ํ ์ ์์ง๋ง ๋ธ๋ผ์ฐ์ ์ข ๋ฃ ์ ์ด์ ์๊ด์์ด ์ญ์ ) |
์ฌ์ฉํ๋ ์์(๋ฆฌ์์ค) | ํด๋ผ์ด์ธํธ ๋ฆฌ์์ค | ์น ์๋ฒ ๋ฆฌ์์ค |
์ฉ๋ ์ ํ | ์ด 300๊ฐ / ํ ๋๋ฉ์ธ ๋น 20๊ฐ / ํ ์ฟ ํค ๋น 4KB | ์๋ฒ๊ฐ ํ์ฉํ๋ ํ ์ฉ๋ ์ ํ ์์ |
์๋ | ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋์ด ๋น ๋ฆ | ์๋ฒ๊ฐ ์ฒ๋ฆฌํ์ฌ ์ฟ ํค๋ณด๋ค ๋๋ฆผ |
๋ณด์ | ๋ชจ๋ ์ ๋ณด๊ฐ ํด๋ผ์ด์ธํธ๊ฐ ์ ์ฅ๋์ด ๋ณด์์ ์ทจ์ฝ | ํด๋ผ์ด์ธํธ์๋ ์ธ์ ID๋ง ์ ์ฅํ์ฌ ๋ณด์์ฑ์ด ์ข์ |
โป ์ธ์ ์ด ๋ณด์ ์ฐจ์์์๋ ์ข์๋ฐ ์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ ์ด์
์ธ์ ์ ์๋ฒ์ ์์์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋๋ฌด ๋ง์ด ๋ง๋ค๊ฑฐ๋ ์ฌ์ฉ์๊ฐ ๋ง์์ง ๊ฒฝ์ฐ ์๋ฒ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ฐ๋นํ ์ ์์ด์ง๊ณ ์ด์ ๋ฐ๋ผ ์๋๊ฐ ๋๋ ค์ง ์ ์๋ค.
'Computer Science > ๐ก Network' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋คํธ์ํฌ] HTTP ์ํ/์๋ต ์ฝ๋ ์ ๋ฆฌ (0) | 2023.02.02 |
---|---|
[๋คํธ์ํฌ] REST, REST API, RESTful ์์๋ณด๊ธฐ (0) | 2023.02.01 |
[๋คํธ์ํฌ] GET ๋ฉ์๋์ POST ๋ฉ์๋ ํน์ง, ์ฐจ์ด (0) | 2022.03.31 |
[๋คํธ์ํฌ] HTTP์ HTTPS ํ๋กํ ์ฝ (0) | 2022.02.09 |
[๋คํธ์ํฌ] TCP์ 3-way handshake์ 4-way handshake (0) | 2022.02.04 |