@@ -332,5 +332,119 @@ Services</lifelinename>
332332 </message>
333333 </messagelist>
334334 <framelist/>
335+ </sequencediagml>` ,
336+ //CDN
337+ CDN : `<?xml version="1.0" encoding="UTF-8"?>
338+ <sequencediagml>
339+ <parameters>
340+ <hspacing>300</hspacing>
341+ <vspacing>36</vspacing>
342+ <max_t>54</max_t>
343+ <fontsize>12</fontsize>
344+ <objectfill>#e1c8e1</objectfill>
345+ <activitybarfill>#c8fac8</activitybarfill>
346+ </parameters>
347+ <lifelinelist>
348+ <lifeline type="object">
349+ <lifelinename>Client</lifelinename>
350+ <activitybars>
351+ <activitybar begin_t="3" end_t="8"/>
352+ <activitybar begin_t="14" end_t="17"/>
353+ <activitybar begin_t="22" end_t="25"/>
354+ <activitybar begin_t="33" end_t="36"/>
355+ </activitybars>
356+ </lifeline>
357+ <lifeline type="object">
358+ <lifelinename>CDN</lifelinename>
359+ <activitybars>
360+ <activitybar begin_t="3" end_t="10"/>
361+ <activitybar begin_t="14" end_t="17"/>
362+ <activitybar begin_t="22" end_t="29"/>
363+ <activitybar begin_t="33" end_t="50"/>
364+ </activitybars>
365+ </lifeline>
366+ <lifeline type="object">
367+ <lifelinename>Origin</lifelinename>
368+ <activitybars>
369+ <activitybar begin_t="6" end_t="7"/>
370+ <activitybar begin_t="26" end_t="27"/>
371+ <activitybar begin_t="39" end_t="40"/>
372+ <activitybar begin_t="44" end_t="45"/>
373+ </activitybars>
374+ </lifeline>
375+ </lifelinelist>
376+ <messagelist>
377+ <message type="synchronous" from="0" to="1" t="3">
378+ <messagetext>request content</messagetext>
379+ <response t="8">200 OK + content</response>
380+ </message>
381+ <message type="reflexive" from="1" t="4">
382+ <messagetext>cache MISS</messagetext>
383+ </message>
384+ <message type="synchronous" from="1" to="2" t="6">
385+ <messagetext>request content</messagetext>
386+ <response t="7">200 OK + content</response>
387+ </message>
388+ <message type="reflexive" from="1" t="9">
389+ <messagetext>store content, set age timestamp</messagetext>
390+ </message>
391+ <message type="synchronous" from="0" to="1" t="14">
392+ <messagetext>request content</messagetext>
393+ <response t="17">200 OK + content</response>
394+ </message>
395+ <message type="reflexive" from="1" t="15">
396+ <messagetext>cache HIT</messagetext>
397+ </message>
398+ <message type="synchronous" from="0" to="1" t="22">
399+ <messagetext>request content</messagetext>
400+ <response t="25">200 OK + content</response>
401+ </message>
402+ <message type="reflexive" from="1" t="23">
403+ <messagetext>cache Stale/Expired</messagetext>
404+ </message>
405+ <message type="synchronous" from="1" to="2" t="26">
406+ <messagetext>request content</messagetext>
407+ <response t="27">200 OK + content</response>
408+ </message>
409+ <message type="reflexive" from="1" t="28">
410+ <messagetext>store content, reset age timestamp</messagetext>
411+ </message>
412+ <message type="synchronous" from="0" to="1" t="33">
413+ <messagetext>request content</messagetext>
414+ <response t="36">200 OK + content</response>
415+ </message>
416+ <message type="reflexive" from="1" t="34">
417+ <messagetext>cache Stale/Expired</messagetext>
418+ </message>
419+ <message type="synchronous" from="1" to="2" t="39">
420+ <messagetext>conditionally request content</messagetext>
421+ <response t="40">304 not modified</response>
422+ </message>
423+ <message type="synchronous" from="1" to="2" t="44">
424+ <messagetext>conditionally request content</messagetext>
425+ <response t="45">200 OK + updated content</response>
426+ </message>
427+ <message type="reflexive" from="1" t="46">
428+ <messagetext>store updated content</messagetext>
429+ </message>
430+ <message type="reflexive" from="1" t="49">
431+ <messagetext>reset age timestamp</messagetext>
432+ </message>
433+ </messagelist>
434+ <framelist>
435+ <frame type="SD" widthfactor="1">
436+ <operand t="">CDN Principles of Operation</operand>
437+ </frame>
438+ <frame type="ALT" left="0" right="2" top="1" bottom="52">
439+ <operand t="1">Cache Miss</operand>
440+ <operand t="12">Cache Hit</operand>
441+ <operand t="20">Asynchronous Content Re-validation (allow serve stale content)</operand>
442+ <operand t="31">Conditional Re-validation (e.g. using 'If-None-Match' or 'If-Modified-Since' headers)</operand>
443+ </frame>
444+ <frame type="ALT" left="1" right="2" top="37" bottom="48" narrow="true">
445+ <operand t="37">cached content matches origin version</operand>
446+ <operand t="42">updated content</operand>
447+ </frame>
448+ </framelist>
335449</sequencediagml>`
336450} ;
0 commit comments