HTTP ํค๋
ํค๋ ํ๋
· header-field = field-name ":" OWS field-value OWS (OWS:๋์ด์ฐ๊ธฐ ํ์ฉ)
· field-name์ ๋์๋ฌธ์ ๊ตฌ๋ฌธ ์์
์ ์ด๋ฏธ์ง๋ HTTP ์์ฒญ ๋ฉ์์ง์ ์๋ต ๋ฉ์์ง์ด๋ค. ๋ ธ๋์ ํ ๋๋ฆฌ๊ฐ ์๋ ๋ถ๋ถ์ ํค๋ ํ๋์ด๋ค.
HTTP ํค๋ ์ฉ๋
· HTTP ์ ์ก์ ํ์ํ ๋ชจ๋ ๋ถ๊ฐ์ ๋ณด
์) ๋ฉ์์ง ๋ฐ๋์ ๋ด์ฉ, ๋ฉ์์ง ๋ฐ๋์ ํฌ๊ธฐ, ์์ถ, ์ธ์ฆ, ์์ฒญ ํด๋ผ์ด์ธํธ, ์๋ฒ ์ ๋ณด, ์บ์ ๊ด๋ฆฌ ์ ๋ณด...
· ํ์ค ํค๋๊ฐ ๋๋ฌด ๋ง์ → https://en.wikipedia.org/wiki/List of HTTP header fields
· ํ์์ ์์์ ํค๋ ์ถ๊ฐ ๊ฐ๋ฅ
์) helloworld:hihi
RFC2616(๊ณผ๊ฑฐ)
· General ํค๋: ๋ฉ์์ง ์ ์ฒด์ ์ ์ฉ๋๋ ์ ๋ณด, ์) Connection: close
· Request ํค๋: ์์ฒญ ์ ๋ณด, ์) User-Agent: Mozilla/5.0 (Macintosh; ..)
· Response ํค๋: ์๋ต ์ ๋ณด, ์) Server: Apache
· Entity ํค๋: ์ํฐํฐ ๋ฐ๋ ์ ๋ณด, ์) Content-Type: text/html, Content-Length: 3423
message body - RFC2616(๊ณผ๊ฑฐ)
· ๋ฉ์์ง ๋ณธ๋ฌธ(message body)์ ์ํฐํฐ ๋ณธ๋ฌธ(entity body)์ ์ ๋ฌํ๋๋ฐ ์ฌ์ฉ
· ์ํฐํฐ ๋ณธ๋ฌธ์ ์์ฒญ์ด๋ ์๋ต์์ ์ ๋ฌํ ์ค์ ๋ฐ์ดํฐ
· ์ํฐํฐ ํค๋๋ ์ํฐํฐ ๋ณธ๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ํด์ํ ์ ์๋ ์ ๋ณด ์ ๊ณต
· ๋ฐ์ดํฐ ์ ํ(html, json), ๋ฐ์ดํฐ ๊ธธ์ด, ์์ถ ์ ๋ณด ๋ฑ๋ฑ
๊ทธ๋ฐ๋ฐ 2014๋ ์ ์คํ์ด ๋ฐ๋๋ค. RFC2616์ ํ๊ธฐ๋๊ณ , RFC7230~7235๊ฐ ๋ฑ์ฅํ๊ฒ ๋๋ค.
์ด๋ ๊ฒ RFC723X๊ฐ ๋ฑ์ฅํ๊ฒ ๋๋ฉด์ ์ํฐํฐ๋ผ๋ ์ฉ์ด๊ฐ ์ฌ๋ผ์ง๊ฒ ๋๋ค.
๊ทธ๋ ๊ฒ ์ํฐํฐ(Entity)๋ผ๋ ๋จ์ด๊ฐ ์ฌ๋ผ์ง๊ณ ํํ(Representation)์ด ์๊ธฐ๊ฒ ๋๋ค.
์ฌ๊ธฐ์ ํํ์ ํํ์ ๋ํ ๋ฉํ๋ฐ์ดํฐ์ ํํ ๋ฐ์ดํฐ๋ฅผ ํฉ์ณ์ ํํ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
(Representation = Representaition Metadata + Representation Data)
message body - RFC7230(์ต์ )
· ๋ฉ์์ง ๋ณธ๋ฌธ(message body)์ ํตํด ํํ ๋ฐ์ดํฐ ์ ๋ฌ
· ๋ฉ์์ง ๋ณธ๋ฌธ = ํ์ด๋ก๋(payload)
· ํํ์ ์์ฒญ์ด๋ ์๋ต์์ ์ ๋ฌํ ์ค์ ๋ฐ์ดํฐ
· ํํ ํค๋๋ ํํ ๋ฐ์ดํฐ๋ฅผ ํด์ํ ์ ์๋ ์ ๋ณด ์ ๊ณต
· ๋ฐ์ดํฐ ์ ํ(html, json), ๋ฐ์ดํฐ ๊ธธ์ด, ์์ถ ์ ๋ณด ๋ฑ๋ฑ
· ์ฐธ๊ณ : ํํ ํค๋๋ ํํ ๋ฉํ๋ฐ์ดํฐ์, ํ์ด๋ก๋ ๋ฉ์์ง๋ฅผ ๊ตฌ๋ถํด์ผ ํ์ง๋ง, ์ฌ๊ธฐ์๋ ์๋ต
ํํ
Content-Type: ํํ ๋ฐ์ดํฐ์ ํ์
→ ๋ฏธ๋์ด ํ์ , ๋ฌธ์ ์ธ์ฝ๋ฉ
์) text/html; charset=utf-8
application/json
image/png
Content-Encoding: ํํ ๋ฐ์ดํฐ์ ์์ถ ๋ฐฉ์
→ ํํ ๋ฐ์ดํฐ๋ฅผ ์์ถํ๊ธฐ ์ํด ์ฌ์ฉ
→ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๊ณณ์์ ์์ถ ํ ์ธ์ฝ๋ฉ ํค๋ ์ถ๊ฐ
→ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์ชฝ์์ ์ธ์ฝ๋ฉ ํค๋์ ์ ๋ณด๋ก ์์ถ ํด์
์) gzip
deflate
identity
Content-Language: ํํ ๋ฐ์ดํฐ์ ์์ฐ ์ธ์ด
→ ํํ ๋ฐ์ดํฐ์ ์์ฐ ์ธ์ด๋ฅผ ํํ
์) ko
en
en-US
Content-Length: ํํ ๋ฐ์ดํฐ์ ๊ธธ์ด
→ ๋ฐ์ดํธ ๋จ์
→ Transger-Encoding(์ ์ก ์ฝ๋ฉ)์ ์ฌ์ฉํ๋ฉด Content-Length๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๋จ
· ํํ ํค๋๋ ์ ์ก, ์๋ต ๋ ๋ค ์ฌ์ฉ
ํ์(์ฝํ ์ธ ๋ค๊ณ ์์์ด์ )
ํด๋ผ์ด์ธํธ๊ฐ ์ ํธํ๋ ํํ ์์ฒญ
· Accept: ํด๋ผ์ด์ธํธ๊ฐ ์ ํธํ๋ ๋ฏธ๋์ด ํ์ ์ ๋ฌ
· Accept-Charset: ํด๋ผ์ด์ธํธ๊ฐ ์ ํธํ๋ ๋ฌธ์ ์ธ์ฝ๋ฉ
· Accept-Encoding: ํด๋ผ์ด์ธํธ๊ฐ ์ ํธํ๋ ์์ถ ์ธ์ฝ๋ฉ
· Accept-Language: ํด๋ผ์ด์ธํธ๊ฐ ์ ํธํ๋ ์์ฐ ์ธ์ด
· ํ์ ํค๋๋ ์์ฒญ์์๋ง ์ฌ์ฉ
Accept-Language๋ก ์์๋ฅผ ๋ค๋ฉด Accept-Language ์ ์ฉํ๊ธฐ ์ ์๋
ํ๊ตญ์ด ๋ธ๋ผ์ฐ์ ์ธ ํด๋ผ์ด์ธํธ๊ฐ ๊ธฐ๋ณธ์ด ์์ด๊ณ ํ๊ตญ์ด๋ ์ง์์ ํ๋ ์๋ฒ์๊ฒ ์์ฒญ์ ๋ณด๋ธ๋ค๋ฉด,
์๋ฒ์์๋ ํ๊ตญ์ด๊ฐ ์๋, ์์ด๋ก ์๋ต์ ํ ๊ฒ์ด๋ค.
ํ์ง๋ง 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
· ๊ตฌ์ฒด์ ์ธ ๊ฒ์ด ์ฐ์ ํ๋ค.
· Accept: text/*, text/plain, text/plain;format=flowed, */*
1. text/plain;format=flowed
2. text/plain
3. text/*
4. */*
· ๊ตฌ์ฒด์ ์ธ ๊ฒ์ ๊ธฐ์ค์ผ๋ก ๋ฏธ๋์ด ํ์ ์ ๋ง์ถ๋ค.
· Accept: text/*q=0.3, text/html;q=0.7, text/html;level=1,text/html;level=2;q=0.4,*/*;q=0.5
Media Type Quality text/html;level=1 1 text/html 0.7 text/plain 0.3 image/jpeg 0.5 text/html;level=2 0.4 text/html;level=3 0.7
์ ์ก ๋ฐฉ์
์ ์ก ๋ฐฉ์ ์ค๋ช
๋จ์ ์ ์ก
→ Content-Length
→ ํ๋ฒ์ ์ ์ก
์์ถ ์ ์ก
→ Content-Encoding
→ ์์ถํด์ ์ ์ก
๋ถํ ์ ์ก
→ Transger-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 ์๋ฒ์ ์ํํธ์จ์ด ์ ๋ณด
· 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 Unavailable): ์๋น์ค๊ฐ ์ธ์ ๊น์ง ๋ถ๋ฅ์ธ์ง ์๋ ค์ค ์ ์์
· Retry-After: Fri, 31 Dec 1999 23:59:59 GMT (๋ ์ง ํ๊ธฐ)
· Retry-After: 120 (์ด๋จ์ ํ๊ธฐ)
์ธ์ฆ
Authorization: ํด๋ผ์ด์ธํธ ์ธ์ฆ ์ ๋ณด๋ฅผ ์๋ฒ์ ์ ๋ฌ
· Authorization: Basic xxxxxxxxxxxxxxxx
WWW-Authenticate: ๋ฆฌ์์ค ์ ๊ทผ ์ ํ์ํ ์ธ์ฆ ๋ฐฉ๋ฒ ์ ์
· ๋ฆฌ์์ค ์ ๊ทผ์ ํ์ํ ์ธ์ฆ ๋ฐฉ๋ฒ ์ ์
· 401 Unauthorized ์๋ต๊ณผ ํจ๊ป ์ฌ์ฉ
· WWW-Authenticate: Newauth realm="apps", type=1,
title="Login to \"apps\"", Basic realm="simple"
์ฟ ํค
Set-Coocie: ์๋ฒ์์ ํด๋ผ์ด์ธํธ๋ก ์ฟ ํค ์ ๋ฌ(์๋ต)
Cookie: ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์์ ๋ฐ์ ์ฟ ํค๋ฅผ ์ ์ฅํ๊ณ , HTTP ์์ฒญ ์ ์๋ฒ๋ก ์ ๋ฌ
์ฟ ํค์ ํค๋๋ฅผ ์๊ธฐ ์ํด์๋ ์ฟ ํค๊ฐ ๋ฌด์์ธ์ง ์ดํด๋ฅผ ํด์ผ ํ๋ค.
๋ง์ฝ ์ฌ์ฉ์๊ฐ ์น๋ธ๋ผ์ฐ์ ์์ welcome์ด๋ผ๋ ํ์ด์ง์ ๊ฐ๊ฒ ๋๋ฉด "์๋ ํ์ธ์. ์๋" ์๋ต์ ๋ฐ์๋ค.
๊ทธ๋ฌ๊ณ ๋์ ์ฌ์ฉ์๋ welcomeํ์ด์ง์ ๋ก๊ทธ์ธ์ ํ์ฌ ์๋ฒ์๊ฒ ๋ก๊ทธ์ธ ์ฑ๊ณต ์๋ต์ ๋ฐ์๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ์๋ ๋ค์ welcomeํ์ด์ง๋ก ๊ฐ์ ๋ ์๋ฒ์์๋ ๋ค์ "์๋ ํ์ธ์. ์๋" ์๋ต์ ํ๋ค.
์ฌ์ฉ์๋ ๋ก๊ทธ์ธ์ ํ๊ธฐ ๋๋ฌธ์ ์๋ฒ์์ "์๋ ํ์ธ์. ์ฌ์ฉ์๋" ์ด๋ผ๋ ์๋ต์ ์ํ๋ค.
์ฌ๊ธฐ์ ์ฌ์ฉ์๊ฐ ๊ณ์ํด์ '์๋'์๋ต์ ๋ฐ๊ฒ๋๊ฒ์ HTTP๋ ๊ธฐ๋ณธ์ ์ผ๋ก Stateless ํ๋กํ ์ฝ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
ํด๋ผ์ด์ธํธ์ ์๋ฒ๋ ์๋ก ์ํ๋ฅผ ์ ์งํ์ง ์๊ธฐ ๋๋ฌธ์ ์์ฒญ/์๋ต์ ํ๊ณ ๋๋ฉด ์ฐ๊ฒฐ์ ๋๊ธด๋ค.
๊ทธ๋ ๋ค๋ฉด ๋์์ผ๋ก๋ ๋ฌด์์ด ์์๊น? ๋ชจ๋ ์์ฒญ๊ณผ ๋งํฌ์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ํฌํจํ๋ฉด ์ด๋จ๊น?
์ด ๋์์ ๋งค์ฐ ํ๋ค๋ค. ๋ชจ๋ ์์ฒญ์ ์ฌ์ฉ์ ์ ๋ณด๊ฐ ํฌํจ๋๋๋ก ๊ฐ๋ฐ์ ํด์ผํ๋ฉฐ,
๋ธ๋ผ์ฐ์ ๋ฅผ ์์ ํ ์ข ๋ฃํ๊ณ ๋ค์ ์ด๋ฉด ๋ก๊ทธ์ธ์ด ๋๊ธด๋ค.
์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ์ฟ ํค๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ์ ํ์ ๋, Set-Cookie: user=์ฌ์ฉ์ ์๋ต์ ๊ฐ์ด ์ค๋ค.
๊ทธ๋ผ ์ฌ์ฉ์์ ์น ๋ธ๋ผ์ฐ์ ์ฟ ํค ์ ์ฅ์์ user=ํ๊ธธ๋์ด๋ผ๋ ์ฟ ํค๊ฐ ์ ์ฅ๋๊ฒ ๋๋ค.
๊ทธ๋ฌ๋ฉด ์ฌ์ฉ์๋ welcomeํ์ด์ง ๋ค์ ๊ฐ๋ ์ฟ ํค์ ์ฅ์์ ์ฟ ํค๊ฐ ์๋ค๋ฉด "์๋ ํ์ธ์. ์ฌ์ฉ์๋"์๋ต์ ๋ฐ๊ฒ ๋๋ค.
์ฟ ํค๋ ๋ชจ๋ ์์ฒญ์ ์ฟ ํค ์ ๋ณด๋ฅผ ์๋์ผ๋ก ํฌํจํ๊ธฐ ๋๋ฌธ์ด๋ค.
์) set-cookie: sessionId=abcde1234; expires=Sat, 26-Dec-2020 00:00:00 GMT;
path=/; domain=.google.com; Secure
· ์ฌ์ฉ์ฒ
· ์ฌ์ฉ์ ๋ก๊ทธ์ธ ์ธ์ ๊ด๋ฆฌ
· ๊ด๊ณ ์ ๋ณด ํธ๋ํน
· ์ฟ ํค ์ ๋ณด๋ ํญ์ ์๋ฒ์ ์ ์ก๋จ
· ๋คํธ์ํฌ ํธ๋ํฝ ์ถ๊ฐ ์ ๋ฐ
· ์ต์ํ์ ์ ๋ณด๋ง ์ฌ์ฉ(์ธ์ id, ์ธ์ฆ ํ ํฐ)
· ์๋ฒ์ ์ ์กํ์ง ์๊ณ , ์น ๋ธ๋ผ์ฐ์ ๋ด๋ถ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ถ์ผ๋ฉด ์น ์คํ ๋ฆฌ์ง(localStorage,sessionStorag)
· ์ฃผ์!
· ๋ณด์์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ ์ ์ฅํ๋ฉด ์๋จ(์ฃผ๋ฏผ๋ฒํธ, ์ ์ฉ์นด๋ ๋ฒํธ ๋ฑ๋ฑ)
์ฟ ํค - ์๋ช ์ฃผ๊ธฐ
Expires, max-age
Set-Cookie: expires=Sat, 26-Dec-2020 04:39:21 GMT
· ๋ง๋ฃ์ผ์ด ๋๋ฉด ์ฟ ํค ์ญ์
Set-Cookie: max-age=3600 (3600์ด)
· 0์ด๋ ์์๋ฅผ ์ง์ ํ๋ฉด ์ฟ ํค ์ญ์
์ธ์ ์ฟ ํค: ๋ง๋ฃ ๋ ์ง๋ฅผ ์๋ตํ๋ฉด ๋ธ๋ผ์ฐ์ ์ข ๋ฃ์ ๊น์ง๋ง ์ ์ง
์์ ์ฟ ํค: ๋ง๋ฃ ๋ ์ง๋ฅผ ์ ๋ ฅํ๋ฉด ํด๋น ๋ ์ง๊น์ง ์ ์ง
์ฟ ํค - ๋๋ฉ์ธ
Domain
์) domain=example.org
๋ช ์: ๋ช ์ํ ๋ฌธ์ ๊ธฐ์ค ๋๋ฉ์ธ + ์๋ธ ๋๋ฉ์ธ ํฌํจ
· domain=example.org๋ฅผ ์ง์ ํด์ ์ฟ ํค ์์ฑ
· example.org๋ ๋ฌผ๋ก ์ด๊ณ
· dev.example.org๋ ์ฟ ํค ์ ๊ทผ
์๋ต: ํ์ฌ ๋ฌธ์ ๊ธฐ์ค ๋๋ฉ์ธ๋ง ์ ์ฉ
· example.org ์์ ์ฟ ํค๋ฅผ ์์ฑํ๊ณ domain ์ง์ ์ ์๋ต
· example.org ์์๋ง ์ฟ ํค ์ ๊ทผ
· dev.example.org๋ ์ฟ ํค ๋ฏธ์
์ฟ ํค - ๊ฒฝ๋ก
Path
· ์ด ๊ฒฝ๋ก๋ฅผ ํฌํจํ ํ์ ๊ฒฝ๋ก ํ์ด์ง๋ง ์ฟ ํค ์ ๊ทผ
· ์ผ๋ฐ์ ์ผ๋ก path=/ ๋ฃจํธ๋ก ์ง์
์)
· path=/home ์ง์
· /home → ๊ฐ๋ฅ
· /home/level1 → ๊ฐ๋ฅ
· /home/level1/level2 → ๊ฐ๋ฅ
· /hello → ๋ถ๊ฐ๋ฅ
์ฟ ํค - ๋ณด์
Secure, HttpOnly, SameSite
Secure
· ์ฟ ํค๋ http, https๋ฅผ ๊ตฌ๋ถํ์ง ์๊ณ ์ ์ก
· Secure๋ฅผ ์ ์ฉํ๋ฉด https์ธ ๊ฒฝ์ฐ์๋ง ์ ์ก
HttpOnly
· XSS ๊ณต๊ฒฉ ๋ฐฉ์ง
· ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ ๊ทผ ๋ถ๊ฐ (document.cookie)
· HTTP ์ ์ก์๋ง ์ฌ์ฉ
SameSite
· XSRF ๊ณต๊ฒฉ ๋ฐฉ์ง
· ์์ฒญ ๋๋ฉ์ธ๊ณผ ์ฟ ํค์ ์ค์ ๋ ๋๋ฉ์ธ์ด ๊ฐ์ ๊ฒฝ์ฐ๋ง ์ฟ ํค ์ ์ก
์ถ์ฒ: [์ธํ๋ฐ]๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์
'๐ Web > HTTP ์น ๊ธฐ๋ณธ ์ง์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[HTTP]HTTP ํค๋2 - ์บ์์ ์กฐ๊ฑด๋ถ ์์ฒญ (0) | 2022.10.21 |
---|---|
[HTTP]HTTP ์ํ์ฝ๋ (0) | 2022.10.20 |
[HTTP]HTTP ๋ฉ์๋ (0) | 2022.10.20 |
[HTTP]HTTP ๊ธฐ๋ณธ (0) | 2022.10.19 |
[HTTP]์ธํฐ๋ท ๋คํธ์ํฌ (0) | 2022.10.19 |