์ฟ ํค์ ์ธ์ ์ ์ฌ์ฉํ๋ ์ด์
- HTTP์ ๋น์ฐ๊ฒฐ์ฑ(connectionless), ๋น์ํ์ฑ(stateless) ํน์ง ๋๋ฌธ์ ๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์์ฒญ(request)ํ์ ๋ ๊ทธ ์์ฒญ์ ๋ง๋ ์๋ต(response)์ ๋ณด๋ธ ํ ์ฐ๊ฒฐ์ ๋๊ณ , ์๋ฒ๋ ํด๋ผ์ด์ธํธ์ ๋ํ ์ํ ์ ๋ณด๋ฅผ ์ ์ ์๊ฒ ๋ฉ๋๋ค.
- ๋ง์ฝ ์ฟ ํค์ ์ธ์ ์ด ์๋ค๋ฉด ๋ก๊ทธ์ธ์ ํด๋ ํ์ด์ง๋ฅผ ์ด๋ํ ๋๋ง๋ค ๊ณ์ ๋ก๊ทธ์ธ์ ํด์ผํฉ๋๋ค.
์ฟ ํค(Cookie)
- ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )์ชฝ์์ key-value ํํ๋ก ๋ก์ปฌ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ ํ์ผ์ ๋๋ค.
- ์ผ์ ์ ํจ์๊ฐ ๋ด์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋์ด๋ ๊ณ์ ์ ์ง๋ฉ๋๋ค.
- ์๋ฒ์์ response์ header์ set-cookie์์ฑ์ ์ฌ์ฉํด์ ํด๋ผ์ด์ธํธ์ ์ฟ ํค๋ฅผ ๋ง๋ค๊ณ , ์ ์ ๊ฐ ๋ฐ๋ก ์์ ์ ํ์ง ์์๋ ์์ฒญ(request) ์ ์์์ request์ header์ cookie๋ฅผ ๋ด์์ ์๋ฒ์ ์ ์กํฉ๋๋ค.
1. ํด๋ผ์ด์ธํธ → ์๋ฒ : ์๋ฒ์์ ํด๋ผ์ด์ธํธ์ ๊ดํ ์ ๋ณด๋ฅผ ํ ๋๋ก ์ฟ ํค๋ฅผ ๊ตฌ์ฑ
2. ์๋ฒ → ํด๋ผ์ด์ธํธ
- ์๋ฒ : response header์ ์ฟ ํค๋ฅผ ๋ด์์ ๋ณด๋
- ํด๋ผ์ด์ธํธ : ๋ธ๋ผ์ฐ์ ๋ ์ฟ ํค๋ฅผ ์ฟ ํค ๋๋ ํ ๋ฆฌ์ ์ ์ฅ
์ธ์ (Session)
- ๊ธฐ๋ณธ์ ์ผ๋ก ์ฟ ํค๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํ๋จ
- ํด๋ผ์ด์ธํธ ๊ตฌ๋ถ์ ์ํด ๊ฐ ํด๋ผ์ด์ธํธ์๊ฒ Session ID๋ฅผ ๋ถ์ฌ, ํด๋ผ์ด์ธํธ๋ Session ID๋ฅผ ์ ์ฅ
- ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅํ๋ ์ฟ ํค์๋ ๋ค๋ฅด๊ฒ ์ธ์ ์ ์๋ฒ์ธก์ ์ ์ฅํ๊ณ ๊ด๋ฆฌ
- ์ธ์ ์ ์ ํจ์๊ฐ์ ๋๊ณ ์ผ์ ์๊ฐ ์๋ต์ด ์์ ์ ๋์ ์ ์๊ณ , ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋ ๋๊น์ง๋ ์ ์ง ๊ฐ๋ฅ
- ์ ์ ์ ๋ณด๋ฅผ ์๋ฒ์ ๋๊ธฐ ๋๋ฌธ์ ์ฟ ํค๋ณด๋ค ๋ณด์์ ์ข์ผ๋, ์๋ฒ ์์์ ์ฐจ์งํ๊ธฐ ๋๋ฌธ์ ์๋ฒ์ ๊ณผ๋ถํ๋ฅผ ์ค ์ ์๊ณ ์ด๋ ์ฑ๋ฅ ์ ํ์ ์์ธ์ด ๋ ์ ์์ต๋๋ค.
๊ฐ๋จ ์์ฝ
์ฟ ํค
- ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ ) ๋ก์ปฌ์ key-value ์์ผ๋ก ์ ์ฅ๋๋ ๋ฐ์ดํฐ ํ์ผ
- ์ ํจ์๊ฐ ๋ด์์๋ ๋ธ๋ผ์ฐ์ ์ข ๋ฃ๋์ด๋ ๊ณ์ ์ ์ง
- ํด๋ผ์ด์ธํธ์์ ์ฟ ํค๋ฅผ ๋ณด๋ด๋ฉด ์๋ฒ์์ ์ฟ ํค๋ฅผ ์ฐธ๊ณ ํด์ ์๋ตํ๋ ๋ฐฉ์
์ธ์
- ๋ธ๋ผ์ฐ์ ๊ฐ ์ข ๋ฃ๋๊ฑฐ๋, ์๋ฒ์์ ํด๋น ์ธ์ ์ ์ญ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฟ ํค๋ณด๋ค ๋ณด์์ฑ์ด ์ข์
- ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
- ์ฅ์ : ์๋ฒ ์ฉ๋์ด ํ์ฉํ๋ ํ์์ ๋ฐ์ดํฐ๋ฅผ ๊ณ์ ์ ์ฅ ๊ฐ๋ฅ
- ๋จ์ : ์๋ฒ์ ๋ถํ๊ฐ ์ปค์ง๋ค.
Q. ์ธ์ ์ด ๋ณด์๋ ์ข์๋ฐ, ์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ ์ด์ ?
A. ์ธ์ ์ ์๋ฒ์ ์์์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์๋ฒ๊ฐ ๋๋ ค์ง ์๋, ๋ถ์กฑํ ์๋ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ฟ ํค๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์๋ฒ ์์์ ๋ญ๋น๋ฅผ ๋ฐฉ์งํ์ฌ ์น์ ์๋๋ฅผ ๋์ด๋ ํจ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
'๐ป CS > ๋คํธ์ํฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS] ์ธ์ฆ ๋ฐ ์ธ๊ฐ feat. ์ฟ ํค์ ์ธ์ (0) | 2022.07.10 |
---|---|
[CS] ์น์ ๋์ ์๋ฆฌ (0) | 2022.07.07 |
[CS] HTTP - status code(์ํ ์ฝ๋) (0) | 2022.07.07 |
[CS] HTTP request method : GET, POST / PUT, PATCH (0) | 2022.07.06 |
[CS] HTTP๋? (0) | 2022.07.05 |