HTTP ํค๋ ๊ฐ์
HTTP ํค๋
- header-field=field-name ":" OWS field-value OWS (OWS: ๋์ด์ฐ๊ธฐ ํ์ฉ)
- field-name์ ๋์๋ฌธ์ ๊ตฌ๋ถ ์์
[์ฉ๋]
- HTTP ์ ์ก์ ํ์ํ ๋ชจ๋ ๋ถ๊ฐ์ ๋ณด
- ex) ๋ฉ์์ง ๋ฐ๋์ ๋ด์ฉ, ๋ฉ์์ง ๋ฐ๋์ ํฌ๊ธฐ, ์์ถ, ์ธ์ฆ, ์์ฒญ ํด๋ผ์ด์ธํธ, ์๋ฒ ์ ๋ณด, ์บ์ ๊ด๋ฆฌ ์ ๋ณด...
- ํ์ค ํค๋๊ฐ ๋๋ฌด ๋ง์
- ํ์์ ์์์ ํค๋ ์ถ๊ฐ ๊ฐ๋ฅ → helloworld: hihi
ํค๋ ๋ถ๋ฅ
- RFC2616(๊ณผ๊ฑฐ)
- General ํค๋: ๋ฉ์์ง ์ ์ฒด์ ์ ์ฉ๋๋ ์ ๋ณด ex) Connection: close
- Request ํค๋: ์์ฒญ ์ ๋ณด ex) User-Agent: Mozilla/5.0
- Response ํค๋: ์๋ต ์ ๋ณด ex) Server: Apache
- Entity ํค๋: ์ํฐํฐ ๋ฐ๋ ์ ๋ณด ex) Content-Type: text/html, Content-Length: 3423
- ๋ฉ์์ง ๋ณธ๋ฌธ(message body)์ ์ํฐํฐ ๋ณธ๋ฌธ์ ์ ๋ฌํ๋๋ฐ ์ฌ์ฉ
- ์ํฐํฐ ๋ณธ๋ฌธ์ ์์ฒญ์ด๋ ์๋ต์์ ์ ๋ฌํ ์ค์ ๋ฐ์ดํฐ
- ์ํฐํฐ ํค๋๋ ์ํฐํฐ ๋ณธ๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ํด์ํ ์ ์๋ ์ ๋ณด ์ ๊ณต
- ๋ฐ์ดํฐ ์ ํ(html, json), ๋ฐ์ดํฐ ๊ธธ์ด, ์์ถ ์ ๋ณด ๋ฑ๋ฑ
- RFC723x ๋ณํ
- ์ํฐํฐ(Entity) -> ํํ(Representation)
- Representation = representation Metadata + Representation Data
- ํํ = ํํ ๋ฉํ๋ฐ์ดํฐ + ํํ ๋ฐ์ดํฐ
- ๋ฉ์์ง ๋ณธ๋ฌธ์ ํตํด ํํ ๋ฐ์ดํฐ ์ ๋ฌ
- ๋ฉ์์ง ๋ณธ๋ฌธ = ํ์ด๋ก๋(payload)
- ํํ์ ์์ฒญ์ด๋ ์๋ต์์ ์ ๋ฌํ ์ค์ ๋ฐ์ดํฐ
- ํํ ํค๋๋ ํํ ๋ฐ์ดํฐ๋ฅผ ํด์ํ ์ ์๋ ์ ๋ณด ์ ๊ณต
- ๋ฐ์ดํฐ ์ ํ(html, json), ๋ฐ์ดํฐ ๊ธธ์ด, ์์ถ ์ ๋ณด ๋ฑ๋ฑ
- ์ฐธ๊ณ : ํํ ํค๋๋ ํํ ๋ฉํ๋ฐ์ดํฐ์, ํ์ด๋ก๋ ๋ฉ์์ง๋ฅผ ๊ตฌ๋ถํด์ผ ํ์ง๋ง, ์๋ต


ํํ
- ํํ์ด๋ผ๋ ๋ฆฌ์์ค๋ฅผ html์ด๋ผ๋ ํํ์ผ๋ก ์ ๋ฌํ ์ง JSON์ด๋ผ๋ ํํ์ผ๋ก ์ ๋ฌํ ์ง ์ ๋ณด ์๋ ค์ค
- Content-Type: ํํ ๋ฐ์ดํฐ์ ํ์ → html๋ก ์ ์ก๋์๋์ง, json์ผ๋ก ์ ์ก๋์๋์ง
- Content-Encoding: ํํ ๋ฐ์ดํฐ์ ์์ถ ๋ฐฉ์
- Content-Language: ํํ ๋ฐ์ดํฐ์ ์์ฐ ์ธ์ด → ํ๊ตญ์ด์ธ์ง ์์ด์ธ์ง
- Content-Length: ํํ ๋ฐ์ดํฐ์ ๊ธธ์ด → ๋ช ํํ๊ฒ ํํ ํค๋๋ผ๊ธฐ ๋ณด๋ค๋, ํ์ด๋ก๋์ ํด๋นํ์ง๋ง ์ด๋ ๊ฒ ์๊ฐํ๋ฉด ๋๋ฌด ๋ณต์ก
- ํํ ํค๋๋ ์ ์ก, ์๋ต ๋๋ค ์ฌ์ฉ
Content-Type: ํํ ๋ฐ์ดํฐ์ ํ์ ์ค๋ช
- ๋ฏธ๋์ด ํ์ , ๋ฌธ์ ์ธ์ฝ๋ฉ
- ex) text/html; charset=utf-8, application/json, image/png
Content-Encoding: ํํ ๋ฐ์ดํฐ ์ธ์ฝ๋ฉ
- ํํ ๋ฐ์ดํฐ๋ฅผ ์์ถํ๊ธฐ ์ํด ์ฌ์ฉ
- ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๊ณณ์์ ์์ถ ํ ์ธ์ฝ๋ฉ ํค๋ ์ถ๊ฐ
- ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์ชฝ์์ ์ธ์ฝ๋ฉ ํค๋์ ์ ๋ณด๋ก ์์ถ ํด์
- ex) gzip, deflate, identity(์์ถ์ํ๋ค๋ ์๋ฏธ)
Content-Language: ํํ ๋ฐ์ดํฐ์ ์์ฐ ์ธ์ด
- ํํ ๋ฐ์ดํฐ์ ์์ฐ ์ธ์ด๋ฅผ ํํ
- ex) ko, en, en-US
Content-Length: ํํ ๋ฐ์ดํฐ์ ๊ธธ์ด
- ๋ฐ์ดํธ ๋จ์
- Transfer-Encoding(์ ์ก ์ฝ๋ฉ)์ ์ฌ์ฉํ๋ฉด Cotent-Length๋ฅผ ์ฌ์ฉํ๋ฉด ์๋จ
์ฝํ ์ธ ํ์(์ฝํ ์ธ ๋ค๊ณ ์์์ด์ )
ํด๋ผ์ด์ธํธ๊ฐ ์ ํธํ๋ ํํ ์์ฒญ
- Accept: ํด๋ผ์ด์ธํธ๊ฐ ์ ํธํ๋ ๋ฏธ๋์ด ํ์ ์ ๋ฌ
- Accept-Charset: ํด๋ผ์ด์ธํธ๊ฐ ์ ํธํ๋ ๋ฌธ์ ์ธ์ฝ๋ฉ
- Accept-Encoding: ํด๋ผ์ด์ธํธ๊ฐ ์ ํธํ๋ ์์ถ ์ธ์ฝ๋ฉ
- Accept-Language: ํด๋ผ์ด์ธํธ๊ฐ ์ ํธํ๋ ์์ฐ ์ธ์ด
- ํ์ ํค๋๋ ์์ฒญ์์๋ง ์ฌ์ฉ
Accept-Language
- ์ ์ฉ ์

- ํ๊ตญ์ด ๋ธ๋ผ์ฐ์ ๋ก ์ธ๊ตญ์ ์๋ event์ฌ์ดํธ๋ก ๋ค์ด๊ฐ๋๋ฐ, ํด๋น ์๋ฒ๋ ๋ค์ค ์ธ์ด๋ฅผ ์ง์ํ๋ ์๋ฒ์ด์ง๋ง, ํด๋ผ์ด์ธํธ๊ฐ ํ๊ตญ์ด์ธ์ง ์์ด์ธ์ง ์ ์ ์๊ธฐ ๋๋ฌธ์, 1์์์ธ ์์ด๋ก ์ ๋ฌ
- ์ ์ฉ ํ

- ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ์์ฒญ์ ์ ๋ฌ ์, ํ๊ตญ์ด๋ก ๋ณด๋ด๋ฌ๋ผ๊ณ Accept-Language๋ฅผ ๊ฐ์ด ๋ณด๋, ๊ทธ ์์ฒญ์ ๋ฐ์ ์๋ฒ๋ ํ๊ตญ์ด๋ ์ง์ํ๊ธฐ ๋๋ฌธ์ ํ๊ตญ์ด๋ก ์๋ต์ ๋ณด๋
- ์ํ๋ ์ธ์ด๊ฐ ์์ ์
- ํ๊ตญ์ด๋ก ์ง์์ ํ์์ง๋ง, ํด๋น ์๋ฒ๋ ๊ธฐ๋ณธ ๋ ์ผ์ด์ ์์ด ์ง์๋ง ์กด์ฌํ๋ค๋ฉด ํด๋น ์๋ฒ๋ ํ๊ตญ์ด๊ฐ ์์ผ๋ฏ๋ก ๊ธฐ๋ณธ ์ธ์ด์ธ ๋ ์ผ์ด๋ก ์๋ต์ ๋ณด๋ด๋ ์ํฉ์ด ๋ฐ์ → ์ฐ์ ์์ ํ์
ํ์๊ณผ ์ฐ์ ์์1 (Quality Values(q))

- Quality Values(q) ๊ฐ ์ฌ์ฉ
- 0~1, ํด์๋ก ๋์ ์ฐ์ ์์
- ์๋ตํ๋ฉด 1
- Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
- 1. ko-KR;q=1 (q์๋ต)
- 2. ko;q=0.9
- 3. en-US;q=0.8
- 4. en;q=0.7
ํ์๊ณผ ์ฐ์ ์์2 (Quality Values(q))

- ๊ตฌ์ฒด์ ์ธ ๊ฒ์ ์ฐ์
- Accept: text/*, text/plain, text/plain;format=flowed, */*
- 1. text/plain; format=flowed
- 2. text/plain
- 3. text/*
- 4. */*
ํ์๊ณผ ์ฐ์ ์์3 (Quality Values(q))
- ๊ตฌ์ฒด์ ์ธ ๊ฒ์ ๊ธฐ์ค์ผ๋ก ๋ฏธ๋์ด ํ์ ์ ๋ง์ถค
- Accept: text/*;q=0.3, text/html;q=0.7, text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5
์ ์ก ๋ฐฉ์
๋จ์ ์ ์ก
- Content-Length
- ํ๋ฒ์ ์ ์กํ๊ณ , ํ๋ฒ์ ์ญ ์๋ต๋ฐ์
์์ถ ์ ์ก
- Content-Encoding
- ๋ฌด์์ผ๋ก ์์ถ๋์ด ์๋์ง ๊ฐ์ด ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ด์ค์ผํจ
๋ถํ ์ ์ก
- Transfer-Encoding
- ์ฉ๋์ด ํฐ ๋ฐ์ดํฐ์ธ ๊ฒฝ์ฐ ๋ถํ ํ์ฌ ์ฌ์ฉ
- ์ชผ๊ฐ์ ๋ณด๋
- ๋ถํ ์ ์ก์์๋ Content-Length๋ฅผ ๋ณด๋ด๋ฉด ์๋จ → ๊ธธ์ด๋ฅผ ์ ์ ์๋ค
๋ฒ์ ์ ์ก
- Range, Content-Range
- ์ํ๋ ๋ฒ์ ์์ฒญํ๊ณ ์๋ต
์ผ๋ฐ ์ ๋ณด
(์ ๋ณด์ฑ ํค๋)
From: ์ ์ ์์ด์ ํธ์ ์ด๋ฉ์ผ ์ ๋ณด
- ์ผ๋ฐ์ ์ผ๋ก ์ ์ฌ์ฉ๋์ง ์์
- ๊ฒ์ ์์ง ๊ฐ์ ๊ณณ์์, ์ฃผ๋ก ์ฌ์ฉ
- ์์ฒญ์์ ์ฌ์ฉ
Referer: ์ด์ ์น ํ์ด์ง ์ฃผ์
- ํ์ฌ ์์ฒญ๋ ํ์ด์ง์ ์ด์ ์น ํ์ด์ง ์ฃผ์(๋ฐ๋ก ์ง์ ์น ํ์ด์ง ์ฃผ์)
- A -> B๋ก ์ด๋ํ๋ ๊ฒฝ์ฐ B๋ฅผ ์์ฒญํ ๋ Referer:A ๋ฅผ ํฌํจํด์ ์์ฒญ
- Referer๋ฅผ ์ฌ์ฉํด์ ์ ์ ๊ฒฝ๋ก ๋ถ์ ๊ฐ๋ฅ
- ์์ฒญ์์ ์ฌ์ฉ
- ์ฐธ๊ณ : referer๋ ๋จ์ด referrer์ ์คํ
User-Agent: ์ ์ ์์ด์ ํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด
- user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36
- ํด๋ผ์ด์ธํธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด(์น ๋ธ๋ผ์ฐ์ ์ ๋ณด ๋ฑ๋ฑ)
- ํต๊ณ ์ ๋ณด
- ์ด๋ค ์ข ๋ฅ์ ๋ธ๋ผ์ฐ์ ์์ ์ฅ์ ๊ฐ ๋ฐ์ํ๋์ง ํ์ ๊ฐ๋ฅ
- ์์ฒญ์์ ์ฌ์ฉ
Server: ์์ฒญ์ ์ฒ๋ฆฌํ๋ ORIGIN ์๋ฒ์ ์ํํธ์จ์ด ์ ๋ณด
- ORIGIN Server: ์ค์ ๋์ ์์ฒญ์ ๋ํ ์๋ต์ ๋ณด๋ด๋ ์ต์ข ์๋ฒ
- Server: Apache/2.2.22 (Debian)
- server: nginx
- ์๋ต์์ ์ฌ์ฉ
Date: ๋ฉ์์ง๊ฐ ๋ฐ์ํ ๋ ์ง์ ์๊ฐ
- Date: Tue, 15 Nov 1994 08:12:31 GMT
- ์๋ต์์ ์ฌ์ฉ
ํน๋ณํ ์ ๋ณด
Host: ์์ฒญํ ํธ์คํธ ์ ๋ณด(๋๋ฉ์ธ)
- ์์ฒญ์์ ์ฌ์ฉ
- ํ์
- ํ๋์ ์๋ฒ๊ฐ ์ฌ๋ฌ ๋๋ฉ์ธ์ ์ฒ๋ฆฌํด์ผ ํ ๋
- ํ๋์ IP ์ฃผ์์ ์ฌ๋ฌ ๋๋ฉ์ธ์ด ์ ์ฉ๋์ด ์์ ๋
Location: ํ์ด์ง ๋ฆฌ๋ค์ด๋ ์
- ์น ๋ธ๋ผ์ฐ์ ๋ 3xx ์๋ต์ ๊ฒฐ๊ณผ์ Location ํค๋๊ฐ ์์ผ๋ฉด, Location ์์น๋ก ์๋ ์ด๋(๋ฆฌ๋ค์ด๋ ํธ)
- ์๋ต์ฝ๋ 3xx์์ ์ค๋ช
- 201 (Created): Location๊ฐ์ ์์ฒญ์ ์ํด ์์ฑ๋ ๋ฆฌ์์ค URI
- 3xx (Redirection): Location ๊ฐ์ ์์ฒญ์ ์๋์ผ๋ก ๋ฆฌ๋๋ ์ ํ๊ธฐ ์ํ ๋์ ๋ฆฌ์์ค๋ฅผ ๊ฐ๋ฆฌํด
Allow: ํ์ฉ ๊ฐ๋ฅํ HTTP ๋ฉ์๋
- 405 (Method Not Allowed)์์ ์๋ต์ ํฌํจํด์ผ ํจ
- Allow: GET, HEAD, PUT
Retry-After: ์ ์ ์์ด์ ํธ๊ฐ ๋ค์ ์์ฒญ์ ํ๊ธฐ๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ ์๊ฐ
- 503 (Service Unavailabe): ์๋น์ค๊ฐ ์ธ์ ๊น์ง ๋ถ๋ฅ์ธ์ง ์๋ ค์ค ์ ์์
- Retry-After: Fri, 31 Dec 1999 23:59:59 GMT(๋ ์ง ํ๊ธฐ)
- Retry-After: 120 (์ด๋จ์ ํ๊ธฐ)
์ธ์ฆ
Authorization: ํด๋ผ์ด์ธํธ ์ธ์ฆ ์ ๋ณด๋ฅผ ์๋ฒ์ ์ ๋ฌ
- Authorization: Basic xxxxxxxxxxxxxxxxx
WWW-Authenticate: ๋ฆฌ์์ค ์ ๊ทผ ์ ํ์ํ ์ธ์ฆ ๋ฐฉ๋ฒ ์ ์
- ๋ฆฌ์์ค ์ ๊ทผ์ ํ์ํ ์ธ์ฆ ๋ฐฉ๋ฒ ์ ์
- 401 Unauthorized ์๋ต๊ณผ ํจ๊ป ์ฌ์ฉ
- WWW-Authenticate: Newauth realm="apps", type=1, title="Login to /"apps/"", Basic realm="simple"
์ฟ ํค
Set-Cookie: ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ์ฟ ํค ์ ๋ฌ(์๋ต)
Cookie: ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์์ ๋ฐ์ ์ฟ ํค๋ฅผ ์ ์ฅํ๊ณ , HTTP ์์ฒญ์ ์๋ฒ๋ก ์ ๋ฌ
์ฟ ํค ๋ฏธ์ฌ์ฉ: HTTP๋ ๋ฌด์ํ ํ๋กํ ์ฝ์ด๋ฏ๋ก, ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ ์์ฒญ๊ณผ ์๋ต์ ์ฃผ๊ณ ๋ฐ์ผ๋ฉด ์ฐ๊ฒฐ์ด ๋์ด์ง๋๋ฐ, ์ด๋ ํด๋ผ์ด์ธํธ๊ฐ ๋ค์ ์์ฒญํ๋ฉด ์๋ฒ๋ ์ด์ ์์ฒญ์ ๊ธฐ์ตํ์ง ๋ชปํ๋ค. ์ฆ, ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ์๋ก ์ํ๋ฅผ ์ ์งํ์ง ์์
ex) ๋ก๊ทธ์ธ ํ welcome ํ์ด์ง์ ์ ๊ทผํ ๋, ํด๋น ์๋ฒ๋ ๋ก๊ทธ์ธํ ์น๋ธ๋ผ์ฐ์ ๋ฅผ ๊ธฐ์ต ๋ชปํจ
๋์: ๋ชจ๋ ์์ฒญ๊ณผ ๋งํฌ์ ์ฌ์ฉ์ ์ ๋ณด ํฌํจ → ๋ชจ๋ ์์ฒญ์ ์ฌ์ฉ์ ์ ๋ณด๊ฐ ํฌํจ๋๋๋ก ๊ฐ๋ฐํด์ผํจ → ๋ฒ๊ฑฐ๋ฌ์(์ฟ ํค ์ฌ์ฉ ์ด์ )
์ฟ ํค์ฌ์ฉ


1. ์น ๋ธ๋ผ์ฐ์ ๊ฐ post๋ก ๋ก๊ทธ์ธ์ ํจ
2. ์๋ฒ๋ Set-Cookie์ user=ํ๊ธธ๋์ด๋ผ๋ ๋ด์ฉ์ ๋ฃ์ด์ ๋ณด๋
3. ์น ๋ธ๋ผ์ฐ์ ์ ์๋ ์ฟ ํค ์ ์ฅ์์ Set-Cookie ๋ด์ฉ ์ ์ฅ
4. ๋ก๊ทธ์ธ ์ดํ ์น๋ธ๋ผ์ฐ์ ๊ฐ welcome ํ์ด์ง ์ ๊ทผ ํ ๋, ์๋์ผ๋ก ์ฟ ํค๊ฐ์ ๊บผ๋ด ์๋ฒ์ ์ ๋ฌ
๋ชจ๋ ์์ฒญ์ ์ฟ ํค ์ ๋ณด ์๋ ํฌํจ
์ฟ ํค
ex) set-cookie: sessionId=abcde1234; expires=Sat, 26-Dec-2020 00:00:00 GMT; path=/; domain=google.com; Secure
- ์ฌ์ฉ์ฒ
- ์ฌ์ฉ์ ๋ก๊ทธ์ธ ์ธ์ ๊ด๋ฆฌ
- ๊ด๊ณ ์ ๋ณด ํธ๋ํน
- ์ฟ ํค ์ ๋ณด๋ ํญ์ ์๋ฒ์ ์ ์ก๋จ
- ๋คํธ์ํฌ ํธ๋ํฝ ์ถ๊ฐ ์ ๋ฐ
- ์ต์ํ์ ์ ๋ณด๋ง ์ฌ์ฉ(์ธ์ id, ์ธ์ฆ ํ ํฐ)
- ์๋ฒ์ ์ ์กํ์ง ์๊ณ , ์น ๋ธ๋ผ์ฐ์ ๋ด๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ถ์ผ๋ฉด ์น ์คํ ๋ฆฌ์ง(localStorage, sessionStorage)์ฐธ๊ณ
- ์ฃผ์!
- ๋ณด์์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ ์ ์ฅํ๋ฉด ์๋จ(์ฃผ๋ฏผ๋ฒํธ, ์ ์ฉ์นด๋ ๋ฒํธ ๋ฑ๋ฑ)
์ฟ ํค - ์๋ช ์ฃผ๊ธฐ (Expires, max-age)
- Set-Cookie: expires=Sat, 26-Dec-2020 04:39:21 GMT
- ๋ง๋ฃ์ผ์ด ๋๋ฉด ์ฟ ํค ์ญ์
- Set-Cookie: max-age=3600 (3600์ด)
- 0์ด๋ ์์๋ฅผ ์ง์ ํ๋ฉด ์ฟ ํค ์ญ์
- ์ธ์ ์ฟ ํค: ๋ง๋ฃ ๋ ์ง๋ฅผ ์๋ตํ๋ฉด ๋ธ๋ผ์ฐ์ ์ข ๋ฃ์ ๊น์ง๋ง ์ ์ง
- ์์ ์ฟ ํค: ๋ง๋ฃ ๋ ์ง๋ฅผ ์ ๋ ฅํ๋ฉด ํด๋น ๋ ์ง๊น์ง ์ ์ง
์ฟ ํค - ๋๋ฉ์ธ(Domain)
- ex) domain=example.org
- ๋ช
์: ๋ช
์ํ ๋ฌธ์ ๊ธฐ์ค ๋๋ฉ์ธ + ์๋ธ ๋๋ฉ์ธ ํฌํจ
- domain=example.org๋ฅผ ์ง์ ํด์ ์ฟ ํค ์์ฑ
- example.org๋ ๋ฌผ๋ก ์ด๊ณ
- dev.example.org๋ ์ฟ ํค ์ ๊ทผ
- domain=example.org๋ฅผ ์ง์ ํด์ ์ฟ ํค ์์ฑ
- ์๋ต: ํ์ฌ ๋ฌธ์ ๊ธฐ์ค ๋๋ฉ์ธ๋ง ์ ์ฉ
- example.org์์ ์ฟ ํค๋ฅผ ์์ฑํ๊ณ domain์ง์ ์ ์๋ต
- example.org์์๋ง ์ฟ ํค ์ ๊ทผ
- dev.example.org๋ ์ฟ ํค ๋ฏธ์ ๊ทผ
- example.org์์ ์ฟ ํค๋ฅผ ์์ฑํ๊ณ domain์ง์ ์ ์๋ต
์ฟ ํค - ๊ฒฝ๋ก(Path)
- ex) path=/home
- ์ด ๊ฒฝ๋ก๋ฅผ ํฌํจํ ํ์ ๊ฒฝ๋ก ํ์ด์ง๋ง ์ฟ ํค ์ ๊ทผ
- ์ผ๋ฐ์ ์ผ๋ก path=/ ๋ฃจํธ๋ก ์ง์
- ex)
- path=/home ์ง์
- /home -> ๊ฐ๋ฅ
- /home/level1 -> ๊ฐ๋ฅ
- /home/level1/level2 -> ๊ฐ๋ฅ
- /hello -> ๋ถ๊ฐ๋ฅ
์ฟ ํค - ๋ณด์(Secure, HttpOnly, SameSite)
- Secure
- ์ฟ ํค๋ http, https๋ฅผ ๊ตฌ๋ถํ์ง ์๊ณ ์ ์ก
- Secure๋ฅผ ์ ์ฉํ๋ฉด https์ธ ๊ฒฝ์ฐ์๋ง ์ ์ก
- HttpOnly
- XSS ๊ณต๊ฒฉ ๋ฐฉ์ง
- ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ ๊ทผ ๋ถ๊ฐ(document.cookie)
- HTTP ์ ์ก์๋ง ์ฌ์ฉ
- SameSite
- XSRF ๊ณต๊ฒฉ ๋ฐฉ์ง
- ์์ฒญ ๋๋ฉ์ธ๊ณผ ์ฟ ํค์ ์ค์ ๋ ๋๋ฉ์ธ์ด ๊ฐ์ ๊ฒฝ์ฐ๋ง ์ฟ ํค ์ ์ก
'์น ์๋น์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ์ ์ ์น? ๋์ ์น? (0) | 2022.12.30 |
|---|---|
| HTTP ํค๋2 - ์บ์์ ์กฐ๊ฑด๋ถ ์์ฒญ (0) | 2022.12.19 |
| HTTP ์ํ์ฝ๋ (0) | 2022.12.02 |
| HTTP ๋ฉ์๋ ํ์ฉ (0) | 2022.12.01 |
| HTTP ๋ฉ์๋ (0) | 2022.11.30 |