HTTP ν€λ νλλ κ·Έ μ©λμ λ°λΌ 4μ’ λ₯λ‘ λΆλ₯ν μ μλ€.
λν, HTTP ν€λ νλλ μΊμμ λΉμΊμ νλ‘μμ λμμ μ μνκΈ° μν΄μ λ κ°μ§ μΉ΄ν κ³ λ¦¬λ‘ λΆλ₯λμ΄ μλ€.
- End-to-end ν€λ
μμ²μ΄λ μλ΅μ μ΅μ’ μμ μμκ² μ μ‘ - Hop-by-hop ν€λ
ν λ² μ μ‘μ λν΄μλ§ μ ν¨νκ³ μΊμμ νλ‘μμ μν΄μ μ μ‘λμ§ μλ κ²λ μμ
π 1. μΌλ°μ ν€λ νλ(General Header Fields)
- μμ² λ©μμ§μ μλ΅ λ©μμ§ λ λ€ μ¬μ©λλ ν€λ
ν€λ νλ λͺ | μ€λͺ |
Cache-Control | μΊμ± λμ μ§μ |
Connection | Hop-by-hop ν€λ. 컀λ₯μ κ΄λ¦¬ |
Date | λ©μμ§ μμ± λ μ§ |
Pragma | λ©μμ§ μ μ΄ |
Trailer | λ©μμ§μ λμ μλ ν€λμ μΌλ |
Transfer-Encoding | λ©μμ§ λ°λμ μ μ‘ μ½λ© νμ μ§μ |
Upgrade | λ€λ₯Έ νλ‘ν μ½μ μ κ·Έλ μ΄λ |
Via | νλ‘μ μλ²μ κ΄ν μ 보 |
Warning | μλ¬ ν΅μ§ |
π 1-1. Cache-Control
- λλ ν°λΈλ‘ λΆλ¦¬λ λͺ λ Ήμ μ¬μ©νμ¬ μΊμ± λμμ μ§μ
[μΊμ μμ² λλ ν°λΈ]
λλ ν°λΈ | νλΌλ―Έν° | μ€λͺ |
no-cache | μμ | μ€λ¦¬μ§ μλ²μ κ°μ μ μΈ μ¬κ²μ¦ |
no-store | μμ | μΊμλ μμ²κ³Ό μλ΅μ μΌλΆλΆμ 보쑴ν΄μλ μλ¨ |
max-age = [μ΄] | νμ | μλ΅μ μ΅λ age κ° |
max-state( = [μ΄]) | μλ΅ κ°λ₯ | κΈ°νμ΄ μ§λ μλ΅μ μμ |
min-fresh = [μ΄] | νμ | μ§μ ν μκ° μ΄νμ λ³κ²½λ μλ΅μ 보λ |
no-transform | μμ | νλ‘μλ λ―Έλμ΄ νμ μ λ³νν΄μλ μλ¨ |
only-if-cached | μμ | μΊμμμ 리μμ€λ₯Ό μ·¨λ |
cache-extension | - | μλ‘μ΄ λλ ν°λΈλ₯Ό μν ν ν° |
[μΊμ μλ΅ λλ ν°λΈ]
λλ ν°λΈ | νλΌλ―Έν° | μ€λͺ |
public | μμ | μ΄λκ°μ μλ΅ μΊμκ° κ°λ₯ |
private | μλ΅ κ°λ₯ | νΉμ μ μ μ λν΄μλ§ μλ΅ |
no-cache | μλ΅ κ°λ₯ | μ ν¨μ±μ μ¬νμΈ μμ΄λ μΊμλ μ¬μ©ν΄μλ μλ¨ |
no-store | μμ | μΊμλ μμ²κ³Ό μλ΅μ μΌλΆλΆμ 보쑴ν΄μλ μλ¨ |
no-transform | μμ | νλ‘μλ λ―Έλμ΄ νμ μ λ³κ²½ν΄μλ μλ¨ |
must-revalidate | μμ | μΊμκ° κ°λ₯νμ§λ§ μ€λ¦¬μ§ μλ²μ 리μμ€μ μ ν¨μ±μ μ¬νμΈμ μꡬ |
proxy-revalidate | μμ | μ€κ° μΊμ μλ²μ λν΄μ μΊμνλ μλ΅μ μ ν¨μ±μ μ¬νμΈμ μꡬ |
max-age = [μ΄] | νμ | μλ΅μ μ΅λ Age κ° |
s-maxage = [μ΄] | νμ | 곡μ μΊμ μλ²μ μλ΅ μ΅λ Age κ° |
cache-extension | - | μλ‘μ΄ λλ ν°λΈλ₯Ό μν ν ν° |
π 1-2. Connection
- νλ‘μμ λ μ΄μ μ μ‘νμ§ μλ ν€λ νλλ₯Ό μ§μ
Connection: λ μ΄μ μ μ‘νμ§ μλ ν€λ νλ λͺ
- μ§μμ μ μ κ΄λ¦¬
Connectin: Close // μλ² μΈ‘μμ λͺ μμ μΌλ‘ μ μμ λκ³ μΆμ κ²½μ°
Connection: Keep-Alive // μ§μμ μ μμ νκ³ μΆμ κ²½μ°
π 1-3. Date
- HTTP λ©μμ§λ₯Ό μμ±ν λ μ§λ₯Ό λνλ
π 1-4. Pragma
- HTTP/1.1 λ³΄λ€ μ€λλ λ²μ μ νμ μΌλ‘ HTTP/1.0 μμ νλ°© νΈνμ±λ§μ μν΄μ μ μλμ΄ μλ ν€λ νλ
- ν΄λΌμ΄μΈνΈλ μΊμ λ 리μμ€μ μλ΅μ μνμ§ μμμ λͺ¨λ μ€κ° μλ²μ μ리기 μν΄ μ¬μ©
Pragma: no-cache
π 1-5. Trailer
- λ©μμ§ λ°λμ λ€μ κΈ°μ λμ΄ μλ ν€λ νλλ₯Ό 미리 μ λ¬ν μ μμ
- Trailer ν€λ νλμ Expiresλ₯Ό μ§μ νκ³ μκ³ , λ©μμ§ λ°λμ λ€μ Expires ν€λ νλκ° λνλ¨
...
Trailer: Expires
... (λ©μμ§ λ°λ) ...
0
Expires: Wed, 31 May 2023 23:59:59 GMT
π 1-6. Transfer-Encoding
- λ©μμ§ λ°λμ μ μ‘ μ½λ© νμμ μ§μ νλ κ²½μ°μ μ¬μ©
Transfer-Encoding: chunked
π 1-7. Upgrade
- HTTP λ° λ€λ₯Έ νλ‘ν μ½μ μλ‘μ΄ λ²μ μ΄ ν΅μ μ μ΄μ©λλ κ²½μ°μ μ¬μ
- Upgrade ν€λ νλλ₯Ό μ¬μ©νλ κ²½μ°λ Connection: Upgradeλ μ§μ ν νμκ° μμ
Upgrade: TLS/1.0
Connection: Upgrade
π 1-8. Via
- ν΄λΌμ΄μΈνΈμ μλ² κ°μ μμ² νΉμ μλ΅ λ©μμ§μ κ²½λ‘λ₯Ό μκΈ° μν΄μ μ¬μ©
- Via ν€λ νλλ μ μ‘λ λ©μμ§μ μΆμ κ³Ό μμ² λ£¨νμ ννΌ λ±μ μ¬μ©λκΈ° λλ¬Έμ νλ‘μλ₯Ό κ²½μ νλ κ²½μ°μλ λ°λμ λΆκ°ν νμκ° μμ
π 1-9. Warning
- HTTP/1.0 μλ΅ ν€λ(Retry-After)κ° HTTP/1.1μμ λ³κ²½λ κ²μΌλ‘ μλ΅μ κ΄ν μΆκ° μ 보λ₯Ό μ λ¬
- κΈ°λ³Έμ μΌλ‘ μΊμμ κ΄ν λ¬Έμ μ κ²½κ³ λ₯Ό μ μ μκ² μ λ¬
Warning: [κ²½κ³ μ½λ][κ²½κ³ ν νΈμ€νΈ:ν¬νΈ λ²νΈ]"[κ²½κ³ λ¬Έ]" ([λ μ§])
π 2. μμ² ν€λ νλ(Request Header Fields)
- ν΄λΌμ΄μΈνΈ μΈ‘μμ μλ² μΈ‘μΌλ‘ μ‘μ λ μμ² λ©μμ§μ μ¬μ©λλ ν€λ
- μμ²μ λΆκ°μ μ 보μ ν΄λΌμ΄μΈνΈμ μ 보, μλ΅μ μ½ν μΈ μ κ΄ν μ°μ μμ λ±μ λΆκ°
ν€λ νλλͺ | μ€λͺ |
Accept | μ μ μμ΄μ νΈκ° μ²λ¦¬ κ°λ₯ν λ―Έλμ΄ νμ |
Accept-Charset | λ¬Έμμ μ°μ μμ |
Accept-Encoding | μ½ν μΈ μΈμ½λ© μ°μ μμ |
Accept-Language | μΈμ΄(μμ°μ΄) μ°μ μμ |
Authorization | μΉ μΈμ¦μ μν μ 보 |
Expect | μλ²μ λν νΉμ λμμ κΈ°λ |
From | μ μ μ λ©μΌ μ£Όμ |
Host | μꡬλ 리μμ€μ νΈμ€νΈ |
If-Match | μν°ν° νκ·Έμ λΉκ΅ |
If-Modified-Since | 리μμ€μ κ°±μ μκ° λΉκ΅ |
If-None-Match | μν°ν° νκ·Έμ λΉκ΅(If-Matchμ λ°λ) |
If-Range | 리μμ€κ° κ°±μ λμ§ μμ κ²½μ°μ μν°ν°μ λ°μ΄νΈ λ²μμ μꡬλ₯Ό μ‘μ |
If-Unmodified-Since | 리μμ€μ κ°±μ μκ° λΉκ΅(If-Modified-Sinceμ λ°λ) |
Max-Forwards | μ΅λ μ μ‘ ν μ |
Proxy-Authorization | νλ‘μ μλ²μ ν΄λΌμ΄μΈνΈ μΈμ¦μ μν μ 보 |
Range | μν°ν° λ°μ΄νΈ λ²μ μꡬ |
Referer | 리νμ€νΈμ€μ URIλ₯Ό μ·¨λνλ κ³³ |
TE | μ μ‘ μΈμ½λ©μ μ°μ μμ |
User-Agent | HTTP ν΄λΌμ΄μΈνΈ μ 보 |
π 3. μλ΅ ν€λ νλ(Response Header Fields)
- μλ² μΈ‘μμ ν΄λΌμ΄μΈνΈ μΈ‘μΌλ‘ μ‘μ ν μλ΅ λ©μμ§μ μ¬μ©λλ ν€λ
- μλ΅μ μ 보μ μλ²μ μ 보, ν΄λΌμ΄μΈνΈμ μΆκ° μ 보 μꡬ λ±μ λΆκ°
ν€λ νλλͺ | μ€λͺ |
Accept-Ranges | λ°μ΄νΈ λ¨μμ μꡬλ₯Ό μμ ν μ μλμ§ μλμ§ μ¬λΆ |
Age | 리μμ€μ μ§μ κ²½κ³Ό μκ° |
Etag | 리μμ€ νΉμ νκΈ° μν μ 보 |
Location | ν΄λΌμ΄μΈνΈλ₯Ό μ§μ ν URIμ 리λ€μ΄λ νΈ |
Proxy-Authenticate | νλ‘μ μλ²μ ν΄λΌμ΄μΈνΈ μΈμ¦μ μν μ 보 |
Retry-After | μμ² μ¬μνμ νμ΄λ° μꡬ |
Server | HTTP μλ² μ 보 |
Vary | νλ‘μ μλ²μ λν μΊμ κ΄λ¦¬ μ 보 μΊμλ₯Ό 컨νΈλ‘€ νκΈ° μν΄μ μ¬μ© μ€λ¦¬μ§ μλ²κ° νλ‘μ μλ²μ λ‘컬 μΊμλ₯Ό μ¬μ©νλ λ°©λ²μ λν μ§μλ₯Ό μ λ¬ |
WWW-Authenticate | μλ²μ ν΄λΌμ΄μΈνΈ μΈμ¦μ μν μ 보 |
π 4. μν°ν° ν€λ νλ(Entity Header Fields)
- μμ² λ©μμ§μ μλ΅ λ©μμ§μ ν¬ν¨λ μν°ν°μ μ¬μ©λλ ν€λ
- μ½ν μΈ κ°±μ μκ° λ±μ μν°ν°μ κ΄ν μ 보λ₯Ό λΆκ°
ν€λ νλλͺ | μ€λͺ |
Allow | 리μμ€κ° μ 곡νλ HTTP λ©μλ |
Content-Encoding | μν°ν° λ°λμ μ μ©λλ μ½ν μΈ μΈμ½λ© |
Content-Language | μν°ν°μ μμ°μ΄ |
Content-Length | μν°ν° λ°λμ μ¬μ΄μ¦ (λ¨μ: λ°μ΄νΈ) |
Content-Location | 리μμ€μ λμνλ λ체 URI |
Content-MD5 | μν°ν° λ°λμ λ©μμ§ λ€μ΄μ μ€νΈ λ©μμ§ λ°λκ° λ³κ²½λμ§ μκ³ λμ°©νλμ§ νμΈνκΈ° μν΄ MD5 μκ³ λ¦¬μ¦μ μν΄μ μμ±λ κ°μ μ λ¬ |
Content-Range | μν°ν° λ°λμ λ²μ μμΉ |
Content-Type | μν°ν° λ°λμ λ―Έλμ΄ νμ |
Expires | μν°ν° λ°λμ μ ν¨κΈ°ν λ μ§ |
Last-Modified | 리μμ€μ μ΅μ’ κ°±μ λ μ§ |
π 5. HTTP/1.1 μ΄μΈμ ν€λ νλ
- μ§κΈκΉμ§λ RFC2616μ μ μλ 47 μ’ λ₯μ ν€λ νλλ₯Ό μ΄ν΄λ΄
- νμ§λ§, μΏ ν€μ Set-Cookie, Content-Dispositionκ³Ό κ°μ κ²λ ν λκ² μ¬μ©λκ³ μλ κ²μ΄ μμ
- μ΄λ¬ν λΉνμ€ ν€λ νλλ RFC4229 HTTP Header Field Registrationsμ μ 리λμ΄ μμ
ν€λ νλλͺ | μ€λͺ |
Set-Cookie | μν κ΄λ¦¬ κ°μλ₯Ό μν μΏ ν€ μ 보 (μλ΅) |
Cookie | μλ²μμ μμ ν μΏ ν€ μ 보 (μμ²) |
X-Frame-Option | λ€λ₯Έ μΉ μ¬μ΄νΈμ νλ μμμ νμλ₯Ό μ μ΄νλ κ² ν΄λ¦ μ¬νΉ(Click Jacking)μ΄λΌλ 곡격μ λ§λ κ²μ λͺ©μ μΌλ‘ ν¨ |
X-XSS-Protection | ν¬λ‘μ€ μ¬μ΄νΈ μ€ν¬λ¦½ν (XSS) λμ± μΌλ‘μ λΈλΌμ°μ μ XSS λ³΄νΈ κΈ°λ₯μ μ μ΄νλ HTTP μλ΅ ν€λ |
DNT | Do Not Track(DNT)λΌλ λ»μΌλ‘ κ°μΈ μ 보 μμ§μ κ±°λΆνλ μμ¬λ₯Ό λνλ΄λ HTTP μμ² ν€λ |
P3P | μΉ μ¬μ΄νΈ μμ νλΌμ΄λ²μ μ μ±
μ P3P(The Platform for Privacy Preferences)λ₯Ό μ¬μ©νλ κ² νλ‘κ·Έλ¨μ΄ μ½μ μ μλ ννλ‘ λνλ΄κΈ° μν HTTP μμ² ν€λ |
'π κ°λ° μμ > κ·Έλ¦ΌμΌλ‘ λ°°μ°λ HTTP&Network Basic' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ 8μ₯. λκ° μμΈμ€νκ³ μλμ§λ₯Ό νμΈνλ μΈμ¦ (0) | 2023.05.31 |
---|---|
μ 7μ₯. μΉμ μμ νκ² μ§μΌμ£Όλ HTTPS (0) | 2023.05.31 |
μ 5μ₯. HTTPμ μ°κ³νλ μΉ μλ² (0) | 2023.05.31 |
μ 4μ₯. κ²°κ³Όλ₯Ό μ λ¬νλ HTTP μν μ½λ (0) | 2023.05.30 |
μ 3μ₯. HTTP μ 보λ HTTP λ©μμ§μ μλ€. (0) | 2023.05.30 |