HTTP ìë´ì
ì´ íì´ì§ë HTTPì ëí ìë´ì 목ë¡ì ëì´í©ëë¤. ì´ ìë´ìë¤ì HTTP íë¡í ì½ì íµí´ 무ìì í ì ìëì§ ì´í´íë ë° ëìì´ ëëë¡ ì ê³µë©ëë¤.
- Client hints(í´ë¼ì´ì¸í¸ íí¸)
Client Hintsë í´ë¼ì´ì¸í¸ ì¥ì¹ ë° ìì´ì í¸ë³ 기본 ì¤ì 목ë¡ì íì¸í ì ìëë¡ ì¬ì 컨í ì¸ ì²´í¬ë¥¼ ìí HTTP request header ì ëë¤. Client Hints를 ì¬ì©íë©´ ì´ë¯¸ì§ DPR í´ìëì ìë ì¡°ì ê³¼ ìµì í ë assetsì ìëì¼ë¡ ì ì©í ì ììµëë¤.
- HTTP ê°ì
HTTPë HTML 문ìì ê°ì 리ìì¤ë¤ì ê°ì ¸ì¬ ì ìëë¡ í´ì£¼ë íë¡í ì½ì ëë¤. HTTPë ì¹ìì ì´ë£¨ì´ì§ë 모ë ë°ì´í° êµíì 기ì´ì´ë©°, í´ë¼ì´ì¸í¸-ìë² íë¡í ì½ì´ê¸°ë í©ëë¤. í´ë¼ì´ì¸í¸-ìë² íë¡í ì½ì´ë (ë³´íµ ì¹ë¸ë¼ì°ì ì¸) ìì ì 측ì ìí´ ìì²ì´ ì´ê¸°íëë íë¡í ì½ì ì미í©ëë¤. íëì ìì í 문ìë í ì¤í¸, ë ì´ìì ì¤ëª , ì´ë¯¸ì§, ë¹ëì¤, ì¤í¬ë¦½í¸ ë± ë¶ë¬ì¨(fetched) íì 문ìë¤ë¡ ì¬êµ¬ì±ë©ëë¤.
- HTTP 리ë¤ì´ë í¸
URL 리ë¤ì´ë ì í¹ì URL í¬ìë©ì íì´ì§ ë¨ìì ì¤ì 리ìì¤, í¼ í¹ì ì ì²´ ì¹ ì í리ì¼ì´ì ì´ ë¤ë¥¸ URLì ìì¹íê³ ìë ìíìì ë§í¬ë¥¼ ì¡´ììí¤ë 기ì ì ëë¤. HTTPë ë§ì 목í를 ìí´ ì¬ì©ëë ì´ë° ëìì ìíí기 ìí´ í¹ë³í ì¢ ë¥ì ìëµì¸ HTTP 리ë¤ì´ë í¸ë¥¼ ì ê³µí©ëë¤: ì¬ì´í¸ ì ì§ê´ë¦¬ê° ì§í ì¤ì¸ ìíììì ì¼ìì ì¸ ë¦¬ë¤ì´ë ì , ì¬ì´í¸ ìí¤í ì³ì ë³ê²½ ì´íìë ì¸ë¶ ë§í¬ë¥¼ ëìíë ìíë¡ ì ì§ìí¤ê¸° ìí ì구ì ì¸ ë¦¬ë¤ì´ë ì , íì¼ ì ë¡ë ì ì§í ìí íì´ì§ ê·¸ë¦¬ê³ ê·¸ ì¸ì ìë§ì 리ë¤ì´ë ì ë¤ ...
- HTTP ë©ìì§
HTTP ë©ìì§ë ìë²ì í´ë¼ì´ì¸í¸ ê°ì ë°ì´í°ê° êµíëë ë°©ìì ëë¤. ë©ìì§ íì ì ë ê°ì§ê° ììµëë¤. ìì²('request')ì í´ë¼ì´ì¸í¸ê° ìë²ë¡ ì ë¬í´ì ìë²ì ì¡ì ì´ ì¼ì´ëê²ë íë ë©ìì§ê³ , ìëµ('response')ì ìì²ì ëí ìë²ì ëµë³ì ëë¤.
- HTTP ë²ì ìì²
HTTP ë²ì ìì²ì HTTPì ì¼ì ë¶ë¶ë§ ìë²ìì í´ë¼ì´ì¸í¸ë¡ ë³´ë´ëë¡ íë½íë ê²ì ëë¤. ë¶ë¶ ìì²ì ì를ë¤ì´ ëí 미ëì´ë íì¼ ë¤ì´ë¡ë ëì¤ ì¼ìì ì§ì ë¤ì ìì 기ë¥ì ì ì©í©ëë¤.
- HTTP ì¸ì¦
HTTPë ì ê·¼ ì ì´ì ì¸ì¦ì ìí ì¼ë°ì ì¸ íë ììí¬ë¥¼ ì ê³µí©ëë¤. ì´ íì´ì§ììë ì¼ë°ì ì¸ HTTP ì¸ì¦ íë ììí¬ë¥¼ ìê°íê³ ìë²ì HTTPì Basic ì¤í¤ë§ ì¸ì¦ ë°©ìì¼ë¡ ì ê·¼ì ì ííë ê²ì ë³´ì¬ì¤ëë¤.
- HTTP ì¡°ê±´ë¶ ìì²
ìí¥ì ë°ë 리ìì¤ë¤ì ê²ì¬ê¸° ê°ì ì´ì©í´ ë¹êµí¨ì¼ë¡ì¨, HTTPë, ì±ê³µì¸ ê²½ì°ë¼ë, ìì²ì ê²°ê³¼ê° ë³ê²½ë ì ìë ì¡°ê±´ë¶ ìì²ì 컨ì ì ê°ì§ê³ ììµëë¤. ê·¸ë° ìì²ë¤ì ìºì 컨í ì¸ ì ì¸ëª¨ìë 컨í¸ë¡¤ íí¼ë¥¼ ê²ì¦íê³ , ë¤ì´ë¡ë를 ì´ì´ì íê±°ë ìë² ìì 문ì를 ì ë¡ë ëë ìì í ë ìì ë ë´ì©ì ìì§ ìëë¡ í ëì²ë¼, 문ìì 무결ì±ì íì¦íëë° ì ì©í ì ììµëë¤.
- HTTP ìºì±
ì¹ ì¬ì´í¸ì ì í리ì¼ì´ì ì ì±ë¥ì ì´ì ì ê°ì ¸ì¨ 리ìì¤ë¤ì ì¬ì¬ì©í¨ì¼ë¡ì¨ íì íê² í¥ìë ì ììµëë¤. ì¹ ìºìë ë ì´í´ìì ë¤í¸ìí¬ í¸ëí½ì ì¤ì¬ì¤ì¼ë¡ì¨ 리ìì¤ë¥¼ ë³´ì¬ì£¼ë ë°ì íìí ìê°ì ì¤ì¬ì¤ëë¤. HTTP ìºì±ì íì©íë©´ ì¹ ì¬ì´í¸ê° ì¢ ë ë¹ ë¥´ê² ë°ìíëë¡ ë§ë¤ ì ììµëë¤.
- HTTP ì¿ í¤
HTTP ì¿ í¤(ì¹ ì¿ í¤, ë¸ë¼ì°ì ì¿ í¤)ë ìë²ê° ì¬ì©ìì ì¹ ë¸ë¼ì°ì ì ì ì¡íë ìì ë°ì´í° ì¡°ê°ì ëë¤. ë¸ë¼ì°ì ë ê·¸ ë°ì´í° ì¡°ê°ë¤ì ì ì¥í´ ëìë¤ê°, ëì¼í ìë²ì ì¬ ìì² ì ì ì¥ë ë°ì´í°ë¥¼ í¨ê» ì ì¡í©ëë¤. ì¿ í¤ë ë ìì²ì´ ëì¼í ë¸ë¼ì°ì ìì ë¤ì´ìëì§ ìëì§ë¥¼ íë¨í ë ì£¼ë¡ ì¬ì©í©ëë¤. ì´ë¥¼ ì´ì©íë©´ ì¬ì©ìì ë¡ê·¸ì¸ ìí를 ì ì§í ì ììµëë¤. ìíê° ìë(stateless) HTTP íë¡í ì½ìì ìí ì 보를 기ìµìì¼ì£¼ê¸° ë문ì ëë¤.
- HTTP/1.xì 커ë¥ì ê´ë¦¬
커ë¥ì ê´ë¦¬ë HTTPì 주ì 주ì ì ëë¤: ëê·ëª¨ë¡ 커ë¥ì ì ì´ê³ ì ì§íë ê²ì ì¹ ì¬ì´í¸ í¹ì ì¹ ì í리ì¼ì´ì ì ì±ë¥ì ë§ì ìí¥ì ì¤ëë¤. HTTP/1.xìë ëª ê°ì§ 모ë¸ì´ ì¡´ì¬í©ëë¤: ë¨ê¸° 커ë¥ì , ììì ì¸ ì»¤ë¥ì , ê·¸ë¦¬ê³ HTTP íì´íë¼ì´ë.
- HTTPììì ìì¶
ìì¶ì ì¹ ì¬ì´í¸ì ì±ë¥ì ëì´ë ì¤ìí ë°©ë²ì ëë¤. ì´ë¤ 문ìì ëí´, 70%ê° ëë ì¬ì´ì¦ ì¶ìë íìë¡ íë ëìí ì©ëì ë®ì¶°ì¤ëë¤. ìë ê°, ìê³ ë¦¬ì¦ì ì ì ë í¨ì¨ì ì¼ë¡ ë³í´ìê³ , í´ë¼ì´ì¸í¸ì ìë²ì ìí´ ìë¡ì´ ê²ë¤ì´ ì§ìëê³ ììµëë¤.
- HTTPì ì§í
HTTP (HyperText Transfer Protocol)ì ìë ìì´ë ì¹ì 기ë°ì´ ëë íë¡í ì½ì ëë¤. 1989ë ë¶í° 1991ë ê¹ì§ Tim Berners-Leeì ê·¸ì íì´ ê°ë°í HTTPë ì ì°í¨ì íì±íë ëìì ë¨ìí¨ì ì§í¤ë ë° ëìì´ ëë ë§ì ìì ì ê±°ì³ììµëë¤. HTTPê° ì 뢰í ì ìë ì¤íì¤ íê²½ìì íì¼ì êµííëë¡ ë§ë¤ì´ì§ íë¡í ì½ìì ê³ í´ìëì 3D ì´ë¯¸ì§ì ë¹ëì¤ë¥¼ ì ë¬íë íë ì¸í°ë· 미ë¡ë¡ ì´ë»ê² ì§ííëì§ ììë³´ë ¤ë©´ ê³ìí´ì ì½ì´ì£¼ì¸ì.
- MIME íì (IANA 미ëì´ íì )
미ëì´ íì (Multipurpose Internet Mail Extensions ëë MIME typeë¡ë ìë ¤ì ¸ ìì)ì´ë 문ì, íì¼ ëë ë°ì´í¸ ì§í©ì ì±ê²©ê³¼ íìì ëíë ëë¤. MIME íì ì IETFì
6838ì ì ì ë° íì¤íëì´ ììµëë¤.- êµì°¨ ì¶ì² 리ìì¤ ê³µì (CORS)
êµì°¨ ì¶ì² 리ìì¤ ê³µì (Cross-Origin Resource Sharing, CORS)ë ë¸ë¼ì°ì ê° ìì ì ì¶ì²ê° ìë ë¤ë¥¸ ì´ë¤ ì¶ì²(ëë©ì¸, ì¤í´ í¹ì í¬í¸)ë¡ë¶í° ììì ë¡ë©íë ê²ì íì©íëë¡ ìë²ê° íê° í´ì£¼ë HTTP í¤ë ê¸°ë° ë©ì»¤ëì¦ì ëë¤. ëí CORS ë êµì°¨ ì¶ì² 리ìì¤ë¥¼ í¸ì¤í íë ìë²ê° ì¤ì ìì²ì íê°í ê²ì¸ì§ íì¸í기 ìí´ ë¸ë¼ì°ì ê° ë³´ë´ë "ì¬ì ìì²(í리íë¼ì´í¸, Preflight)" ë©ì»¤ëì¦ì ìì¡´í©ëë¤. ì´ ì¬ì ìì²ìì ë¸ë¼ì°ì ë ì¤ì ìì²ìì ì¬ì©í HTTP ë©ìëì í¤ëë¤ì ëí ì ë³´ê° íìë í¤ëì ë´ì ë³´ë ëë¤.
- 무ì¸ì¦ IFrame
무ì¸ì¦ IFrameì ê°ë°ìê° ìë¡ì´ ìì 컨í ì¤í¸ë¥¼ ì¬ì©íì¬
iframeìì íì¬ ë¦¬ìì¤ë¥¼ ë¡ëí ì ìë ë©ì»¤ëì¦ì ì ê³µí©ëë¤. ì´ë ì¼ë° ì본ì ë¤í¸ìí¬, ì¿ í¤, ê·¸ë¦¬ê³ ì ì¥ì ë°ì´í°ì ì¡ì¸ì¤í ì ììµëë¤. ìµìì 문ìì ìëª ì ëí´ ìë¡ì´ 컨í ì¤í¸ ê³µê°ì ì¬ì©í©ëë¤. ê·¸ ê²°ê³¼Cross-Origin-Embedder-Policy(COEP)ê° í´ì ë ì ìì¼ë¯ë¡ COEPê° ì¤ì ë 문ìë COEPê° ì¤ì ëì§ ìì íì¬ ë¬¸ì를 í¬í¨í ì ììµëë¤.- ì¬ì©ì ìì´ì í¸ë¥¼ ì¬ì©í ë¸ë¼ì°ì ê°ì§
ë¸ë¼ì°ì ë³ë¡ ë¤ë¥¸ ì¹ íì´ì§ ëë ìë¹ì¤ë¥¼ ì ê³µíë ê²ì ì¼ë°ì ì¼ë¡ ì¢ì§ ìì ìê°ì ëë¤. ì¹ì ì¬ì©íë ë¸ë¼ì°ì ë ì¥ì¹ì ê´ê³ìì´ ëª¨ë ì¬ëì´ ì ê·¼í ì ìëë¡ ë§ë¤ì´ì¡ìµëë¤. í¹ì ë¸ë¼ì°ì 를 ëìì¼ë¡ í기보ë¤ë 기ë¥ì ê°ì©ì±ì 기ë°ì¼ë¡ ì¹ì¬ì´í¸ë¥¼ ì ì§ì ì¼ë¡ ê°ì íëë¡ ì¹ì¬ì´í¸ë¥¼ ê°ë°íë ë°©ë²ì´ ììµëë¤.
- ì íì ì¸ HTTP ì¸ì
HTTPì ê°ì í´ë¼ì´ì¸í¸-ìë² íë¡í ì½ìì, ì¸ì ì ë¤ìì ì¸ ê°ì§ ê³¼ì ì¼ë¡ ì´ë£¨ì´ì§ëë¤.
- 컨í ì¸ ë³´ì ì ì± (CSP)
ì½í ì¸ ë³´ì ì ì± (CSP)ë êµì°¨ ì¬ì´í¸ ì¤í¬ë¦½í (XSS)ê³¼ ë°ì´í° 주ì 공격ì ë¹ë¡¯í í¹ì ì íì 공격ì íì§íê³ ìííë ë° ëìì´ ëë ì¶ê° ë³´ì ê³ì¸µì ëë¤. ì´ë¬í 공격ì ë°ì´í° ì ëìì ì¬ì´í¸ í¼ì, 맬ì¨ì´ ë°°í¬ì ì´ë¥´ê¸°ê¹ì§ 모ë ê²ì ì¬ì©ë©ëë¤.
- ì½í ì¸ íì
HTTPìì ì½í ì¸ íì(Content negotiation)ì´ë ëì¼í URIìì 리ìì¤ì ìë¡ ë¤ë¥¸ ë²ì ì ì ê³µí기 ìí´ ì¬ì©íë ë©ì»¤ëì¦ì¼ë¡, ì¬ì©ì ìì´ì í¸ê° ì¬ì©ììê² ì ì¼ ì ë§ë ê²ì´ 무ìì¸ì§(ì를 ë¤ì´, 문ìì ì¸ì´, ì´ë¯¸ì§ í¬ë§· í¹ì 컨í ì¸ ì¸ì½ë©ì ìì´ ì´ë¤ ê²ì´ ì ì íì§)를 ëª ìí ì ììµëë¤.
- íë¡í ì½ ì ê·¸ë ì´ë ë©ì»¤ëì¦
HTTP/1.1 íë¡í ì½ì
Upgradeí¤ë íë를 ì¬ì©íì¬ ì´ë¯¸ ì¤ì ë ì°ê²°ì ë¤ë¥¸ íë¡í ì½ë¡ ì ê·¸ë ì´ëíëë° ì¬ì©í ì ìë í¹ë³í ë©ì»¤ëì¦ì ì ê³µí©ëë¤.