Priority ãããã¼
HTTP ã® Priority ãããã¼ã¯ãåãæ¥ç¶ä¸ã®ä»ã®ãªã½ã¼ã¹ãªã¯ã¨ã¹ãã¨æ¯è¼ãã¦ããªã¯ã¨ã¹ãããããªã½ã¼ã¹ãå«ã HTTP ã¬ã¹ãã³ã¹ãéä¿¡ãããåªå
é ä½ã«ã¤ãã¦ãã¯ã©ã¤ã¢ã³ããæå®ããåªå
é ä½ã示ãã¾ãã
ãªã¯ã¨ã¹ãã§ãã®ãããã¼ãæå®ããã¦ããªãå ´åãããã©ã«ãã®åªå
é ä½ãä»®å®ããã¾ãã
ã¾ãããµã¼ãã¼ã¯ãã¯ã©ã¤ã¢ã³ããéç¥ããåªå
é ä½è¨å®ã夿´ããããã¨ã示ãããã«ãã¬ã¹ãã³ã¹ã«ãã®ãããã¼ãè¨å®ãããã¨ãããã¾ãã
ã¬ã¹ãã³ã¹ã«ããã¦ããã®æ
å ±ã¯ããã£ãã·ã¥ãµã¼ãã¼ãã¬ã¹ãã³ã¹ã転éãããã®ä»ã®ãµã¼ãã¼ã«ãããåªå
é ä½ä»ãããã»ã¹ã®å
¥åæ
å ±ã¨ãã¦ä½¿ç¨ãããã¨ãã§ãã¾ãã
ãµã¼ãã¼ã¯ã¯ã©ã¤ã¢ã³ãã®åªå é ä½è¨å®ã«ææããããã®ã§ã¯ãªããã¯ã©ã¤ã¢ã³ãã®åªå é ä½ããèªåèªèº«ã§å®æ½ããåªå é ä½ä»ãããã»ã¹ã®åèæ å ±ã¨ãã¦ã®ã¿ä½¿ç¨ããå ´åãããã¾ãã ä¾ãã°ããµã¼ãã¼ã¯ãç¹å®ã®ç»åãã¦ã¼ã¶ã¼ã®ä½¿ãåæã«ã¨ã£ã¦æ¥µãã¦éè¦ã§ãããæåªå ã§éä¿¡ãã¹ãã§ãããã¨ãèªèãã¦ããå ´åãããã¾ãã ã¾ãããµã¼ãã¼ã«ããåªå é ä½ä»ãã¯ããããã¯ã¼ã¯ã®è¼»è¼³ãªã©ã®è¦å ã«ãã£ã¦å½±é¿ãåããå ´åãããã¾ãã
ãã®ãªã¯ã¨ã¹ãã¯ãã£ãã·ã¥ããããã¨ãããã¾ãããµã¼ãã¼ã¯ãCache-Control ã Vary ãªã©ããã£ãã·ã¥åä½ãå¶å¾¡ãããããã¼ãã£ã¼ã«ãã使ç¨ãã¦ããã£ãã·ã¥ã®å¯å¦ããã£ãã·ã¥ãããã¬ã¹ãã³ã¹ã®é©ç¨å¯å¦ãå¶å¾¡ãããã¨ãæå¾
ããã¾ãã
ã¡ã¢:
ãã®ãããã¼ã¯ãRFC 9218 ã§å®ç¾©ããã¦ãããHTTP ç¨æ¡å¼µåªå
é ä½ä»ãã¹ãã¼ã ãã®ä¸é¨ã§ãã
ã¾ããHTTP/2 ã HTTP/3 ã«ã¯ PRIORITY_UPDATE ãã¬ã¼ã ãããããªã½ã¼ã¹ã®ãªã¯ã¨ã¹ããéä¿¡ããå¾ã«ãã®åªå
é ä½ã夿´ããããã«ä½¿ç¨ãããã¨ãã§ãã¾ãã
ãã®ãªã¯ã¨ã¹ãã¯ãã©ã®ãã¼ã¸ã§ã³ã® HTTP ã§ãéä¿¡å¯è½ã§ãã
| ãããã¼ç¨®å¥ | ãªã¯ã¨ã¹ããããã¼, ã¬ã¹ãã³ã¹ãããã¼ |
|---|---|
| ç¦æ¢ãªã¯ã¨ã¹ããããã¼ | ããã |
æ§æ
Priority: u=<priority>
Priority: i
Priority: u=<priority>, i
ãã£ã¬ã¯ãã£ã
u=<priority>-
ãç·æ¥åº¦ã (
u) 弿°ã¯ããªã½ã¼ã¹ã®åªå 度å¤<priority>ãæå®ãã¾ãã ãã®å¤ã¯ 0 ä»¥ä¸ 7 以ä¸ã®æ´æ°ã§ãããåªå 度ã®é«ãé ã«ä¸¦ãã§ãã¾ãï¼0 ãæãç·æ¥åº¦ãé«ãï¼ã ãªã¯ã¨ã¹ãã®ããã©ã«ãã®åªå 度å¤ã¯ 3 ã§ãã ã¬ã¹ãã³ã¹ã«ã¯ããã©ã«ãã®åªå 度å¤ã¯ããã¾ãããã¬ã¹ãã³ã¹ã«ãã®ãããã¼ãå«ã¾ãã¦ããªãå ´åã¯ããµã¼ãã¼ãã¯ã©ã¤ã¢ã³ãã®åªå 度ã夿´ããªããã¨ã鏿ãããã¨ã示ãã¾ãã åªå 度 7 ã¯ãããã¯ã°ã©ã¦ã³ãã¿ã¹ã¯ãã½ããã¦ã§ã¢æ´æ°ã®é ä¿¡ãªã©ã使ãåæã«å½±é¿ãä¸ããå¯è½æ§ãä½ããªã½ã¼ã¹ã«å¯¾ãã¦ã®ã¿ä½¿ç¨ãã¹ãã§ãããã©ã¦ã¶ã¼ã¯ãä»ã®ãªã½ã¼ã¹ã使ç¨ããå¯è½æ§ãé«ãææ¸ã«ã¤ãã¦ã¯ãããã©ã«ãã®åªå 度ã§ãªã¯ã¨ã¹ããè¡ãã¹ãã§ãã ãã®å¾ãåç §ããããªã½ã¼ã¹ã«ã¤ãã¦ã¯ããã®å°çæéã使ãåæã«ä¸ããç¸å¯¾çãªå½±é¿ãåæ ããå¤ãç¨ãã¦ãªã¯ã¨ã¹ããè¡ãå¿ è¦ãããã¾ãã
ãµã¼ãã¼ã¯ãã¯ã©ã¤ã¢ã³ãã¨ã¯ç°ãªãåªå é ä½ã®è§£éãæã¤ãã¨ãã§ããå ´åããããä¸éãµã¼ãã¼ã«åªå é ä½ã®ãã³ããä¸ããããã«ãç°ãªãå¤ãã¬ã¹ãã³ã¹ã¨ãã¦è¿ããã¨ãããã¾ãã ä¸éãµã¼ãã¼ã¯ããã®å¤ãå ã®ãªã¯ã¨ã¹ãã®åªå é ä½ã¨ä½µãã¦èæ ®ããå ´åãããã¾ãã ã¬ã¹ãã³ã¹ã«
Priorityãããã¼ãæããã¦ããªãå ´åã¯ããµã¼ãã¼ãã¯ã©ã¤ã¢ã³ãã®åªå é ä½ã夿´ããªããã¨ã鏿ãããã¨ã示ãã¦ãã¾ãã i-
ã¤ã³ã¯ãªã¡ã³ã¿ã« (
i) ãã£ã¬ã¯ãã£ããåå¨ããå ´åãHTTP ã¬ã¹ãã³ã¹ã段éçã«å¦çãããã¨ãå¯è½ã§ãããã¨ã示ãã¾ããæ®µéçã«å¦çã§ãããªã½ã¼ã¹ã¨ã¯ããªã½ã¼ã¹å ¨ä½ãå©ç¨ã§ããã®ãå¾ ã¤ã®ã§ã¯ãªãããã£ã³ã¯ãå±ã次第ãåä¿¡å´ãããã«ä½ãæçãªå¦çãè¡ãããããªãªã½ã¼ã¹ã®ãã¨ã§ãã
ãã©ã¦ã¶ã¼ã§ãã®ãã£ã¬ã¯ãã£ããè¨å®ãããå ´åããµã¼ãã¼ã¯ãåãåªå 度ãæã¤ãã¹ã¦ã®å¢åãªã¯ã¨ã¹ãã並è¡ãã¦å¦çãããã¨ã鏿ã§ãã¾ãã ããã«ãããè¤æ°ã®ãªã¯ã¨ã¹ããæ¥ç¶å¸¯åå¹ å ¨ä½ã«åæ£ãããããããã¹ã¦ã®ãªã¯ã¨ã¹ãã®å¦çéå§ã¯æ©ããªãã¾ãããå®äºã¾ã§ã®ç·æè¦æéã¯é·ããªãã¾ãã
ãã©ã¦ã¶ã¼ããã®ãã£ã¬ã¯ãã£ããè¨å®ãã¦ããªãå ´åããã®ãªã½ã¼ã¹ã段éçã«å¦çããªããã¨ã示ãã¦ãã¾ãã ãã®å ´åããµã¼ãã¼ã¯ãé¢é£ä»ãããããªã¯ã¨ã¹ããçæãããé åºã«å¾ã£ã¦ãåãç·æ¥åº¦ãæã¤ã¬ã¹ãã³ã¹ã 1 ã¤ãã¤éä¿¡ããå¿ è¦ãããã¾ãã
ã¡ã¢: ãµã¼ãã¼ã¯ããã®ãããã¼ã«å«ã¾ãããèªèº«ãçè§£ã§ããªããã£ã¬ã¯ãã£ããç¡è¦ãããã¨ãæå¾ ããã¦ãã¾ãã ä»å¾è¿½å ãããæ°ãããã£ã¬ã¯ãã£ãã¯ããããã®æ¢åã®ãã£ã¬ã¯ãã£ãã¨äºææ§ããããã¨ãæ³å®ããã¦ããããã®ãããããããå®å ¨ã«ç¡è¦ãããã¨ãå¯è½ã§ãã
ä¾
>ãªã½ã¼ã¹ã®ç·æ¥åº¦ã®è¨å®
次ã®ä¾ã¯ãHTML ãã¡ã¤ã«ã«å¯¾ãããªã¯ã¨ã¹ãã示ãã¦ãã¾ãã
ç·æ¥åº¦ã¯è¨å®ããã¦ããªããããããã©ã«ãå¤ã® 3 ã¨ãªããi 㯠false ã¨ãªãã¾ãã
ããã¯ãä»ã®ãªã½ã¼ã¹ãææããææ¸ã«å¯¾ããé常ã®è¨å®ã§ãã
:method = GET
:scheme = https
:authority = example.net
:path = /index.html
ä¸è¨ã®ãªã¯ã¨ã¹ãã¯ãHTML ã§ä½¿ç¨ããã¦ãã CSS ãã¡ã¤ã«ã«å¯¾ãããå¯è½æ§ã®ãã追跡ãªã¯ã¨ã¹ãã§ãã
ç·æ¥åº¦ã¯ 2 ã«è¨å®ããã¦ããããã©ã¦ã¶ã¼ããã®ãªã¯ã¨ã¹ããããªãé«ãåªå
度ã¨è¦ãªãã¦ãããã¨ã示ãã¦ãã¾ãããCSS ãã¡ã¤ã«ã¯å¢åå¦çãã§ããªããããi ã¯è¨å®ããã¦ãã¾ããã
:method = GET
:scheme = https
:authority = example.net
:path = /style.css
priority = u=2
ã¡ã¢: 以ä¸ã®ãªã¯ã¨ã¹ãã§ã¯ãHTTP/2 ã¾ã㯠HTTP/3 仿§ã§å®ç¾©ããã¦ããã人éãèªã¿åãå¯è½ãªæ¸å¼ã使ç¨ããã¦ãã¾ãã ãã®ããã¥ã¡ã³ãã®å¤§é¨åã§ä½¿ç¨ããã¦ãã HTTP/1.1 å½¢å¼ã¯ãåæ§ã«æ¬¡ã®ãããªãã®ã«ãªãã¾ãã
GET /style.css HTTP/1.1
Host: example.net
Priority: u=2
ã¬ã¹ãã³ã¹ã¯ãä¸è¨ã®ããã«è¡¨ç¤ºãããå ´åãããã¾ãã
ãªãããã®å ´å priority ãæå®ããã¦ãã¾ãããããã¯ããµã¼ãã¼ãä¸éãµã¼ãã¼ã®åªå
é ä½ã夿´ããå¿
è¦ã¯ãªãã¨å¤æãããã¨ã示ãã¦ãã¾ãã
:status: 200
content-type: text/css
content-length: 610
date: [current date]
ã¤ã³ã¯ãªã¡ã³ã¿ã«ãã£ã¬ã¯ãã£ãã®è¨å®
ä¸è¨ãããã¼ã¯ã段éçã«ã¬ã³ããªã³ã°å¯è½ãªç»åã«å¯¾ãããã©ã¦ã¶ã¼ã®ãªã¯ã¨ã¹ãã示ãã¦ãã¾ãã
ãã®å ´åãåªå
度㯠4ï¼ããã©ã«ãã® 3 ããä½ãå¤ï¼ã«è¨å®ããã¦ãããi ãè¨å®ããã¦ãããã¨ã§ãã¯ã©ã¤ã¢ã³ãã JPG ãã¡ã¤ã«ã段éçã«å¦çå¯è½ã§ãããã¨ã示ããã¦ãã¾ãã
:method = GET
:path = /image.jpg
:scheme = https
:authority = example.net
priority = u=4, i
ãµã¼ãã¼ããã¯ãä¸è¨ã®ãããªã¬ã¹ãã³ã¹ãè¿ããããã¨ãããã¾ãã ãã®å ´åãåªå 度㯠1 ã«è¨å®ããã¦ããããµã¼ãã¼ã¯ãã®å ·ä½çãªç»åãé«ãåªå 度ã§éä¿¡ãã¹ãã§ããã¨èªèãã¦ãããã¨ã示ãã¦ãã¾ãã
:status: 200
content-type = image/jpeg
content-length = 610
...
priority = u=1, i
仿§æ¸
| 仿§æ¸ |
|---|
| Extensible Prioritization Scheme for HTTP > # header-field > |