HTTP ํ๋กํ ์ฝ ํ๊ฒฝ์ Connectionless์ Stateless ํ ํน์ฑ์ ๊ฐ์ง๋ค. ์ฆ, ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์๋ก ์ํ๋ฅผ ์ ์งํ์ง ์๋ ํน์ฑ์ด ์๋ค.
( Connectionless : ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ์ ํ ํ ์๋ต์ ๋ฐ์ผ๋ฉด ๊ทธ ์ฐ๊ฒฐ์ ๋์ด ๋ฒ๋ฆฌ๋ ํน์ง
Stateless : ํต์ ์ด ๋๋๋ฉด ์ํ๋ฅผ ์ ์งํ์ง ์๋ ํน์ง )
์ด๋ ๋ก๊ทธ์ธ๊ณผ ๊ฐ์ด ์ํ๋ฅผ ์ ์งํด์ผ ํ๋ ๊ฒฝ์ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Cookie์ Session์ ์ฌ์ฉํ๋ค. ์ด๋ฒ ๊ธ์ ํตํด Cookie์ ๋ํด์ ์์๋ณด๋๋ก ํ์.
1. ๊ฐ๋ ๐จ๐ป
์ฟ ํค(Cookie)๋ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ ) ๋ก์ปฌ์ ์ ์ฅ๋๋ ํค์ ๊ฐ์ด ๋ค์ด์๋ ์์ ๋ฐ์ดํฐ ํ์ผ์ด๋ค.
์ด๋ฅผ ์ด์ฉํ์ฌ
- ์ฌ์ฉ์ ์์ด๋ ๋ฑ์ ์ ๋ณด ์ ์ฅ - ์ธ์ ๊ด๋ฆฌ
- ์ฌ์ฉ์์๊ฒ ์ ์ ํ ํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ - ๊ฐ์ธํ
- ์ฌ์ฉ์์ ํ๋๊ณผ ํจํด์ ๋ถ์ํ๊ณ ๊ธฐ๋ก - ํธ๋ํน
๋ฑ์ ํ ์ ์๋ค.
2. ํน์ง ๐จโ๏ธ
- ์ฟ ํค๋ Key์ Value๋ก ๊ตฌ์ฑ๋๊ณ Stringํํ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- ์ ํจ ์๊ฐ์ ๋ช ์ํ ์ ์์ด์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋์ด๋ ์ธ์ฆ์ด ์ ์ง๋๋ค.
- ํด๋ผ์ด์ธํธ์ 300๊ฐ๊น์ง ์ฟ ํค๋ฅผ ์ ์ฅํ ์ ์๋ค. ํ๋์ ๋๋ฉ์ธ๋น 20๊ฐ์ ๊ฐ๋ง ๊ฐ์ง ์ ์๊ณ ํ๋์ ์ฟ ํค๊ฐ์ 4KB(=4098byte)๊น์ง ์ ์ฅ ๊ฐ๋ฅํ๋ค.
- ์ฌ์ฉ์๊ฐ ๋ฐ๋ก ์์ฒญํ์ง ์์๋ ๋ธ๋ผ์ฐ์ ๊ฐ Request์์ Request Header์ ๋ฃ์ด์ ์๋์ผ๋ก ์๋ฒ์ ์ ์กํ๋ค.
3. ๋์ ์์ ๐จโ๏ธ
- ํด๋ผ์ด์ธํธ๊ฐ ํ์ด์ง๋ฅผ ์์ฒญ
- ์๋ฒ์์ ์ฟ ํค๋ฅผ ์์ฑ
- HTTP ํค๋์ ์ฟ ํค๋ฅผ ํฌํจ์์ผ ์๋ต
- ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋์ด๋ ์ฟ ํค ๋ง๋ฃ ๊ธฐ๊ฐ์ด ์๋ค๋ฉด ํด๋ผ์ด์ธํธ์์ ๋ณด๊ดํ๊ณ ์์
- ๊ฐ์ ์์ฒญ์ ํ ๊ฒฝ์ฐ HTTP ํค๋์ ์ฟ ํค๋ฅผ ํจ๊ป ๋ณด๋
- ์๋ฒ์์ ์ฟ ํค๋ฅผ ์ฝ์ด ์ด์ ์ํ ์ ๋ณด๋ฅผ ๋ณ๊ฒฝํ ํ์๊ฐ ์์ ๋ ์ฟ ํค๋ฅผ ์ ๋ฐ์ดํธํ์ฌ ๋ณ๊ฒฝ๋ ์ฟ ํค๋ฅผ HTTP ํค๋์ ํฌํจ์์ผ ์๋ต
4. ๊ตฌ์ฑ ์์ ๐ฉ๐ซ
- ์ด๋ฆ
๊ฐ๊ฐ์ ์ฟ ํค๋ฅผ ๊ตฌ๋ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ด๋ฆ - ๊ฐ
์ฟ ํค์ ์ด๋ฆ๊ณผ ๊ด๋ จ๋ ๊ฐ - ์ ํจ์๊ฐ
์ฟ ํค์ ์ ์ง์๊ฐ - ๋๋ฉ์ธ
์ฟ ํค๋ฅผ ์ ์กํ ๋๋ฉ์ธ - ๊ฒฝ๋ก
์ฟ ํค๋ฅผ ์ ์กํ ์์ฒญ ๊ฒฝ๋ก
5. ์ค์ ๋ฐฉ๋ฒ ๐ฉ๐ฌ
// ์์ฑ (์ด๋ฆ๊ณผ ๊ฐ์ ํจ๊ป ์ง์ )
Cookie cookie = new Cookie(String name, String value);
// ์ ํจ์๊ฐ ์ค์
cookie.setMaxAge(int expiry);
// ๋๋ฉ์ธ ์ค์
cookie.setDomain(String domain);
// ๊ฒฝ๋ก ์ค์
cookie.setPath(String path);
// ์์ฑ๋ cookie๋ฅผ client์ ์ ์ก
response.addCookie(cookie);
์ ํจ์๊ฐ์ ์ด ๋จ์๋ก ์ค์ ํ ์ ์๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ง์ฝ ํ๋ฃจ๋ฅผ ์ ํจ์๊ฐ์ผ๋ก ์ค์ ํ๊ณ ์ถ๋ค๋ฉด 60 x 60 x 24๋ฅผ ๊ฐ์ผ๋ก ์ ๋ ฅํด์ผ ํ๋ค.
6. ๋ฌธ์ ์ ๋ฐ ์ฃผ์์ ๐จโ๏ธ
- HTTP ์์ฒญ ์ ํญ์ ์ฟ ํค๋ฅผ ๊ฐ์ง๊ณ ๊ฐ๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ์ ํธ๋ํฝ์ ์ถ๊ฐ๋ก ์ ๋ฐํ๋ค.
- '์ฃผ๋ฏผ๋ฒํธ, ์ ์ฉ์นด๋ ๋ฒํธ' ๋ฑ ๋ณด์์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ ์ ์ฅํ๋ฉด ์ ๋๋ค.
ํด๋น ๊ธ์
RyanGomdoriPooh ๋์ '์ฟ ํค์ ์ธ์ ๊ฐ๋ ',
๊น์ํ ๋์ '๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์'
์ ์ฐธ๊ณ ํ์์ต๋๋ค.
'๐ WEB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฟ ํค์ ๋ณด์ ๋ฌธ์ (0) | 2023.04.29 |
---|---|
์บ์(Cache) - ๊ฒ์ฆ ํค๋์ ์กฐ๊ฑด๋ถ ์์ฒญ ํค๋ (0) | 2023.03.29 |
์บ์(Cache) (0) | 2023.03.29 |
์ธ์ (Session) (0) | 2023.03.28 |