Terfynau segur y dirprwywr yn ystod swyddi HTTP hir
Dewiswch bleidleisio neu fformat ffrydio diffiniedig pan fo gwaith hir y gweinydd yn cyrraedd terfyn segur dirprwy, yn hytrach na mewnosod beitiau mympwyol yn yr ymateb terfynol.
Os yw gwasanaeth yn aros yn dawel am funudau ac yn dirprwy yn mynd i amser allan, dewiswch beth y dylai'r cleient ei dderbyn cyn ychwanegu beitiau curiad calon. Gall ymestyn amserydd helpu un arosiad; contract yr ymateb sy'n pennu pa gynnydd sy'n ddilys.
| Dyluniad cymhwysiad | Contract cynnydd |
|---|---|
| Swydd asyncronaidd | 202 Accepted gyda chynrychiolaeth yn disgrifio monitro, ac yna ceisiadau statws meidraidd a chyflyrau cwblhau/methu penodol |
| Ffrwd Server-Sent Events | Content-Type: text/event-stream a chofnodion y mae'r cleient SSE yn eu deall |
Nid yw 202 yn addo y bydd y swydd yn llwyddo. Ar gyfer SSE, gall cofnod sylw edrych fel hyn:
: heartbeat
Mae'r colon yn ei wneud yn sylw yn hytrach na digwyddiad cymhwysiad. Mae nodiadau awduriaeth HTML yn awgrymu sylwadau cyfnodol tua phob 15 eiliad yn erbyn rhyw ymddygiad segur dirprwy hynafol; canllaw yw hynny, nid gwarant amser allan gyffredinol.
Gorffennwch y penawdau a sicrhewch fod y cymhwysiad/stac gwasanaethu yn rhyddhau cofnodion yn hytrach na'u byffro'n lleol. Ni all beitiau nad ydynt wedi'u hanfon eto gadw cyfryngwr i lawr yr afon yn weithredol.
Peidiwch â mewnosod sylwadau SSE mewn cynnwys JSON neu ddeuaidd cyffredin. Mae chunk hyd sero HTTP/1.1 yn gorffen corff chunked, felly nid yw'n guriad calon gwag y gellir ei ailadrodd.
Cadwch derfyn amser gweithredu a pholisi canslo. Nid yw gweithgaredd traffig yn unig yn dangos cynnydd swydd defnyddiol nac unrhyw ganlyniad terfynol dilys.