-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFastCGI - Wikipedia.html
549 lines (509 loc) · 146 KB
/
FastCGI - Wikipedia.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
<!DOCTYPE html>
<!-- saved from url=(0037)https://en.wikipedia.org/wiki/FastCGI -->
<html class="client-js ve-available" lang="en" dir="ltr"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FastCGI - Wikipedia</title>
<script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":!1,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"ff8fc867-1faf-4633-b0d8-f7f255676d3b","wgCSPNonce":!1,"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":!1,"wgNamespaceNumber":0,"wgPageName":"FastCGI","wgTitle":"FastCGI","wgCurRevisionId":1040339341,"wgRevisionId":1040339341,"wgArticleId":30872021,"wgIsArticle":!0,"wgIsRedirect":!1,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["CS1 maint: archived copy as title","Webarchive template wayback links","Articles lacking in-text citations from June 2010","All articles lacking in-text citations","Articles containing potentially dated statements from 2020","All articles containing potentially dated statements","Web technology",
"World Wide Web"],"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"FastCGI","wgRelevantArticleId":30872021,"wgIsProbablyEditable":!0,"wgRelevantPageIsProbablyEditable":!0,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgFlaggedRevsParams":{"tags":{"status":{"levels":-1}}},"wgMediaViewerOnClick":!0,"wgMediaViewerEnabledByDefault":!0,"wgPopupsFlags":10,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":!0,"nearby":!0,"watchlist":!0,"tagline":!1},"wgWMESchemaEditAttemptStepOversample":!1,"wgULSCurrentAutonym":"English","wgNoticeProject":"wikipedia","wgCentralAuthMobileDomain":!1,"wgEditSubmitButtonLabelPublish":!0,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":!0,"wgGENewcomerTasksGuidanceEnabled":!0,"wgGEAskQuestionEnabled":!1,"wgGELinkRecommendationsFrontendEnabled":!1,"wgWikibaseItemId":"Q1397631"};RLSTATE={
"ext.globalCssJs.user.styles":"ready","site.styles":"ready","noscript":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","skins.vector.styles.legacy":"ready","jquery.makeCollapsible.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","ext.wikimediaBadges":"ready","wikibase.client.init":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.legacy.js","ext.gadget.ReferenceTooltips","ext.gadget.charinsert","ext.gadget.extra-toolbar-buttons","ext.gadget.refToolbar","ext.gadget.switcher","ext.centralauth.centralautologin","mmv.head","mmv.bootstrap.autostart","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.cx.eventlogging.campaigns"
,"ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.growthExperiments.SuggestedEditSession"];</script>
<script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@1hzgi",function($,jQuery,require,module){/*@nomin*/mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"});
});});</script>
<link rel="stylesheet" href="./FastCGI - Wikipedia_files/load.php">
<script async="" src="./FastCGI - Wikipedia_files/load(1).php"></script>
<style>
.mw-collapsible-toggle{float:right;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.mw-collapsible-toggle-default:before{content:'['}.mw-collapsible-toggle-default:after{content:']'}.mw-customtoggle,.mw-collapsible-toggle{cursor:pointer} caption .mw-collapsible-toggle,.mw-content-ltr caption .mw-collapsible-toggle,.mw-content-rtl caption .mw-collapsible-toggle,.mw-content-rtl .mw-content-ltr caption .mw-collapsible-toggle,.mw-content-ltr .mw-content-rtl caption .mw-collapsible-toggle{float:none}
.mw-editfont-monospace{font-family:monospace,monospace}.mw-editfont-sans-serif{font-family:sans-serif}.mw-editfont-serif{font-family:serif} .mw-editfont-monospace,.mw-editfont-sans-serif,.mw-editfont-serif{ font-size:13px; -moz-tab-size:4; tab-size:4; }.mw-editfont-monospace.oo-ui-textInputWidget,.mw-editfont-sans-serif.oo-ui-textInputWidget,.mw-editfont-serif.oo-ui-textInputWidget{font-size:inherit}.mw-editfont-monospace.oo-ui-textInputWidget > .oo-ui-inputWidget-input,.mw-editfont-sans-serif.oo-ui-textInputWidget > .oo-ui-inputWidget-input,.mw-editfont-serif.oo-ui-textInputWidget > .oo-ui-inputWidget-input{ font-size:13px}.mw-editfont-monospace.oo-ui-textInputWidget > input.oo-ui-inputWidget-input,.mw-editfont-sans-serif.oo-ui-textInputWidget > input.oo-ui-inputWidget-input,.mw-editfont-serif.oo-ui-textInputWidget > input.oo-ui-inputWidget-input{min-height:32px}
.mw-ui-button{background-color:#f8f9fa;color:#202122;display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;min-height:32px;min-width:4em;max-width:28.75em;margin:0;padding:5px 12px;border:1px solid #a2a9b1;border-radius:2px;cursor:pointer;vertical-align:middle;font-family:inherit;font-size:1em;font-weight:bold;line-height:1.28571429em;text-align:center;-webkit-appearance:none}.mw-ui-button:not(:disabled){-webkit-transition:background-color 100ms,color 100ms,border-color 100ms,box-shadow 100ms;transition:background-color 100ms,color 100ms,border-color 100ms,box-shadow 100ms}.mw-ui-button:not(:disabled):visited{color:#202122}.mw-ui-button:not(:disabled):hover{background-color:#ffffff;color:#404244;border-color:#a2a9b1}.mw-ui-button:not(:disabled):focus{background-color:#ffffff;color:#202122;border-color:#3366cc;box-shadow:inset 0 0 0 1px #3366cc,inset 0 0 0 2px #ffffff;outline-width:0}.mw-ui-button:not(:disabled):focus::-moz-focus-inner{border-color:transparent;padding:0}.mw-ui-button:not(:disabled):active,.mw-ui-button:not(:disabled).is-on{background-color:#c8ccd1;color:#000000;border-color:#72777d;box-shadow:none}.mw-ui-button:disabled{background-color:#c8ccd1;color:#ffffff;border-color:#c8ccd1;cursor:default}.mw-ui-button.mw-ui-quiet,.mw-ui-button.mw-ui-quiet.mw-ui-progressive,.mw-ui-button.mw-ui-quiet.mw-ui-destructive{background-color:transparent;color:#202122;min-height:32px;border-color:transparent;font-weight:bold}.mw-ui-button.mw-ui-quiet:hover,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover{background-color:#f8f9fa;color:#404244;border-color:transparent;box-shadow:none}.mw-ui-button.mw-ui-quiet:active,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:active,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:active{background-color:#eaecf0;color:#000000;border-color:#72777d}.mw-ui-button.mw-ui-quiet:focus,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus{background-color:transparent;color:#202122;border-color:#3366cc;box-shadow:none}.mw-ui-button.mw-ui-quiet:disabled,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:disabled,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:disabled,.mw-ui-button.mw-ui-quiet:disabled:hover,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:disabled:hover,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:disabled:hover,.mw-ui-button.mw-ui-quiet:disabled:active,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:disabled:active,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:disabled:active{background-color:transparent;color:#72777d;border-color:transparent}.mw-ui-button.mw-ui-progressive:not(:disabled){background-color:#3366cc;color:#fff;border-color:#3366cc}.mw-ui-button.mw-ui-progressive:not(:disabled):hover{background-color:#447ff5;border-color:#447ff5}.mw-ui-button.mw-ui-progressive:not(:disabled):focus{box-shadow:inset 0 0 0 1px #3366cc,inset 0 0 0 2px #ffffff}.mw-ui-button.mw-ui-progressive:not(:disabled):active,.mw-ui-button.mw-ui-progressive:not(:disabled).is-on{background-color:#2a4b8d;border-color:#2a4b8d;box-shadow:none}.mw-ui-button.mw-ui-progressive:disabled{background-color:#c8ccd1;color:#fff;border-color:#c8ccd1}.mw-ui-button.mw-ui-progressive.mw-ui-quiet{color:#3366cc}.mw-ui-button.mw-ui-progressive.mw-ui-quiet:hover{background-color:transparent;color:#447ff5}.mw-ui-button.mw-ui-progressive.mw-ui-quiet:active{color:#2a4b8d}.mw-ui-button.mw-ui-progressive.mw-ui-quiet:focus{background-color:transparent;color:#3366cc}.mw-ui-button.mw-ui-destructive:not(:disabled){background-color:#dd3333;color:#fff;border-color:#dd3333}.mw-ui-button.mw-ui-destructive:not(:disabled):hover{background-color:#ff4242;border-color:#ff4242}.mw-ui-button.mw-ui-destructive:not(:disabled):focus{box-shadow:inset 0 0 0 1px #dd3333,inset 0 0 0 2px #ffffff}.mw-ui-button.mw-ui-destructive:not(:disabled):active,.mw-ui-button.mw-ui-destructive:not(:disabled).is-on{background-color:#b32424;border-color:#b32424;box-shadow:none}.mw-ui-button.mw-ui-destructive:disabled{background-color:#c8ccd1;color:#fff;border-color:#c8ccd1}.mw-ui-button.mw-ui-destructive.mw-ui-quiet{color:#dd3333}.mw-ui-button.mw-ui-destructive.mw-ui-quiet:hover{background-color:transparent;color:#ff4242}.mw-ui-button.mw-ui-destructive.mw-ui-quiet:active{color:#b32424}.mw-ui-button.mw-ui-destructive.mw-ui-quiet:focus{background-color:transparent;color:#dd3333}.mw-ui-button.mw-ui-big{font-size:1.3em}.mw-ui-button.mw-ui-block{display:block;width:100%;margin-left:auto;margin-right:auto}a.mw-ui-button{text-decoration:none}a.mw-ui-button:hover,a.mw-ui-button:focus{text-decoration:none}.mw-ui-button-group > *{min-width:48px;border-radius:0;float:left}.mw-ui-button-group > *:first-child{border-top-left-radius:2px;border-bottom-left-radius:2px}.mw-ui-button-group > *:not(:first-child){border-left:0}.mw-ui-button-group > *:last-child{border-top-right-radius:2px;border-bottom-right-radius:2px}.mw-ui-button-group .is-on .button{cursor:default}
.mw-ui-icon{font-size:initial;position:relative;display:inline-block;box-sizing:content-box !important;width:1.25em;height:1.25em;min-width:1.25em;min-height:1.25em;flex-basis:1.25em;vertical-align:middle;line-height:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-appearance:none;-webkit-appearance:none;background-color:transparent;border:0;margin:0;padding:0}.mw-ui-icon:before{content:'';display:block;width:100%;height:100%;min-width:1.25em;min-height:1.25em;background-repeat:no-repeat;background-size:1.25em 1.25em;background-position:center} .mw-ui-icon-flush-top{margin-top:-0.75em}.mw-ui-icon-flush-left{margin-left:-0.75em}.mw-ui-icon-flush-right{margin-right:-0.75em}.mw-ui-icon-element{border-radius:2px;padding:0.75em;-webkit-transition:background-color 100ms;transition:background-color 100ms;color:transparent}.mw-ui-icon-element:focus,.mw-ui-icon-element:active,.mw-ui-icon-element:visited{color:transparent}.mw-ui-icon-element:active{background-color:rgba(0,0,0,0.03)}@media (hover:hover){.mw-ui-icon-element:not(.disabled):hover{background-color:rgba(0,0,0,0.03)}}.mw-ui-icon-small{width:1em;height:1em;min-width:1em;min-height:1em;flex-basis:1em;line-height:1em}.mw-ui-icon-small:before{content:'';display:block;width:100%;height:100%;min-width:1em;min-height:1em;background-repeat:no-repeat;background-size:1em 1em;background-position:center}.mw-ui-icon-small.mw-ui-icon-element{padding:0.5625em}.mw-ui-icon-small.mw-ui-icon-flush-left{margin-left:-0.5625em}.mw-ui-icon-small.mw-ui-icon-flush-right{margin-right:-0.5625em}.mw-ui-icon-small.mw-ui-icon-before:before{min-width:1em;min-height:1em;margin-right:0.5625em}.mw-ui-icon-before{width:auto;max-width:100%}.mw-ui-icon-before:before{display:inline-block;font-size:initial;width:auto;min-width:1.25em;min-height:1.25em;margin-right:8px;vertical-align:middle}.mw-ui-icon-before span{vertical-align:middle}@media all and (min-width:1000px){.mw-ui-icon-with-label-desktop{color:#54595d;width:auto;line-height:inherit;flex-basis:auto}.mw-ui-icon-with-label-desktop:hover,.mw-ui-icon-with-label-desktop:focus,.mw-ui-icon-with-label-desktop:active,.mw-ui-icon-with-label-desktop:visited{color:#54595d;text-decoration:none}.mw-ui-icon-with-label-desktop:before{width:auto;display:inline-block;margin-right:8px;vertical-align:text-bottom}}
.cite-accessibility-label{ top:-99999px;clip:rect(1px,1px,1px,1px); position:absolute !important;padding:0 !important;border:0 !important;height:1px !important;width:1px !important; overflow:hidden}:target .mw-cite-targeted-backlink{font-weight:bold}.mw-cite-up-arrow-backlink{display:none}:target .mw-cite-up-arrow-backlink{display:inline}:target .mw-cite-up-arrow{display:none}
.ve-init-mw-progressBarWidget{height:1em;overflow:hidden;margin:0 25%}.ve-init-mw-progressBarWidget-bar{height:1em;width:0} .ve-init-mw-progressBarWidget{background-color:#fff;box-sizing:border-box;height:0.875em;border:1px solid #36c;border-radius:0.875em;box-shadow:0 1px 1px rgba(0,0,0,0.15)}.ve-init-mw-progressBarWidget-bar{background-color:#36c;height:0.875em}
.rt-tooltip{position:absolute;z-index:100;max-width:350px;background:#fff;color:#222;font-size:13px;line-height:1.5em;border:1px solid #c8ccd1;border-radius:3px;box-shadow:0 15px 45px -10px rgba(0,0,0,0.3);overflow-wrap:break-word}.rt-tooltip.rt-tooltip-insideWindow{z-index:110}.rt-tooltipContent{padding:8px 11px}.rt-tooltip-above .rt-tooltipContent{margin-bottom:-8px;padding-bottom:16px}.rt-tooltip-below .rt-tooltipContent{margin-top:-10px;padding-top:18px}.rt-tooltipTail,.rt-tooltipTail:after{position:absolute;width:12px;height:12px}.rt-tooltipTail{background:#c8ccd1;background:-webkit-linear-gradient(bottom left,#c8ccd1 50%,rgba(0,0,0,0) 50%);background:linear-gradient(to top right,#c8ccd1 50%,rgba(0,0,0,0) 50%)}.rt-tooltipTail:after{content:"";background:#fff;bottom:1px;left:1px}.rt-tooltip-above .rt-tooltipTail{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%;bottom:0;left:15px}.rt-tooltip-below .rt-tooltipTail{-webkit-transform:rotate(135deg);transform:rotate(135deg);-webkit-transform-origin:0 0;transform-origin:0 0;top:0;left:27px}.rt-settingsLink{background-image:linear-gradient(transparent,transparent),url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%0D%0A%20%20%20%20%3Cpath%20fill%3D%22%23555%22%20d%3D%22M20%2014.5v-2.9l-1.8-.3c-.1-.4-.3-.8-.6-1.4l1.1-1.5-2.1-2.1-1.5%201.1c-.5-.3-1-.5-1.4-.6L13.5%205h-2.9l-.3%201.8c-.5.1-.9.3-1.4.6L7.4%206.3%205.3%208.4l1%201.5c-.3.5-.4.9-.6%201.4l-1.7.2v2.9l1.8.3c.1.5.3.9.6%201.4l-1%201.5%202.1%202.1%201.5-1c.4.2.9.4%201.4.6l.3%201.8h3l.3-1.8c.5-.1.9-.3%201.4-.6l1.5%201.1%202.1-2.1-1.1-1.5c.3-.5.5-1%20.6-1.4l1.5-.3zM12%2016c-1.7%200-3-1.3-3-3s1.3-3%203-3%203%201.3%203%203-1.3%203-3%203z%22%2F%3E%0D%0A%3C%2Fsvg%3E);float:right;cursor:pointer;margin:-4px -4px 0 8px;height:24px;width:24px;border-radius:2px;background-position:center center;background-repeat:no-repeat;background-size:24px 24px}.rt-settingsLink:hover{background-color:#eee}.rt-target{background-color:#def}.rt-enableSelect{font-weight:bold}.rt-settingsFormSeparator{margin:0.85714286em 0}.rt-numberInput.rt-numberInput{width:150px}.rt-tooltipsForCommentsField.rt-tooltipsForCommentsField.rt-tooltipsForCommentsField{margin-top:1.64285714em}.rt-disabledHelp{border-collapse:collapse}.rt-disabledHelp td{padding:0}.rt-disabledNote.rt-disabledNote{vertical-align:bottom;padding-left:0.36em;font-weight:bold}@-webkit-keyframes rt-fade-in-up{0%{opacity:0;-webkit-transform:translate(0,20px);-moz-transform:translate(0,20px);transform:translate(0,20px) }100%{opacity:1;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0) }}@-moz-keyframes rt-fade-in-up{0%{opacity:0;-webkit-transform:translate(0,20px);-moz-transform:translate(0,20px);transform:translate(0,20px) }100%{opacity:1;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0) }}@keyframes rt-fade-in-up{0%{opacity:0;-webkit-transform:translate(0,20px);-moz-transform:translate(0,20px);transform:translate(0,20px) }100%{opacity:1;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0) }}@-webkit-keyframes rt-fade-in-down{0%{opacity:0;-webkit-transform:translate(0,-20px);-moz-transform:translate(0,-20px);transform:translate(0,-20px) }100%{opacity:1;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0) }}@-moz-keyframes rt-fade-in-down{0%{opacity:0;-webkit-transform:translate(0,-20px);-moz-transform:translate(0,-20px);transform:translate(0,-20px) }100%{opacity:1;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0) }}@keyframes rt-fade-in-down{0%{opacity:0;-webkit-transform:translate(0,-20px);-moz-transform:translate(0,-20px);transform:translate(0,-20px) }100%{opacity:1;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0) }}@-webkit-keyframes rt-fade-out-down{0%{opacity:1;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0) }100%{opacity:0;-webkit-transform:translate(0,20px);-moz-transform:translate(0,20px);transform:translate(0,20px) }}@-moz-keyframes rt-fade-out-down{0%{opacity:1;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0) }100%{opacity:0;-webkit-transform:translate(0,20px);-moz-transform:translate(0,20px);transform:translate(0,20px) }}@keyframes rt-fade-out-down{0%{opacity:1;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0) }100%{opacity:0;-webkit-transform:translate(0,20px);-moz-transform:translate(0,20px);transform:translate(0,20px) }}@-webkit-keyframes rt-fade-out-up{0%{opacity:1;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0) }100%{opacity:0;-webkit-transform:translate(0,-20px);-moz-transform:translate(0,-20px);transform:translate(0,-20px) }}@-moz-keyframes rt-fade-out-up{0%{opacity:1;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0) }100%{opacity:0;-webkit-transform:translate(0,-20px);-moz-transform:translate(0,-20px);transform:translate(0,-20px) }}@keyframes rt-fade-out-up{0%{opacity:1;-webkit-transform:translate(0,0);-moz-transform:translate(0,0);transform:translate(0,0) }100%{opacity:0;-webkit-transform:translate(0,-20px);-moz-transform:translate(0,-20px);transform:translate(0,-20px) }}.rt-fade-in-up{-webkit-animation:rt-fade-in-up 0.2s ease forwards;-moz-animation:rt-fade-in-up 0.2s ease forwards;animation:rt-fade-in-up 0.2s ease forwards }.rt-fade-in-down{-webkit-animation:rt-fade-in-down 0.2s ease forwards;-moz-animation:rt-fade-in-down 0.2s ease forwards;animation:rt-fade-in-down 0.2s ease forwards }.rt-fade-out-down{-webkit-animation:rt-fade-out-down 0.2s ease forwards;-moz-animation:rt-fade-out-down 0.2s ease forwards;animation:rt-fade-out-down 0.2s ease forwards }.rt-fade-out-up{-webkit-animation:rt-fade-out-up 0.2s ease forwards;-moz-animation:rt-fade-out-up 0.2s ease forwards;animation:rt-fade-out-up 0.2s ease forwards }
@media screen {
.toctoggle{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;font-size:94%}}
@-webkit-keyframes centralAuthPPersonalAnimation{0%{opacity:0;-webkit-transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes centralAuthPPersonalAnimation{0%{opacity:0;-moz-transform:translateY(-20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes centralAuthPPersonalAnimation{0%{opacity:0;-o-transform:translateY(-20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes centralAuthPPersonalAnimation{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}.centralAuthPPersonalAnimation{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:centralAuthPPersonalAnimation;-moz-animation-name:centralAuthPPersonalAnimation;-o-animation-name:centralAuthPPersonalAnimation;animation-name:centralAuthPPersonalAnimation}
.uls-menu{border-radius:2px; font-size:medium}.uls-search,.uls-language-settings-close-block{border-top-right-radius:2px;border-top-left-radius:2px}.uls-language-list{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.uls-menu.callout:before,.uls-menu.callout:after{border-top:10px solid transparent;border-bottom:10px solid transparent;display:inline-block; top:17px;position:absolute;content:''}.uls-menu.callout.selector-right:before{ border-left:10px solid #c8ccd1; right:-11px}.uls-menu.callout.selector-right:after{ border-left:10px solid #fff; right:-10px}.uls-menu.callout.selector-left:before{ border-right:10px solid #c8ccd1; left:-11px}.uls-menu.callout.selector-left:after{ border-right:10px solid #fff; left:-10px}.uls-ui-languages button{margin:5px 15px 5px 0;white-space:nowrap;overflow:hidden}.uls-search-wrapper-wrapper{position:relative;padding-left:40px;margin-top:5px;margin-bottom:5px}.uls-icon-back{background:transparent url(/w/extensions/UniversalLanguageSelector/resources/images/back-grey-ltr.svg?01868) no-repeat scroll center center;background-size:28px;height:32px;width:40px;display:block;position:absolute;left:0;border-right:1px solid #c8ccd1;opacity:0.8}.uls-icon-back:hover{opacity:1;cursor:pointer}.uls-menu .uls-no-results-view .uls-no-found-more{background-color:#fff}.uls-menu .uls-no-results-view h3{padding:0 28px;margin:0;color:#54595d;font-size:1em;font-weight:normal} .skin-vector .uls-menu{border-color:#c8ccd1;box-shadow:0 2px 2px 0 rgba(0,0,0,0.25);font-size:0.875em}.skin-vector .uls-search{border-bottom-color:#c8ccd1}.skin-vector .uls-search-label{opacity:0.51;-webkit-transition:opacity 250ms;transition:opacity 250ms}.skin-vector .uls-search-wrapper:hover .uls-search-label{opacity:0.87}.skin-vector .uls-filtersuggestion{color:#72777d}.skin-vector .uls-lcd-region-title{color:#54595d}
@media print{#centralNotice{display:none}}.cn-closeButton{display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUBAMAAAB/pwA+AAAAElBMVEUAAAAQEBDPz88AAABAQEDv7+9oe1vvAAAABnRSTlMA3rLe3rJS22KzAAAARElEQVQI12PAAUIUQCSTK5BwFgIxFU1AhKECUFAYKAAioXwwBeZChMGCEGGQIFQYJohgIhQgtCEMQ7ECYTHCOciOxA4AADgJTXIb9s8AAAAASUVORK5CYII=) no-repeat;width:20px;height:20px;text-indent:20px;white-space:nowrap;overflow:hidden}
#uls-settings-block{background-color:#f8f9fa;border-top:1px solid #c8ccd1;padding-left:10px;line-height:1.2em;border-radius:0 0 2px 2px}#uls-settings-block > button{background:left top transparent no-repeat;background-size:20px auto;color:#54595d;display:inline-block;margin:8px 15px;border:0;padding:0 0 0 26px;font-size:medium;cursor:pointer}#uls-settings-block > button:hover{color:#202122}#uls-settings-block > button.display-settings-block{background-image:url(/w/extensions/UniversalLanguageSelector/resources/images/display.svg?b78f7)}#uls-settings-block > button.input-settings-block{background-image:url(/w/extensions/UniversalLanguageSelector/resources/images/input.svg?e7c85)}.uls-tipsy.uls-tipsy{z-index:1000}
.mw-ui-checkbox{display:table;position:relative;line-height:1.5625em;vertical-align:middle}.mw-ui-checkbox *{font-size:inherit;vertical-align:middle}.mw-ui-checkbox [type='checkbox']{display:table-cell;position:relative;width:1.5625em;height:1.5625em;max-width:none;opacity:0;z-index:1}.mw-ui-checkbox [type='checkbox'] + label{display:table-cell;padding-left:0.4em}.mw-ui-checkbox [type='checkbox'] + label:before{content:'';background-color:#fff;background-origin:border-box;background-position:center center;background-repeat:no-repeat;background-size:0 0;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;top:50%;left:0;width:1.5625em;height:1.5625em;margin-top:-0.78125em;border:1px solid #72777d;border-radius:2px}.mw-ui-checkbox [type='checkbox']:checked + label:before{background-image:url(/w/resources/src/mediawiki.ui/components/images/checkbox-checked.svg?8153e);background-size:90% 90%}.mw-ui-checkbox [type='checkbox']:enabled{cursor:pointer}.mw-ui-checkbox [type='checkbox']:enabled + label{cursor:pointer}.mw-ui-checkbox [type='checkbox']:enabled + label:before{cursor:pointer;-webkit-transition:background-color 100ms,color 100ms,border-color 100ms,box-shadow 100ms;transition:background-color 100ms,color 100ms,border-color 100ms,box-shadow 100ms}.mw-ui-checkbox [type='checkbox']:enabled:focus + label:before{border-color:#3366cc;box-shadow:inset 0 0 0 1px #3366cc}.mw-ui-checkbox [type='checkbox']:enabled:hover + label:before{border-color:#447ff5}.mw-ui-checkbox [type='checkbox']:enabled:active + label:before{background-color:#2a4b8d;border-color:#2a4b8d;box-shadow:inset 0 0 0 1px #2a4b8d}.mw-ui-checkbox [type='checkbox']:enabled:checked + label:before{background-color:#3366cc;border-color:#3366cc}.mw-ui-checkbox [type='checkbox']:enabled:checked:focus + label:before{background-color:#3366cc;border-color:#3366cc;box-shadow:inset 0 0 0 1px #3366cc,inset 0 0 0 2px #ffffff}.mw-ui-checkbox [type='checkbox']:enabled:checked:hover + label:before{background-color:#447ff5;border-color:#447ff5}.mw-ui-checkbox [type='checkbox']:enabled:checked:active + label:before{background-color:#2a4b8d;border-color:#2a4b8d}.mw-ui-checkbox [type='checkbox']:disabled + label:before{background-color:#c8ccd1;border-color:#c8ccd1}
.oo-ui-icon-infoFilled,.mw-ui-icon-infoFilled:before{background-image:url(/w/load.php?modules=ext.popups.icons&image=infoFilled&format=rasterized&lang=en&skin=vector&version=1fbdm);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Einfo%3C/title%3E%3Cpath d=%22M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z%22/%3E%3C/svg%3E")}.oo-ui-image-invert.oo-ui-icon-infoFilled,.mw-ui-icon-infoFilled-invert:before{background-image:url(/w/load.php?modules=ext.popups.icons&image=infoFilled&variant=invert&format=rasterized&lang=en&skin=vector&version=1fbdm);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Einfo%3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cpath d=%22M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-progressive.oo-ui-icon-infoFilled,.mw-ui-icon-infoFilled-progressive:before{background-image:url(/w/load.php?modules=ext.popups.icons&image=infoFilled&variant=progressive&format=rasterized&lang=en&skin=vector&version=1fbdm);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Einfo%3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cpath d=%22M10 0C4.477 0 0 4.477 0 10s4.477 10 10 10 10-4.477 10-10S15.523 0 10 0zM9 5h2v2H9zm0 4h2v6H9z%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-icon-settings,.mw-ui-icon-settings:before{background-image:url(/w/load.php?modules=ext.popups.icons&image=settings&format=rasterized&skin=vector&version=1fbdm);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 xmlns:xlink=%22http://www.w3.org/1999/xlink%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Esettings%3C/title%3E%3Cg transform=%22translate%2810 10%29%22%3E%3Cpath id=%22a%22 d=%22M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3%22/%3E%3Cuse transform=%22rotate%2845%29%22 xlink:href=%22%23a%22/%3E%3Cuse transform=%22rotate%2890%29%22 xlink:href=%22%23a%22/%3E%3Cuse transform=%22rotate%28135%29%22 xlink:href=%22%23a%22/%3E%3C/g%3E%3Cpath d=%22M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0 010 7 3.5 3.5 0 010-7%22/%3E%3C/svg%3E")}.oo-ui-image-invert.oo-ui-icon-settings,.mw-ui-icon-settings-invert:before{background-image:url(/w/load.php?modules=ext.popups.icons&image=settings&variant=invert&format=rasterized&skin=vector&version=1fbdm);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 xmlns:xlink=%22http://www.w3.org/1999/xlink%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Esettings%3C/title%3E%3Cg fill=%22%23fff%22%3E%3Cg xmlns:xlink=%22http://www.w3.org/1999/xlink%22 transform=%22translate%2810 10%29%22%3E%3Cpath id=%22a%22 d=%22M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3%22/%3E%3Cuse transform=%22rotate%2845%29%22 xlink:href=%22%23a%22/%3E%3Cuse transform=%22rotate%2890%29%22 xlink:href=%22%23a%22/%3E%3Cuse transform=%22rotate%28135%29%22 xlink:href=%22%23a%22/%3E%3C/g%3E%3Cpath d=%22M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0 010 7 3.5 3.5 0 010-7%22/%3E%3C/g%3E%3C/svg%3E")}.oo-ui-image-progressive.oo-ui-icon-settings,.mw-ui-icon-settings-progressive:before{background-image:url(/w/load.php?modules=ext.popups.icons&image=settings&variant=progressive&format=rasterized&skin=vector&version=1fbdm);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 xmlns:xlink=%22http://www.w3.org/1999/xlink%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E%3Ctitle%3Esettings%3C/title%3E%3Cg fill=%22%2336c%22%3E%3Cg xmlns:xlink=%22http://www.w3.org/1999/xlink%22 transform=%22translate%2810 10%29%22%3E%3Cpath id=%22a%22 d=%22M1.5-10h-3l-1 6.5h5m0 7h-5l1 6.5h3%22/%3E%3Cuse transform=%22rotate%2845%29%22 xlink:href=%22%23a%22/%3E%3Cuse transform=%22rotate%2890%29%22 xlink:href=%22%23a%22/%3E%3Cuse transform=%22rotate%28135%29%22 xlink:href=%22%23a%22/%3E%3C/g%3E%3Cpath d=%22M10 2.5a7.5 7.5 0 000 15 7.5 7.5 0 000-15v4a3.5 3.5 0 010 7 3.5 3.5 0 010-7%22/%3E%3C/g%3E%3C/svg%3E")}
.mw-ui-icon-popups-close:before{background-image:url(/w/load.php?modules=ext.popups.images&image=popups-close&format=rasterized&skin=vector&version=jfnhr);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E %3Ctitle%3E close %3C/title%3E %3Cpath d=%22m4.34 2.93 12.73 12.73-1.41 1.41L2.93 4.35z%22/%3E %3Cpath d=%22M17.07 4.34 4.34 17.07l-1.41-1.41L15.66 2.93z%22/%3E %3C/svg%3E")}.mw-ui-icon-preview-generic:before{background-image:url(/w/load.php?modules=ext.popups.images&image=preview-generic&format=rasterized&lang=en&skin=vector&version=jfnhr);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E %3Ctitle%3E sad face %3C/title%3E %3Cpath d=%22M2 0a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm4 4c1.336 0 2.007 1.617 1.06 2.56-.943.947-2.56.276-2.56-1.06A1.5 1.5 0 0 1 6 4zm8 0c1.336 0 2.007 1.617 1.06 2.56-.943.947-2.56.276-2.56-1.06A1.5 1.5 0 0 1 14 4zm-4 5c2.61 0 4.83.67 5.65 3H4.35C5.17 9.67 7.39 9 10 9z%22/%3E %3C/svg%3E")}.mw-ui-icon-footer:before{background-image:url(/w/load.php?modules=ext.popups.images&image=footer&format=rasterized&lang=en&skin=vector&version=jfnhr);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 xmlns:xlink=%22http://www.w3.org/1999/xlink%22 width=%22230%22 height=%22179%22 viewBox=%220 0 230 179%22%3E %3Cdefs%3E %3Crect id=%22a%22 width=%22201%22 height=%2213%22 rx=%222%22/%3E %3Crect id=%22b%22 width=%22201%22 height=%22169%22 y=%2210%22 rx=%222%22/%3E %3Crect id=%22c%22 width=%2230%22 height=%222%22 x=%22135%22 y=%22158%22 rx=%221%22/%3E %3C/defs%3E %3Cg fill=%22none%22 fill-rule=%22evenodd%22%3E %3Cg transform=%22matrix%281 0 0 -1 0 13%29%22%3E %3Cuse fill=%22%23f8f9fa%22 xlink:href=%22%23a%22/%3E %3Crect width=%22199%22 height=%2211%22 x=%221%22 y=%221%22 stroke=%22%23a2a9b1%22 stroke-width=%222%22 rx=%222%22/%3E %3C/g%3E %3Cuse fill=%22%23fff%22 xlink:href=%22%23b%22/%3E %3Crect width=%22199%22 height=%22167%22 x=%221%22 y=%2211%22 stroke=%22%23a2a9b1%22 stroke-width=%222%22 rx=%222%22/%3E %3Cg fill=%22%2372777d%22 opacity=%22.4%22 transform=%22translate%2867 35%29%22%3E %3Crect width=%2273%22 height=%222%22 y=%227%22 fill=%22%23c8ccd1%22 rx=%221%22/%3E %3Crect width=%2281%22 height=%222%22 y=%2231%22 rx=%221%22/%3E %3Crect width=%2232%22 height=%222%22 y=%2285%22 rx=%221%22/%3E %3Crect width=%2273%22 height=%222%22 x=%2235%22 y=%2285%22 rx=%221%22/%3E %3Crect width=%2217%22 height=%222%22 y=%2245%22 rx=%221%22/%3E %3Crect width=%2217%22 height=%222%22 x=%2291%22 y=%2245%22 rx=%221%22/%3E %3Crect width=%2268%22 height=%222%22 x=%2220%22 y=%2245%22 rx=%221%22/%3E %3Crect width=%2217%22 height=%222%22 y=%2278%22 rx=%221%22/%3E %3Crect width=%2237%22 height=%222%22 x=%2272%22 y=%2278%22 rx=%221%22/%3E %3Crect width=%2249%22 height=%222%22 x=%2220%22 y=%2278%22 rx=%221%22/%3E %3Crect width=%2224%22 height=%222%22 x=%2284%22 y=%2231%22 rx=%221%22 transform=%22matrix%28-1 0 0 1 192 0%29%22/%3E %3Crect width=%2281%22 height=%222%22 y=%2266%22 rx=%221%22/%3E %3Crect width=%2214%22 height=%222%22 x=%2254%22 y=%2224%22 rx=%221%22/%3E %3Crect width=%2237%22 height=%222%22 x=%2271%22 y=%2224%22 rx=%221%22/%3E %3Crect width=%2251%22 height=%222%22 y=%2224%22 rx=%221%22/%3E %3Crect width=%22108%22 height=%222%22 y=%2259%22 rx=%221%22/%3E %3Crect width=%22108%22 height=%222%22 y=%2252%22 rx=%221%22/%3E %3Crect width=%22108%22 height=%222%22 y=%2292%22 rx=%221%22/%3E %3Crect width=%22108%22 height=%222%22 y=%2238%22 rx=%221%22/%3E %3Crect width=%2251%22 height=%222%22 rx=%221%22/%3E %3C/g%3E %3Crect width=%2230%22 height=%222%22 x=%2267%22 y=%22158%22 fill=%22%2372777d%22 opacity=%22.4%22 rx=%221%22/%3E %3Crect width=%2230%22 height=%222%22 x=%2299%22 y=%22158%22 fill=%22%2372777d%22 opacity=%22.4%22 rx=%221%22/%3E %3Cuse fill=%22%2336c%22 xlink:href=%22%23c%22/%3E %3Crect width=%2233%22 height=%225%22 x=%22133.5%22 y=%22156.5%22 stroke=%22%23ffc057%22 stroke-opacity=%22.447%22 stroke-width=%223%22 rx=%222.5%22/%3E %3Ccircle cx=%2234%22 cy=%2249%22 r=%2219%22 fill=%22%23eaecf0%22/%3E %3Cg fill=%22%23a2a9b1%22 transform=%22translate%285 5%29%22%3E %3Ccircle cx=%221.5%22 cy=%221.5%22 r=%221.5%22/%3E %3Ccircle cx=%226%22 cy=%221.5%22 r=%221.5%22/%3E %3Ccircle cx=%2210.5%22 cy=%221.5%22 r=%221.5%22/%3E %3C/g%3E %3Cpath stroke=%22%23ff00af%22 stroke-linecap=%22square%22 d=%22M174.5 159.5h54.01%22/%3E %3C/g%3E %3C/svg%3E")}.mw-ui-icon-preview-disambiguation:before{background-image:url(/w/load.php?modules=ext.popups.images&image=preview-disambiguation&format=rasterized&lang=en&skin=vector&version=jfnhr);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E %3Ctitle%3E articles %3C/title%3E %3Cpath d=%22M5 0v2h11v14h2V2a2 2 0 0 0-2-2z%22/%3E %3Cpath d=%22M13 20a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2zM9 5h4v5H9zM4 5h4v1H4zm0 2h4v1H4zm0 2h4v1H4zm0 2h9v1H4zm0 2h9v1H4zm0 2h9v1H4z%22/%3E %3C/svg%3E")}.mw-ui-icon-reference-generic:before{background-image:url(/w/load.php?modules=ext.popups.images&image=reference-generic&format=rasterized&skin=vector&version=jfnhr);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E %3Ctitle%3E reference %3C/title%3E %3Cpath d=%22m15 10-2.78-2.78L9.44 10V1H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2z%22/%3E %3C/svg%3E")}.mw-ui-icon-reference-book:before{background-image:url(/w/load.php?modules=ext.popups.images&image=reference-book&format=rasterized&lang=en&skin=vector&version=jfnhr);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E %3Ctitle%3E book %3C/title%3E %3Cpath d=%22M15 2a7.65 7.65 0 0 0-5 2 7.65 7.65 0 0 0-5-2H1v15h4a7.65 7.65 0 0 1 5 2 7.65 7.65 0 0 1 5-2h4V2zm2.5 13.5H14a4.38 4.38 0 0 0-3 1V5s1-1.5 4-1.5h2.5z%22/%3E %3Cpath d=%22M9 3.5h2v1H9z%22/%3E %3C/svg%3E")}.mw-ui-icon-reference-journal:before{background-image:url(/w/load.php?modules=ext.popups.images&image=reference-journal&format=rasterized&lang=en&skin=vector&version=jfnhr);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E %3Ctitle%3E journal %3C/title%3E %3Cpath d=%22M2 18.5A1.5 1.5 0 0 0 3.5 20H5V0H3.5A1.5 1.5 0 0 0 2 1.5zM6 0v20h10a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm7 8H8V7h5zm3-2H8V5h8z%22/%3E %3C/svg%3E")}.mw-ui-icon-reference-news:before{background-image:url(/w/load.php?modules=ext.popups.images&image=reference-news&format=rasterized&lang=en&skin=vector&version=jfnhr);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E %3Ctitle%3E newspaper %3C/title%3E %3Cpath d=%22M5 2a2 2 0 0 0-2 2v12a1 1 0 0 1-1-1V5h-.5A1.5 1.5 0 0 0 0 6.5v10A1.5 1.5 0 0 0 1.5 18H18a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm1 2h11v4H6zm0 6h6v1H6zm0 2h6v1H6zm0 2h6v1H6zm7-4h4v5h-4z%22/%3E %3C/svg%3E")}.mw-ui-icon-reference-web:before{background-image:url(/w/load.php?modules=ext.popups.images&image=reference-web&format=rasterized&lang=en&skin=vector&version=jfnhr);background-image:linear-gradient(transparent,transparent),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E %3Ctitle%3E browser %3C/title%3E %3Cpath d=%22M2 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm2 1.5A1.5 1.5 0 1 1 2.5 5 1.5 1.5 0 0 1 4 3.5zM18 16H2V8h16z%22/%3E %3C/svg%3E")}</style><style>
.mw-mmv-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background-color:#000}body.mw-mmv-lightbox-open{overflow-y:auto; }body.mw-mmv-lightbox-open #mw-page-base,body.mw-mmv-lightbox-open #mw-head-base,body.mw-mmv-lightbox-open #mw-navigation,body.mw-mmv-lightbox-open #content,body.mw-mmv-lightbox-open #footer,body.mw-mmv-lightbox-open #globalWrapper{ display:none}body.mw-mmv-lightbox-open > *{ display:none}body.mw-mmv-lightbox-open > .mw-mmv-overlay,body.mw-mmv-lightbox-open > .mw-mmv-wrapper{display:block}.mw-mmv-filepage-buttons{margin-top:5px}.mw-mmv-filepage-buttons .mw-mmv-view-expanded,.mw-mmv-filepage-buttons .mw-mmv-view-config{display:block;line-height:inherit}.mw-mmv-filepage-buttons .mw-mmv-view-expanded .mw-ui-icon:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1024 768%22%3E %3Cpath d=%22M851.2 71.6 690.7 232.1l-40.1-40.3-9.6 164.8 164.8-9.3-40.3-40.4L926 146.4l58.5 58.5L997.6 0 792.7 13.1%22/%3E %3Cpath d=%22M769.6 89.3H611.9l70.9 70.8 7.9 7.5m-47.1 234.6-51.2 3 3-51.2 9.4-164.4 5.8-100.3H26.4V768h883.1V387l-100.9 5.8-165 9.4zM813.9 678H113.6l207.2-270.2 31.5-12.9L548 599.8l105.9-63.2 159.8 140.8.2.6zm95.6-291.9V228l-79.1 78.9 7.8 7.9%22/%3E %3C/svg%3E")}.mw-mmv-filepage-buttons .mw-mmv-view-config .mw-ui-icon:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 1024 768%22%3E %3Cpath d=%22M897 454.6V313.4L810.4 299c-6.4-23.3-16-45.7-27.3-65.8l50.5-71.4-99.4-100.2-71.4 50.5c-20.9-11.2-42.5-20.9-65.8-27.3L582.6-1H441.4L427 85.6c-23.3 6.4-45.7 16-65.8 27.3l-71.4-50.5-100.3 99.5 50.5 71.4c-11.2 20.9-20.9 42.5-27.3 66.6L127 313.4v141.2l85.8 14.4c6.4 23.3 16 45.7 27.3 66.6L189.6 607l99.5 99.5 71.4-50.5c20.9 11.2 42.5 20.9 66.6 27.3l14.4 85.8h141.2l14.4-86.6c23.3-6.4 45.7-16 65.8-27.3l71.4 50.5 99.5-99.5-50.5-71.4c11.2-20.9 20.9-42.5 27.3-66.6l86.4-13.6zm-385 77c-81.8 0-147.6-66.6-147.6-147.6 0-81.8 66.6-147.6 147.6-147.6S659.6 302.2 659.6 384 593.8 531.6 512 531.6z%22/%3E %3C/svg%3E");margin-right:0;opacity:0.75}.mw-mmv-filepage-buttons .mw-mmv-view-config .mw-ui-icon:before:hover{opacity:1}.mw-mmv-filepage-buttons .mw-mmv-view-config .mw-ui-icon span{display:none}.mw-mmv-button{background-color:transparent;min-width:0;border:0;padding:0;overflow-x:hidden;text-indent:-9999em}
@-webkit-keyframes mwe-popups-fade-in-up{0%{opacity:0;-webkit-transform:translate(0,20px);-ms-transform:translate(0,20px);transform:translate(0,20px)}100%{opacity:1;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}}@keyframes mwe-popups-fade-in-up{0%{opacity:0;-webkit-transform:translate(0,20px);-ms-transform:translate(0,20px);transform:translate(0,20px)}100%{opacity:1;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes mwe-popups-fade-in-down{0%{opacity:0;-webkit-transform:translate(0,-20px);-ms-transform:translate(0,-20px);transform:translate(0,-20px)}100%{opacity:1;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}}@keyframes mwe-popups-fade-in-down{0%{opacity:0;-webkit-transform:translate(0,-20px);-ms-transform:translate(0,-20px);transform:translate(0,-20px)}100%{opacity:1;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes mwe-popups-fade-out-down{0%{opacity:1;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}100%{opacity:0;-webkit-transform:translate(0,20px);-ms-transform:translate(0,20px);transform:translate(0,20px)}}@keyframes mwe-popups-fade-out-down{0%{opacity:1;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}100%{opacity:0;-webkit-transform:translate(0,20px);-ms-transform:translate(0,20px);transform:translate(0,20px)}}@-webkit-keyframes mwe-popups-fade-out-up{0%{opacity:1;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}100%{opacity:0;-webkit-transform:translate(0,-20px);-ms-transform:translate(0,-20px);transform:translate(0,-20px)}}@keyframes mwe-popups-fade-out-up{0%{opacity:1;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}100%{opacity:0;-webkit-transform:translate(0,-20px);-ms-transform:translate(0,-20px);transform:translate(0,-20px)}}.mwe-popups-fade-in-up{-webkit-animation:mwe-popups-fade-in-up 0.2s ease forwards;animation:mwe-popups-fade-in-up 0.2s ease forwards}.mwe-popups-fade-in-down{-webkit-animation:mwe-popups-fade-in-down 0.2s ease forwards;animation:mwe-popups-fade-in-down 0.2s ease forwards}.mwe-popups-fade-out-down{-webkit-animation:mwe-popups-fade-out-down 0.2s ease forwards;animation:mwe-popups-fade-out-down 0.2s ease forwards}.mwe-popups-fade-out-up{-webkit-animation:mwe-popups-fade-out-up 0.2s ease forwards;animation:mwe-popups-fade-out-up 0.2s ease forwards} #mwe-popups-settings{z-index:1000;background:#fff;width:420px;border:1px solid #a2a9b1;box-shadow:0 2px 2px 0 rgba(0,0,0,0.25);border-radius:2px;font-size:14px}#mwe-popups-settings header{-moz-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #c8ccd1;position:relative;display:table;width:100%;padding:5px 7px 5px 0}#mwe-popups-settings header > div{display:table-cell;width:3.5em;vertical-align:middle;cursor:pointer}#mwe-popups-settings header h1{margin-bottom:0.6em;padding-top:0.5em;border:0;width:100%;font-family:sans-serif;font-size:18px;font-weight:bold;text-align:center}#mwe-popups-settings .mwe-ui-icon-popups-close{opacity:0.87;-webkit-transition:opacity 100ms;transition:opacity 100ms}#mwe-popups-settings .mwe-ui-icon-popups-close:hover{opacity:0.73}#mwe-popups-settings .mwe-ui-icon-popups-close:active{opacity:1}#mwe-popups-settings main#mwe-popups-settings-form{display:block;width:350px;padding:32px 0 24px;margin:0 auto}#mwe-popups-settings main#mwe-popups-settings-form p{color:#54595d;font-size:14px;margin:16px 0 0}#mwe-popups-settings main#mwe-popups-settings-form p:first-child{margin-top:0}#mwe-popups-settings main#mwe-popups-settings-form form img{margin-right:60px}#mwe-popups-settings main#mwe-popups-settings-form form input{margin-right:10px}#mwe-popups-settings main#mwe-popups-settings-form form label{font-size:13px;line-height:16px;width:300px}#mwe-popups-settings main#mwe-popups-settings-form form label > span{color:#000;font-size:14px;font-weight:bold;display:block;margin-bottom:5px}#mwe-popups-settings main#mwe-popups-settings-form form label:before{top:0.78125em !important}.mwe-popups-settings-help{font-size:13px;font-weight:800;margin:40px;position:relative}.mwe-popups-settings-help .mw-ui-icon:before,.mwe-popups-settings-help .mw-ui-icon{background-size:contain;height:140px;width:180px;max-width:none;margin:0;padding:0}.mwe-popups-settings-help p{left:180px;bottom:20px;position:absolute}.mwe-popups{background:#fff;position:absolute;z-index:110;box-shadow:0 30px 90px -20px rgba(0,0,0,0.3),0 0 1px 1px rgba(0,0,0,0.05);padding:0;display:none;font-size:14px;line-height:20px;min-width:300px;border-radius:2px; }.mwe-popups .mw-ui-icon-preview-disambiguation,.mwe-popups .mw-ui-icon-preview-generic{opacity:0.25}.mwe-popups .mwe-popups-container{color:#202122;margin-top:-8px;padding-top:9px;text-decoration:none}.mwe-popups .mwe-popups-container footer{padding:0 16px 16px;margin:0;font-size:10px;position:absolute;bottom:0;left:0}.mwe-popups .mwe-popups-settings-icon{display:block;float:right;border-radius:2px;opacity:0.67;-webkit-transition:background-color 100ms,opacity 100ms;transition:background-color 100ms,opacity 100ms}.mwe-popups .mwe-popups-settings-icon:hover{background-color:#eaecf0}.mwe-popups .mwe-popups-settings-icon:active{background-color:#c8ccd1;opacity:1}.mwe-popups .mwe-popups-extract{margin:16px;display:block;color:#202122;text-decoration:none;position:relative; }.mwe-popups .mwe-popups-extract:hover{text-decoration:none}.mwe-popups .mwe-popups-extract:after{content:' ';position:absolute;bottom:0;width:25%;height:20px;background-color:transparent;pointer-events:none}.mwe-popups .mwe-popups-extract[dir='ltr']:after{ right:0; background-image:-webkit-linear-gradient(to right,rgba(255,255,255,0),#ffffff 50%); background-image:linear-gradient(to right,rgba(255,255,255,0),#ffffff 50%)}.mwe-popups .mwe-popups-extract[dir='rtl']:after{ left:0; background-image:-webkit-linear-gradient(to left,rgba(255,255,255,0),#ffffff 50%); background-image:linear-gradient(to left,rgba(255,255,255,0),#ffffff 50%)}.mwe-popups .mwe-popups-extract p{margin:0}.mwe-popups .mwe-popups-extract ul,.mwe-popups .mwe-popups-extract ol,.mwe-popups .mwe-popups-extract li,.mwe-popups .mwe-popups-extract dl,.mwe-popups .mwe-popups-extract dd,.mwe-popups .mwe-popups-extract dt{margin-top:0;margin-bottom:0}.mwe-popups svg{overflow:hidden}.mwe-popups.mwe-popups-is-tall{width:450px}.mwe-popups.mwe-popups-is-tall > div > a > svg{vertical-align:middle}.mwe-popups.mwe-popups-is-tall .mwe-popups-extract{width:215px;height:180px;overflow:hidden;float:left}.mwe-popups.mwe-popups-is-tall .mwe-popups-extract + footer{left:0;right:215px}.rtl .mwe-popups.mwe-popups-is-tall .mwe-popups-extract + footer{ right:-12px;width:215px}.mwe-popups.mwe-popups-is-not-tall{width:320px}.mwe-popups.mwe-popups-is-not-tall .mwe-popups-extract{min-height:40px;max-height:140px;overflow:hidden;margin-bottom:47px;padding-bottom:0}.mwe-popups.mwe-popups-is-not-tall footer{width:290px}.mwe-popups .mwe-popups-container.footer-empty .mwe-popups-extract{margin-bottom:16px}.mwe-popups .mwe-popups-container.footer-empty .mwe-popups-extract .mwe-popups-scroll{max-height:379px}.mwe-popups.flipped-y .mwe-popups-container.footer-empty .mwe-popups-extract,.mwe-popups.flipped-x-y .mwe-popups-container.footer-empty .mwe-popups-extract{margin-bottom:24px}.mwe-popups.mwe-popups-type-generic .mwe-popups-extract,.mwe-popups.mwe-popups-type-disambiguation .mwe-popups-extract{min-height:auto;padding-top:4px;margin-top:0;margin-bottom:var(--margin-bottom);--margin-bottom:60px}.mwe-popups.mwe-popups-type-generic .mwe-popups-read-link,.mwe-popups.mwe-popups-type-disambiguation .mwe-popups-read-link{font-weight:bold;font-size:12px}.mwe-popups.mwe-popups-type-generic .mwe-popups-extract:hover + footer .mwe-popups-read-link,.mwe-popups.mwe-popups-type-disambiguation .mwe-popups-extract:hover + footer .mwe-popups-read-link{text-decoration:underline}.mwe-popups.mwe-popups-no-image-pointer:before{content:'';position:absolute;border:8px solid transparent;border-top:0;border-bottom:8px solid rgba(0,0,0,0.07000000000000001);top:-8px;left:10px}.mwe-popups.mwe-popups-no-image-pointer:after{content:'';position:absolute;border:11px solid transparent;border-top:0;border-bottom:11px solid #ffffff;top:-7px;left:7px}.mwe-popups.flipped-x.mwe-popups-no-image-pointer:before{left:auto;right:10px}.mwe-popups.flipped-x.mwe-popups-no-image-pointer:after{left:auto;right:7px}.mwe-popups.mwe-popups-image-pointer:before{content:'';position:absolute;border:9px solid transparent;border-top:0;border-bottom:9px solid #a2a9b1;top:-9px;left:9px;z-index:111}.mwe-popups.mwe-popups-image-pointer:after{content:'';position:absolute;border:12px solid transparent;border-top:0;border-bottom:12px solid #ffffff;top:-8px;left:6px;z-index:112}.mwe-popups.mwe-popups-image-pointer.flipped-x:before{content:'';position:absolute;border:9px solid transparent;border-top:0;border-bottom:9px solid #a2a9b1;top:-9px;left:293px}.mwe-popups.mwe-popups-image-pointer.flipped-x:after{content:'';position:absolute;border:12px solid transparent;border-top:0;border-bottom:12px solid #ffffff;top:-8px;left:290px}.mwe-popups.mwe-popups-image-pointer .mwe-popups-extract{padding-top:16px;margin-top:200px}.mwe-popups.mwe-popups-image-pointer > div > a > svg{margin-top:-8px;position:absolute;z-index:113;left:0}.mwe-popups.flipped-x.mwe-popups-is-tall{min-height:242px}.mwe-popups.flipped-x.mwe-popups-is-tall:before{content:'';position:absolute;border:9px solid transparent;border-top:0;border-bottom:9px solid #a2a9b1;top:-9px;left:420px;z-index:111}.mwe-popups.flipped-x.mwe-popups-is-tall > div > a > svg{margin:0;margin-top:-8px;margin-bottom:-7px;position:absolute;z-index:113;right:0}.mwe-popups.flipped-x.mwe-popups-is-tall .mwe-popups-extract{margin-top:8px}.mwe-popups.flipped-x-y:before{content:'';position:absolute;border:9px solid transparent;border-bottom:0;border-top:9px solid #a2a9b1;bottom:-9px;left:293px;z-index:111}.mwe-popups.flipped-x-y:after{content:'';position:absolute;border:12px solid transparent;border-bottom:0;border-top:12px solid #ffffff;bottom:-8px;left:290px;z-index:112}.mwe-popups.flipped-x-y.mwe-popups-is-tall{min-height:242px}.mwe-popups.flipped-x-y.mwe-popups-is-tall:before{content:'';position:absolute;border:9px solid transparent;border-bottom:0;border-top:9px solid #a2a9b1;bottom:-9px;left:420px}.mwe-popups.flipped-x-y.mwe-popups-is-tall:after{content:'';position:absolute;border:12px solid transparent;border-bottom:0;border-top:12px solid #ffffff;bottom:-8px;left:417px}.mwe-popups.flipped-x-y.mwe-popups-is-tall > div > a > svg{margin:0;margin-bottom:-9px;position:absolute;z-index:113;right:0}.mwe-popups.flipped-y:before{content:'';position:absolute;border:8px solid transparent;border-bottom:0;border-top:8px solid #a2a9b1;bottom:-8px;left:10px}.mwe-popups.flipped-y:after{content:'';position:absolute;border:11px solid transparent;border-bottom:0;border-top:11px solid #ffffff;bottom:-7px;left:7px}.mwe-popups-is-tall polyline{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.mwe-popups-is-tall.flipped-x-y polyline{-webkit-transform:translate(0,-8px);-ms-transform:translate(0,-8px);transform:translate(0,-8px)}.mwe-popups-is-tall.flipped-x polyline{-webkit-transform:translate(0,8px);-ms-transform:translate(0,8px);transform:translate(0,8px)}.rtl .mwe-popups-is-tall polyline{-webkit-transform:translate(-100%,0);-ms-transform:translate(-100%,0);transform:translate(-100%,0)}.rtl .mwe-popups-is-tall.flipped-x-y polyline{-webkit-transform:translate(-100%,-8px);-ms-transform:translate(-100%,-8px);transform:translate(-100%,-8px)}.rtl .mwe-popups-is-tall.flipped-x polyline{-webkit-transform:translate(-100%,8px);-ms-transform:translate(-100%,8px);transform:translate(-100%,8px)}@supports (clip-path:polygon(1px 1px)){.mwe-popups .mwe-popups-thumbnail{display:block;object-fit:cover;outline:1px solid rgba(0,0,0,0.1)}.mwe-popups .mwe-popups-discreet{margin-bottom:-9px}.mwe-popups .mwe-popups-extract[dir='rtl'] + footer{ left:unset; right:0}.mwe-popups .mwe-popups-extract[dir='rtl'] + footer .mwe-popups-settings-icon{ float:left}.mwe-popups.flipped-y .mwe-popups-discreet,.mwe-popups.flipped-x-y .mwe-popups-discreet{margin-bottom:0}.mwe-popups.flipped-y .mwe-popups-container,.mwe-popups.flipped-x-y .mwe-popups-container{--y1:100%;--y2:calc(100% - var(--pointer-height));--y3:calc(100% - var(--pointer-height) - var(--pseudo-radius));--y4:var(--pseudo-radius);--y5:0;margin-bottom:-9px;margin-top:0}.mwe-popups .mwe-popups-container{--x1:0;--x2:var(--pseudo-radius);--x3:calc(var(--pointer-offset) - (var(--pointer-width) / 2));--x4:var(--pointer-offset);--x5:calc(var(--pointer-offset) + (var(--pointer-width) / 2));--x6:calc(100% - var(--pseudo-radius));--x7:100%;--y1:0;--y2:var(--pointer-height);--y3:calc(var(--pointer-height) + var(--pseudo-radius));--y4:calc(100% - var(--pseudo-radius));--y5:100%;padding-top:0;display:flex;background:#fff;--pseudo-radius:2px;--pointer-height:8px;--pointer-width:16px;--pointer-offset:26px;clip-path:polygon(var(--x2) var(--y2),var(--x3) var(--y2),var(--x4) var(--y1),var(--x5) var(--y2),var(--x6) var(--y2),var(--x7) var(--y3),var(--x7) var(--y4),var(--x6) var(--y5),var(--x2) var(--y5),var(--x1) var(--y4),var(--x1) var(--y3))}.mwe-popups.mwe-popups-is-tall{flex-direction:row}.mwe-popups.mwe-popups-is-tall .mwe-popups-discreet{order:1}.mwe-popups.mwe-popups-is-tall .mwe-popups-discreet .mwe-popups-thumbnail{width:215px;height:250px}.mwe-popups.mwe-popups-is-not-tall .mwe-popups-thumbnail{width:320px;min-height:181px}.mwe-popups.mwe-popups-is-not-tall .mwe-popups-container{flex-direction:column}.mwe-popups:before{display:none}.mwe-popups:after{display:none}.mwe-popups.mwe-popups-image-pointer .mwe-popups-discreet{margin-bottom:0}.mwe-popups.mwe-popups-image-pointer .mwe-popups-extract{margin-top:0}.mwe-popups:not(.flipped-y):not(.flipped-x-y):not(.mwe-popups-image-pointer):not(.mwe-popups-type-disambiguation) .mwe-popups-extract{padding-top:var(--pointer-height)}.mwe-popups.mwe-popups-type-generic:not(.flipped-y):not(.flipped-x-y) .mwe-popups-container,.mwe-popups.mwe-popups-type-disambiguation:not(.flipped-y):not(.flipped-x-y) .mwe-popups-container{padding-top:var(--pointer-height)}.mwe-popups.mwe-popups-type-generic:not(.flipped-y):not(.flipped-x-y) .mwe-popups-container .mwe-popups-extract,.mwe-popups.mwe-popups-type-disambiguation:not(.flipped-y):not(.flipped-x-y) .mwe-popups-container .mwe-popups-extract{margin-bottom:calc(var(--margin-bottom) - var(--pointer-height))}body.ltr .mwe-popups.flipped-x .mwe-popups-container,body.ltr .mwe-popups.flipped-x-y .mwe-popups-container,body.rtl .mwe-popups:not(.flipped-x):not(.flipped-x-y) .mwe-popups-container{--x3:calc(100% - var(--pointer-offset) - (var(--pointer-width) / 2));--x4:calc(100% - var(--pointer-offset));--x5:calc(100% - var(--pointer-offset) + (var(--pointer-width) / 2))}}.mwe-popups .mwe-popups-title{display:block;font-weight:bold;margin:0 16px}#mw-content-text .reference a[href*='#'] *{pointer-events:none}.mwe-popups.mwe-popups-type-reference .mwe-popups-title{margin:0 0 12px 0}.mwe-popups.mwe-popups-type-reference .mwe-popups-title .mw-ui-icon{padding:0 8px 0 0}.mwe-popups.mwe-popups-type-reference .mwe-popups-title .mw-ui-icon:hover{ background-color:transparent !important}.mwe-popups.mwe-popups-type-reference .mwe-popups-title .mw-ui-icon-reference-note{display:none}.mwe-popups.mwe-popups-type-reference .mwe-popups-extract{margin-right:0;max-height:inherit}.mwe-popups.mwe-popups-type-reference .mwe-popups-extract .mwe-popups-scroll{max-height:348px;overflow:auto;padding-right:16px}.mwe-popups.mwe-popups-type-reference .mwe-popups-extract .mw-parser-output{overflow-wrap:break-word}.mwe-popups.mwe-popups-type-reference .mwe-popups-extract:after{display:none}.mwe-popups.mwe-popups-type-reference .mwe-popups-extract .mwe-popups-fade{position:absolute;width:100%;height:20px;background-color:transparent;background-image:-webkit-linear-gradient(top,rgba(255,255,255,0),#ffffff);background-image:linear-gradient(rgba(255,255,255,0),#ffffff);opacity:0;pointer-events:none;-webkit-transition:opacity 250ms ease;transition:opacity 250ms ease}.mwe-popups.mwe-popups-type-reference .mwe-popups-extract.mwe-popups-fade-out .mwe-popups-fade{opacity:1}.mwe-popups.mwe-popups-type-reference .mwe-collapsible-placeholder{font-weight:bold;margin:1em 0;position:relative}.mwe-popups.mwe-popups-type-reference .mwe-collapsible-placeholder .mw-ui-icon{margin-left:-0.78em;position:absolute}.mwe-popups.mwe-popups-type-reference .mwe-collapsible-placeholder .mwe-collapsible-placeholder-label{margin-left:2.5em}.mwe-popups-overlay{background-color:rgba(255,255,255,0.9);z-index:999;position:fixed;height:100%;width:100%;top:0;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center}#mwe-popups-svg{position:absolute;top:-1000px}
.ve-init-mw-tempWikitextEditorWidget{border:0;padding:0;color:inherit;line-height:1.5em;width:100%;-moz-tab-size:4;tab-size:4; }.ve-init-mw-tempWikitextEditorWidget:focus{outline:0;padding:0}.ve-init-mw-tempWikitextEditorWidget::selection{background:rgba(109,169,247,0.5); }
#p-lang .body ul .uls-trigger,#p-lang .pBody ul .uls-trigger{background-image:none;padding:0}#p-lang .mw-interlanguage-selector,#p-lang .mw-interlanguage-selector:active{background-image:url(/w/extensions/UniversalLanguageSelector/resources/images/language-base20.svg?b7954);background-position:left 4px center;background-repeat:no-repeat;background-size:16px;margin:4px 0 8px;padding:4px 8px 4px 26px;font-size:13px;font-weight:normal;text-align:left;cursor:pointer} .mw-interlanguage-selector.selector-open{background-color:#c8ccd1} .interlanguage-uls-menu:before,.interlanguage-uls-menu:after{border-top:10px solid transparent;border-bottom:10px solid transparent;display:inline-block; top:17px;position:absolute;content:''}.interlanguage-uls-menu.selector-right:before{ border-left:10px solid #c8ccd1; right:-11px}.interlanguage-uls-menu.selector-right:after{ border-left:10px solid #fff; right:-10px}.interlanguage-uls-menu.selector-left:before{ border-right:10px solid #c8ccd1; left:-11px}.interlanguage-uls-menu.selector-left:after{ border-right:10px solid #fff; left:-10px}.mw-body-header .mw-interlanguage-selector,.mw-body-header .mw-interlanguage-selector:active{margin:0;font-weight:bold}</style><style>
.ve-activated .ve-init-mw-desktopArticleTarget-editableContent #toc,.ve-activated #siteNotice,.ve-activated .mw-indicators,.ve-activated #t-print,.ve-activated #t-permalink,.ve-activated #p-coll-print_export,.ve-activated #t-cite,.ve-deactivating .ve-ui-surface,.ve-active .ve-init-mw-desktopArticleTarget-editableContent,.ve-active .ve-init-mw-tempWikitextEditorWidget{display:none} .ve-activating .ve-ui-surface{height:0;padding:0 !important; overflow:hidden} .ve-loading #content > :not(.ve-init-mw-desktopArticleTarget-loading-overlay), .ve-activated .ve-init-mw-desktopArticleTarget-uneditableContent{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:0.5}.ve-activated #firstHeading{ -webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;pointer-events:auto;cursor:text}.ve-activated #firstHeading a{ pointer-events:none}.ve-activated #catlinks{cursor:pointer}.ve-activated #catlinks a{opacity:1}.ve-activated #content{position:relative} .ve-init-mw-desktopArticleTarget-loading-overlay{position:absolute;top:1.25em;left:0;right:0;z-index:1;margin-top:-0.5em}.ve-init-mw-desktopArticleTarget-toolbarPlaceholder{transition:height 250ms ease;height:0; } .oo-ui-element-hidden{display:none !important; } .mw-editsection{ unicode-bidi:-moz-isolate;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.mw-editsection:before{content:'\200B'}.mw-editsection a{white-space:nowrap}.mw-editsection-divider{color:#54595d} .ve-init-mw-desktopArticleTarget-toolbarPlaceholder{border-bottom:1px solid #c8ccd1;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1)}.ve-init-mw-desktopArticleTarget-toolbarPlaceholder-open{height:42px} .ve-init-mw-desktopArticleTarget-toolbar,.ve-init-mw-desktopArticleTarget-toolbarPlaceholder{font-size:0.875em;margin:-1.42857143em -0.57142857em 1.42857143em -0.57142857em}.skin-vector-legacy .ve-init-mw-desktopArticleTarget-toolbar,.skin-vector-legacy .ve-init-mw-desktopArticleTarget-toolbarPlaceholder{ margin:-1.14em -1.14em 1.14em -1.14em; }@media screen and (min-width:982px){.skin-vector-legacy .ve-init-mw-desktopArticleTarget-toolbar,.skin-vector-legacy .ve-init-mw-desktopArticleTarget-toolbarPlaceholder{ margin:-1.43em -1.71em 1.43em -1.71em}}</style><meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" href="./FastCGI - Wikipedia_files/load(2).php">
<meta name="generator" content="MediaWiki 1.37.0-wmf.20">
<meta name="referrer" content="origin">
<meta name="referrer" content="origin-when-crossorigin">
<meta name="referrer" content="origin-when-cross-origin">
<meta name="format-detection" content="telephone=no">
<meta property="og:title" content="FastCGI - Wikipedia">
<meta property="og:type" content="website">
<link rel="preconnect" href="https://upload.wikimedia.org/">
<link rel="alternate" media="only screen and (max-width: 720px)" href="https://en.m.wikipedia.org/wiki/FastCGI">
<link rel="alternate" type="application/x-wiki" title="Edit this page" href="https://en.wikipedia.org/w/index.php?title=FastCGI&action=edit">
<link rel="edit" title="Edit this page" href="https://en.wikipedia.org/w/index.php?title=FastCGI&action=edit">
<link rel="apple-touch-icon" href="https://en.wikipedia.org/static/apple-touch/wikipedia.png">
<link rel="shortcut icon" href="https://en.wikipedia.org/static/favicon/wikipedia.ico">
<link rel="search" type="application/opensearchdescription+xml" href="https://en.wikipedia.org/w/opensearch_desc.php" title="Wikipedia (en)">
<link rel="EditURI" type="application/rsd+xml" href="https://en.wikipedia.org/w/api.php?action=rsd">
<link rel="license" href="https://creativecommons.org/licenses/by-sa/3.0/">
<link rel="canonical" href="https://en.wikipedia.org/wiki/FastCGI">
<link rel="dns-prefetch" href="https://login.wikimedia.org/">
<link rel="dns-prefetch" href="https://meta.wikimedia.org/">
</head>
<body class="mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-FastCGI rootpage-FastCGI skin-vector action-view skin-vector-legacy"><div id="mw-page-base" class="noprint"></div>
<div id="mw-head-base" class="noprint"></div>
<div id="content" class="mw-body" role="main">
<a id="top"></a>
<div id="siteNotice"><div id="centralNotice"></div><!-- CentralNotice --></div>
<div class="mw-indicators">
</div>
<h1 id="firstHeading" class="firstHeading">FastCGI</h1>
<div id="bodyContent" class="vector-body">
<div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div>
<div id="contentSub"></div>
<div id="contentSub2"></div>
<div id="jump-to-nav"></div>
<a class="mw-jump-link" href="https://en.wikipedia.org/wiki/FastCGI#mw-head">Jump to navigation</a>
<a class="mw-jump-link" href="https://en.wikipedia.org/wiki/FastCGI#searchInput">Jump to search</a>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-parser-output"><style data-mw-deduplicate="TemplateStyles:r1033289096">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}</style><div role="note" class="hatnote navigation-not-searchable">"FCGI" redirects here. FCGI may also refer to a fellow of the <a href="https://en.wikipedia.org/wiki/City_and_Guilds_of_London_Institute" title="City and Guilds of London Institute">City and Guilds of London Institute</a>.</div>
<table class="box-More_footnotes plainlinks metadata ambox ambox-style ambox-More_footnotes" role="presentation"><tbody><tr><td class="mbox-image"><div style="width:52px"><img alt="" src="./FastCGI - Wikipedia_files/40px-Text_document_with_red_question_mark.svg.png" decoding="async" width="40" height="40" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Text_document_with_red_question_mark.svg/60px-Text_document_with_red_question_mark.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Text_document_with_red_question_mark.svg/80px-Text_document_with_red_question_mark.svg.png 2x" data-file-width="48" data-file-height="48"></div></td><td class="mbox-text"><div class="mbox-text-span">This article includes a list of general <a href="https://en.wikipedia.org/wiki/Wikipedia:Citing_sources" title="Wikipedia:Citing sources">references</a>, but it remains largely unverified because <b>it lacks sufficient corresponding <a href="https://en.wikipedia.org/wiki/Wikipedia:Citing_sources#Inline_citations" title="Wikipedia:Citing sources">inline citations</a></b>.<span class="hide-when-compact"> Please help to <a href="https://en.wikipedia.org/wiki/Wikipedia:WikiProject_Fact_and_Reference_Check" class="mw-redirect" title="Wikipedia:WikiProject Fact and Reference Check">improve</a> this article by <a href="https://en.wikipedia.org/wiki/Wikipedia:When_to_cite" title="Wikipedia:When to cite">introducing</a> more precise citations.</span> <span class="date-container"><i>(<span class="date">June 2010</span>)</i></span><span class="hide-when-compact"><i> (<a href="https://en.wikipedia.org/wiki/Help:Maintenance_template_removal" title="Help:Maintenance template removal">Learn how and when to remove this template message</a>)</i></span></div></td></tr></tbody></table>
<p><b>FastCGI</b> is a <a href="https://en.wikipedia.org/wiki/Binary_protocol" class="mw-redirect" title="Binary protocol">binary protocol</a> for interfacing interactive programs with a <a href="https://en.wikipedia.org/wiki/Web_server" title="Web server">web server</a>. It is a variation on the earlier <a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface" title="Common Gateway Interface">Common Gateway Interface</a> (CGI). FastCGI's main aim is to reduce the overhead related to interfacing between web server and CGI programs, allowing a server to handle more web page requests per unit of time.
</p>
<div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none"><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="https://en.wikipedia.org/wiki/FastCGI#History"><span class="tocnumber">1</span> <span class="toctext">History</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="https://en.wikipedia.org/wiki/FastCGI#Implementation_details"><span class="tocnumber">2</span> <span class="toctext">Implementation details</span></a></li>
<li class="toclevel-1 tocsection-3"><a href="https://en.wikipedia.org/wiki/FastCGI#Web_servers_that_implement_FastCGI"><span class="tocnumber">3</span> <span class="toctext">Web servers that implement FastCGI</span></a></li>
<li class="toclevel-1 tocsection-4"><a href="https://en.wikipedia.org/wiki/FastCGI#Language_bindings_for_its_API"><span class="tocnumber">4</span> <span class="toctext">Language bindings for its API</span></a></li>
<li class="toclevel-1 tocsection-5"><a href="https://en.wikipedia.org/wiki/FastCGI#References"><span class="tocnumber">5</span> <span class="toctext">References</span></a></li>
<li class="toclevel-1 tocsection-6"><a href="https://en.wikipedia.org/wiki/FastCGI#External_links"><span class="tocnumber">6</span> <span class="toctext">External links</span></a></li>
</ul>
</div>
<h2><span class="mw-headline" id="History">History</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://en.wikipedia.org/w/index.php?title=FastCGI&action=edit&section=1" title="Edit section: History">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<p><a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface" title="Common Gateway Interface">Common Gateway Interface</a> (CGI) is a protocol for interfacing external applications to web servers. CGI applications run in separate <a href="https://en.wikipedia.org/wiki/Process_(computing)" title="Process (computing)">processes</a>, which are created at the start of each request and torn down at the end. This "one new process per request" model makes CGI programs very simple to implement, but limits efficiency and scalability. At high loads, the <a href="https://en.wikipedia.org/wiki/Operating_system" title="Operating system">operating system</a> overhead for process creation and destruction becomes significant. Also, the CGI process model limits resource reuse methods, such as reusing database connections, in-memory caching, etc.
</p><p>To address the scalability shortcomings of CGI, <a href="https://en.wikipedia.org/wiki/Open_Market" title="Open Market">Open Market</a> developed FastCGI and first introduced it in their webserver product in the mid-1990s. Open Market originally developed FastCGI in part as a competitive response to <a href="https://en.wikipedia.org/wiki/Netscape" title="Netscape">Netscape</a>'s proprietary, in-process <a href="https://en.wikipedia.org/wiki/Application_programming_interface" class="mw-redirect" title="Application programming interface">application programming interfaces</a> (APIs) (<a href="https://en.wikipedia.org/wiki/Netscape_Server_Application_Programming_Interface" title="Netscape Server Application Programming Interface">Netscape Server Application Programming Interface</a> (NSAPI)) for developing Web applications.
</p><p>While developed first by Open Market, FastCGI was then implemented by several other webserver makers. However, its approach competed against other methods to speed and simplify server-subprogram communication. <a href="https://en.wikipedia.org/wiki/Apache_HTTP_Server" title="Apache HTTP Server">Apache HTTP Server</a> modules such as <a href="https://en.wikipedia.org/wiki/Mod_perl" title="Mod perl">mod_perl</a> and <a href="https://en.wikipedia.org/wiki/Mod_php" class="mw-redirect" title="Mod php">mod_php</a> appeared around the same time, and gained popularity quickly. As of 2020<sup class="plainlinks noexcerpt noprint asof-tag update" style="display:none;"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=FastCGI&action=edit">[update]</a></sup>, all of these various methods, including CGI, remain in common use.
</p>
<h2><span class="mw-headline" id="Implementation_details">Implementation details</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://en.wikipedia.org/w/index.php?title=FastCGI&action=edit&section=2" title="Edit section: Implementation details">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<p>Instead of creating a new process for each request, FastCGI uses persistent processes to handle a series of requests. These processes are owned by the FastCGI server, not the web server. <sup id="cite_ref-FastCGI_Specification_1-0" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-FastCGI_Specification-1">[1]</a></sup>
</p><p>To service an incoming request, the web server sends <a href="https://en.wikipedia.org/wiki/Environment_variable" title="Environment variable">environment variable</a> information and the page request to a FastCGI process over either a <a href="https://en.wikipedia.org/wiki/Unix_domain_socket" title="Unix domain socket">Unix domain socket</a>, a <a href="https://en.wikipedia.org/wiki/Named_pipe" title="Named pipe">named pipe</a>, or a <a href="https://en.wikipedia.org/wiki/Transmission_Control_Protocol" title="Transmission Control Protocol">Transmission Control Protocol</a> (TCP) connection. Responses are returned from the process to the web server over the same connection, and the web server then delivers that response to the <a href="https://en.wikipedia.org/wiki/End_user" title="End user">end user</a>. The connection may be closed at the end of a response, but both web server and FastCGI service processes persist. <sup id="cite_ref-FastCGIwhitepaper_2-0" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-FastCGIwhitepaper-2">[2]</a></sup>
</p><p>Each individual FastCGI process can handle many requests over its lifetime, thereby avoiding the overhead of per-request process creation and termination. Processing multiple requests concurrently can be done in several ways: by using one connection with internal <a href="https://en.wikipedia.org/wiki/Multiplexing" title="Multiplexing">multiplexing</a> (i.e., multiple requests over one connection); by using multiple connections; or by a mix of these methods. Multiple FastCGI servers can be configured, increasing stability and scalability.
</p><p>Web site administrators and programmers can find that separating web applications from the web server in FastCGI has many advantages over embedded interpreters (<a href="https://en.wikipedia.org/wiki/Mod_perl" title="Mod perl">mod_perl</a>, <a href="https://en.wikipedia.org/wiki/Mod_php" class="mw-redirect" title="Mod php">mod_php</a>, etc.). This separation allows server and application processes to be restarted independently – an important consideration for busy web sites. It also enables the implementation of per-application, hosting service security policies, which is an important requirement for ISPs and web hosting companies. <sup id="cite_ref-LinuxJournalFastCGIreview_3-0" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-LinuxJournalFastCGIreview-3">[3]</a></sup> Different types of incoming requests can be distributed to specific FastCGI servers which have been equipped to handle those types of requests efficiently.
</p>
<h2><span class="mw-headline" id="Web_servers_that_implement_FastCGI">Web servers that implement FastCGI</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://en.wikipedia.org/w/index.php?title=FastCGI&action=edit&section=3" title="Edit section: Web servers that implement FastCGI">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1033289096"><div role="note" class="hatnote navigation-not-searchable">See also: <a href="https://en.wikipedia.org/wiki/Comparison_of_web_server_software#Features" title="Comparison of web server software">Comparison of web server software § Features</a></div>
<dl><dd><i>Note: unless stated, completeness of FastCGI implementation is unknown</i></dd></dl>
<ul><li><a href="https://en.wikipedia.org/wiki/Apache_HTTP_Server" title="Apache HTTP Server">Apache HTTP Server</a> <i>(partial)</i>
<ul><li>Implemented by <style data-mw-deduplicate="TemplateStyles:r886049734">.mw-parser-output .monospaced{font-family:monospace,monospace}</style><span class="monospaced"><a rel="nofollow" class="external text" href="http://httpd.apache.org/mod_fcgid/">mod_fcgid</a></span>. This module used to be third-party, but was granted to <a href="https://en.wikipedia.org/wiki/The_Apache_Software_Foundation" title="The Apache Software Foundation">The Apache Software Foundation</a> (ASF) as an Apache Server subproject in 2009, shepherded by Chris Darroch.<sup id="cite_ref-4" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-4">[4]</a></sup> It only supports Unix domain sockets, no TCP sockets.<sup id="cite_ref-5" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-5">[5]</a></sup></li>
<li>A third-party module <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced">mod_fastcgi</span> is also being used. For a while, this module no longer compiled properly under Apache 2.4.x,<sup id="cite_ref-6" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-6">[6]</a></sup> although that problem has been solved with a fork of the original project.<sup id="cite_ref-7" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-7">[7]</a></sup></li>
<li>Multiplexing of requests through one connection is prohibited by Apache 1.x design,<sup id="cite_ref-8" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-8">[8]</a></sup> so this isn't supported</li>
<li>In Apache 2.4, <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced"><a rel="nofollow" class="external text" href="http://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></span> was added, supporting TCP FastCGI servers.</li></ul></li>
<li><a href="https://en.wikipedia.org/wiki/Caddy_(web_server)" title="Caddy (web server)">Caddy</a><sup id="cite_ref-9" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-9">[9]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/Cherokee_(web_server)" title="Cherokee (web server)">Cherokee</a><sup id="cite_ref-10" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-10">[10]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/Hiawatha_(web_server)" title="Hiawatha (web server)">Hiawatha</a><sup id="cite_ref-11" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-11">[11]</a></sup>
<ul><li>Loadbalancing FastCGI support</li>
<li>Supports chrooted FastCGI servers</li></ul></li>
<li><a href="https://en.wikipedia.org/wiki/Jetty_(web_server)" title="Jetty (web server)">Jetty</a><sup id="cite_ref-jetty-fastcgi_12-0" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-jetty-fastcgi-12">[12]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/Kerio_WebSTAR" class="mw-redirect" title="Kerio WebSTAR">Kerio WebSTAR</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lighttpd" title="Lighttpd">Lighttpd</a><sup id="cite_ref-13" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-13">[13]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/LiteSpeed_Web_Server" title="LiteSpeed Web Server">LiteSpeed Web Server</a></li>
<li><a href="https://en.wikipedia.org/wiki/Microsoft_IIS" class="mw-redirect" title="Microsoft IIS">Microsoft IIS</a><sup id="cite_ref-14" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-14">[14]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/Nginx" title="Nginx">Nginx</a><sup id="cite_ref-15" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-15">[15]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/NaviServer" title="NaviServer">NaviServer</a></li>
<li><a href="https://en.wikipedia.org/wiki/Oracle_iPlanet_Web_Server" title="Oracle iPlanet Web Server">Oracle iPlanet Web Server</a></li>
<li><a href="https://en.wikipedia.org/wiki/OpenBSD" title="OpenBSD">OpenBSD</a>'s <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734"><span class="monospaced"><a rel="nofollow" class="external text" href="http://man.openbsd.org/OpenBSD-current/man8/httpd.8">httpd(8)</a></span><sup id="cite_ref-16" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-16">[16]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/Open_Market" title="Open Market">Open Market</a> web server</li>
<li><a href="https://en.wikipedia.org/wiki/Resin_(software)" title="Resin (software)">Resin</a> web and application server</li>
<li><a href="https://en.wikipedia.org/wiki/Roxen_(web_server)" title="Roxen (web server)">Roxen</a> web server</li>
<li><a href="https://en.wikipedia.org/wiki/ShimmerCat" title="ShimmerCat">ShimmerCat</a> web server<sup id="cite_ref-17" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-17">[17]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/Zeus_Web_Server" title="Zeus Web Server">Zeus Web Server</a></li></ul>
<h2><span class="mw-headline" id="Language_bindings_for_its_API">Language bindings for its API</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://en.wikipedia.org/w/index.php?title=FastCGI&action=edit&section=4" title="Edit section: Language bindings for its API">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<p>FastCGI can be implemented in any language that supports <a href="https://en.wikipedia.org/wiki/Network_socket" title="Network socket">network sockets</a>. Since "FastCGI is a protocol, not an implementation," it is not tightly bound to any one language. <a href="https://en.wikipedia.org/wiki/Application_programming_interface" class="mw-redirect" title="Application programming interface">Application programming interfaces</a> (APIs) exist for:<sup id="cite_ref-18" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-18">[18]</a></sup>
</p>
<style data-mw-deduplicate="TemplateStyles:r998391716">.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}</style><div class="div-col" style="column-width: 20em;">
<ul><li><a href="https://en.wikipedia.org/wiki/Ada_(programming_language)" title="Ada (programming language)">Ada</a><sup id="cite_ref-19" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-19">[19]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/Delphi_(IDE)" class="mw-redirect" title="Delphi (IDE)">Delphi</a>, <a href="https://en.wikipedia.org/wiki/Lazarus_(IDE)" class="mw-redirect" title="Lazarus (IDE)">Lazarus</a> <a href="https://en.wikipedia.org/wiki/Free_Pascal" title="Free Pascal">Free Pascal</a><sup id="cite_ref-20" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-20">[20]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/C_(programming_language)" title="C (programming language)">C</a>, <a href="https://en.wikipedia.org/wiki/C%2B%2B" title="C++">C++</a></li>
<li><a href="https://en.wikipedia.org/wiki/Chicken_(Scheme_implementation)" title="Chicken (Scheme implementation)">Chicken</a> Scheme</li>
<li><a href="https://en.wikipedia.org/wiki/Common_Lisp" title="Common Lisp">Common Lisp</a><sup id="cite_ref-21" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-21">[21]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/D_(programming_language)" title="D (programming language)">D</a></li>
<li><a href="https://en.wikipedia.org/wiki/Eiffel_(programming_language)" title="Eiffel (programming language)">Eiffel</a><sup id="cite_ref-22" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-22">[22]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/Erlang_(programming_language)" title="Erlang (programming language)">Erlang</a></li>
<li><a href="https://en.wikipedia.org/wiki/GnuCOBOL" title="GnuCOBOL">GnuCOBOL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Go_(programming_language)" title="Go (programming language)">Go</a></li>
<li><a href="https://en.wikipedia.org/wiki/GNU_Guile" title="GNU Guile">Guile</a> Scheme</li>
<li><a href="https://en.wikipedia.org/wiki/Haskell_(programming_language)" title="Haskell (programming language)">Haskell</a></li>
<li><a href="https://en.wikipedia.org/wiki/VSI_BASIC_for_OpenVMS" title="VSI BASIC for OpenVMS">VSI BASIC for OpenVMS</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)" title="Java (programming language)">Java</a><sup id="cite_ref-23" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-23">[23]</a></sup><sup id="cite_ref-jetty-fastcgi_12-1" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-jetty-fastcgi-12">[12]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/Lua_(programming_language)" title="Lua (programming language)">Lua</a></li>
<li><a href="https://en.wikipedia.org/wiki/Node.js" title="Node.js">node.js</a><sup id="cite_ref-24" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-24">[24]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/OCaml" title="OCaml">OCaml</a></li>
<li><a href="https://en.wikipedia.org/wiki/Perl" title="Perl">Perl</a><sup id="cite_ref-25" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-25">[25]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/PHP" title="PHP">PHP</a> (via php-fpm,<sup id="cite_ref-26" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-26">[26]</a></sup> or <a href="https://en.wikipedia.org/wiki/HipHop_for_PHP" title="HipHop for PHP">HipHop for PHP</a><sup id="cite_ref-27" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-27">[27]</a></sup>)</li>
<li><a href="https://en.wikipedia.org/wiki/Python_(programming_language)" title="Python (programming language)">Python</a></li>
<li><a href="https://en.wikipedia.org/wiki/Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a></li>
<li><a href="https://en.wikipedia.org/wiki/Rust_(programming_language)" title="Rust (programming language)">Rust</a><sup id="cite_ref-28" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-28">[28]</a></sup></li>
<li><a href="https://en.wikipedia.org/wiki/SmallEiffel" class="mw-redirect" title="SmallEiffel">SmallEiffel</a></li>
<li><a href="https://en.wikipedia.org/wiki/Smalltalk" title="Smalltalk">Smalltalk</a>: FasTalk and <a href="https://en.wikipedia.org/wiki/Dolphin_Smalltalk" title="Dolphin Smalltalk">Dolphin Smalltalk</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tcl" title="Tcl">Tcl</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebDNA" title="WebDNA">WebDNA</a></li>
<li><a href="https://en.wikipedia.org/wiki/Vala_(programming_language)" title="Vala (programming language)">Vala</a> (via C bindings)</li>
<li><a href="https://en.wikipedia.org/wiki/Xojo" title="Xojo">Xojo</a> (formerly Realbasic, REAL Studio)<sup id="cite_ref-29" class="reference"><a href="https://en.wikipedia.org/wiki/FastCGI#cite_note-29">[29]</a></sup></li></ul></div>
<p>Recent frameworks such as <a href="https://en.wikipedia.org/wiki/Ruby_on_Rails" title="Ruby on Rails">Ruby on Rails</a>, <a href="https://en.wikipedia.org/wiki/Catalyst_(software)" title="Catalyst (software)">Catalyst</a>, <a href="https://en.wikipedia.org/wiki/Django_(web_framework)" title="Django (web framework)">Django</a>, Kepler and <a href="https://en.wikipedia.org/wiki/Plack_(software)" title="Plack (software)">Plack</a> allow use with either the embedded interpreters (<a href="https://en.wikipedia.org/wiki/Mod_ruby" title="Mod ruby">mod_ruby</a>, <a href="https://en.wikipedia.org/wiki/Mod_perl" title="Mod perl">mod_perl</a>, <a href="https://en.wikipedia.org/wiki/Mod_python" title="Mod python">mod_python</a> or mod_lua, for example), or FastCGI.
</p>
<h2><span class="mw-headline" id="References">References</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://en.wikipedia.org/w/index.php?title=FastCGI&action=edit&section=5" title="Edit section: References">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<style data-mw-deduplicate="TemplateStyles:r1011085734">.mw-parser-output .reflist{font-size:90%;margin-bottom:0.5em;list-style-type:decimal}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-FastCGI_Specification-1"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-FastCGI_Specification_1-0" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r999302996">.mw-parser-output cite.citation{font-style:inherit}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .id-lock-free a,.mw-parser-output .citation .cs1-lock-free a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited a,.mw-parser-output .id-lock-registration a,.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription a,.mw-parser-output .citation .cs1-lock-subscription a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration{color:#555}.mw-parser-output .cs1-subscription span,.mw-parser-output .cs1-registration span{border-bottom:1px dotted;cursor:help}.mw-parser-output .cs1-ws-icon a{background:linear-gradient(transparent,transparent),url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}.mw-parser-output code.cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;font-size:100%}.mw-parser-output .cs1-visible-error{font-size:100%}.mw-parser-output .cs1-maint{display:none;color:#33aa33;margin-left:0.3em}.mw-parser-output .cs1-format{font-size:95%}.mw-parser-output .cs1-kern-left,.mw-parser-output .cs1-kern-wl-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right,.mw-parser-output .cs1-kern-wl-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160119141816/http://www.fastcgi.com/drupal/node/6?q=node%2F22">"FastCGI Specification"</a>. <i>Open Market, Inc</i>. 1996. Archived from <a rel="nofollow" class="external text" href="http://www.fastcgi.com/drupal/node/6?q=node/22">the original</a> on 19 January 2016.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Open+Market%2C+Inc.&rft.atitle=FastCGI+Specification&rft.date=1996&rft_id=http%3A%2F%2Fwww.fastcgi.com%2Fdrupal%2Fnode%2F6%3Fq%3Dnode%2F22&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFastCGI" class="Z3988"></span></span>
</li>
<li id="cite_note-FastCGIwhitepaper-2"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-FastCGIwhitepaper_2-0" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20101001152455/http://www.fastcgi.com/drupal/node/6?q=node%2F15">"FastCGI:A High-Performance Web Server Interface"</a>. <i>Open Market, Inc</i>. 1996. Archived from <a rel="nofollow" class="external text" href="http://www.fastcgi.com/drupal/node/6?q=node/15">the original</a> on 1 October 2010.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Open+Market%2C+Inc&rft.atitle=FastCGI%3AA+High-Performance+Web+Server+Interface&rft.date=1996&rft_id=http%3A%2F%2Fwww.fastcgi.com%3A80%2Fdrupal%2Fnode%2F6%3Fq%3Dnode%2F15&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFastCGI" class="Z3988"></span></span>
</li>
<li id="cite_note-LinuxJournalFastCGIreview-3"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-LinuxJournalFastCGIreview_3-0" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"><cite id="CITEREFHeinlein1998" class="citation web cs1">Heinlein, Paul (1 November 1998). <a rel="nofollow" class="external text" href="http://www.linuxjournal.com/article/2607">"FastCGI: Persistent Applications for Your Web Server"</a>. <i>Linux Journal</i><span class="reference-accessdate">. Retrieved <span class="nowrap">4 October</span> 2010</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Linux+Journal&rft.atitle=FastCGI%3A+Persistent+Applications+for+Your+Web+Server&rft.date=1998-11-01&rft.aulast=Heinlein&rft.aufirst=Paul&rft_id=http%3A%2F%2Fwww.linuxjournal.com%2Farticle%2F2607&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFastCGI" class="Z3988"></span></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-4" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://httpd.apache.org/mod_fcgid/">FastCGI apache module mod_fcgid</a></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-5" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=450748">Debian bug #450748: Please add support for TCP/IP FastCGI servers</a></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-6" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120327033316/http://danielhe.com/2012/03/issues-with-apache-2-4-and-php-fpm/">Issues with Apache 2.4 and PHP-FPM</a></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-7" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://github.com/ByteInternet/libapache-mod-fastcgi/">libapache-mod-fastcgi on Github</a></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-8" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20100208215702/http://cryp.to/publications/fastcgi/#AEN147">"FastCGI – The Forgotten Treasure/ Section 2.3"</a>. Archived from <a rel="nofollow" class="external text" href="http://cryp.to/publications/fastcgi/#AEN147">the original</a> on 2010-02-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2006-02-21</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=FastCGI+%E2%80%93+The+Forgotten+Treasure%2F+Section+2.3.&rft_id=http%3A%2F%2Fcryp.to%2Fpublications%2Ffastcgi%2F%23AEN147&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFastCGI" class="Z3988"></span></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-9" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://caddyserver.com/docs/fastcgi">Caddy User Guide – FastCGI</a></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-10" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.cherokee-project.com/doc/modules_handlers_fcgi.html">FastCGI for Cherokee</a></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-11" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.hiawatha-webserver.org/howto/cgi_and_fastcgi">FastCGI howto for Hiawatha</a></span>
</li>
<li id="cite_note-jetty-fastcgi-12"><span class="mw-cite-backlink">^ <a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-jetty-fastcgi_12-0"><span class="cite-accessibility-label">Jump up to: </span><sup><i><b>a</b></i></sup></a> <a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-jetty-fastcgi_12-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.eclipse.org/jetty/documentation/current/fastcgi.html">FastCGI Support in Jetty</a></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-13" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://trac.lighttpd.net/trac/wiki/Docs:ModFastCGI">FastCGI for Lighttpd</a></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-14" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.iis.net/fastcgi">"FastCGI Extension for IIS6.0 – RTM"</a>. <i>FastCGI for IIS</i>. Microsoft. 2008-02-28<span class="reference-accessdate">. Retrieved <span class="nowrap">2008-02-29</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=FastCGI+for+IIS&rft.atitle=FastCGI+Extension+for+IIS6.0+%E2%80%93+RTM&rft.date=2008-02-28&rft_id=http%3A%2F%2Fwww.iis.net%2Ffastcgi&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFastCGI" class="Z3988"></span></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-15" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html">"FastCGI Nginx module ngx_http_fastcgi_module"</a>. <i>nginx.org</i>. NGINX, Inc<span class="reference-accessdate">. Retrieved <span class="nowrap">20 June</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=nginx.org&rft.atitle=FastCGI+Nginx+module+ngx_http_fastcgi_module&rft_id=https%3A%2F%2Fnginx.org%2Fen%2Fdocs%2Fhttp%2Fngx_http_fastcgi_module.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFastCGI" class="Z3988"></span></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-16" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://marc.info/?l=openbsd-cvs&m=140520832128782&w=2">OpenBSD's httpd(8) initial commit</a></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-17" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r999302996"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20180121071419/https://www.shimmercat.com/en/docs/1.5/featureset/#for-communications-with-backend-applications">"Archived copy"</a>. Archived from <a rel="nofollow" class="external text" href="https://www.shimmercat.com/en/docs/1.5/featureset/#for-communications-with-backend-applications">the original</a> on 2018-01-21<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-09-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Archived+copy&rft_id=https%3A%2F%2Fwww.shimmercat.com%2Fen%2Fdocs%2F1.5%2Ffeatureset%2F%23for-communications-with-backend-applications&rfr_id=info%3Asid%2Fen.wikipedia.org%3AFastCGI" class="Z3988"></span><span class="cs1-maint citation-comment">CS1 maint: archived copy as title (<a href="https://en.wikipedia.org/wiki/Category:CS1_maint:_archived_copy_as_title" title="Category:CS1 maint: archived copy as title">link</a>)</span></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-18" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://fastcgi-archives.github.io/">Application Libraries, Development Kits</a></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-19" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://forge.ada-ru.org/matreshka">Matreshka</a></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-20" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://github.com/farshadmohajeri/extpascal">ExtPascal</a></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-21" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://cliki.net/fastcgi">How to use FastCGI from Common Lisp</a></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-22" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://svn.eiffel.com/goanna/trunk/goanna/">Goanna Eiffel</a></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-23" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://jfastcgi.org/">jFastCGI, a Java Servlet implementing FastCGI protocol</a></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-24" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://www.npmjs.org/package/node-fastcgi">node-fastcgi npm package</a></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-25" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text">
There are several FastCGI modules for Perl:
<a rel="nofollow" class="external text" href="http://metacpan.org/module/FCGI">FCGI</a> (a compiled module written in C),
<a rel="nofollow" class="external text" href="http://metacpan.org/module/FCGI::Async">FCGI::Async</a> (for asynchronous FastCGI applications),
<a rel="nofollow" class="external text" href="http://metacpan.org/module/AnyEvent::FCGI">AnyEvent::FCGI</a>
(for <a rel="nofollow" class="external text" href="http://metacpan.org/module/AnyEvent">AnyEvent</a>-based applications),
<a rel="nofollow" class="external text" href="http://metacpan.org/module/FCGI::EV">FCGI::EV</a>
(for <a rel="nofollow" class="external text" href="http://metacpan.org/module/EV">EV</a>-based applications),
<a rel="nofollow" class="external text" href="http://metacpan.org/module/CGI::Fast">CGI::Fast</a>
(Perl <a rel="nofollow" class="external text" href="http://metacpan.org/module/CGI">CGI</a>-like interface for FastCGI),
<a rel="nofollow" class="external text" href="http://metacpan.org/module/FCGI::Client">FCGI::Client</a> (a FastCGI client library),
and <a rel="nofollow" class="external text" href="http://metacpan.org/module/Net::FastCGI">Net::FastCGI</a>
(constants and functions to build and parse FastCGI messages).</span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-26" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external autonumber" href="http://php.net/manual/en/install.fpm.php">[1]</a></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-27" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.hhvm.com/blog/1817/fastercgi-with-hhvm">FasterCGI with HHVM</a></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-28" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external autonumber" href="https://github.com/danielksb/rust-fcgi">[2]</a></span>
</li>
<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="https://en.wikipedia.org/wiki/FastCGI#cite_ref-29" aria-label="Jump up" title="Jump up">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.realsoftware.com/web/">REAL Studio Web Edition, builds web apps called via FastCGI</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110208052013/http://realsoftware.com/web/">Archived</a> 2011-02-08 at the <a href="https://en.wikipedia.org/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span>
</li>
</ol></div></div>
<h2><span class="mw-headline" id="External_links">External links</span><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="https://en.wikipedia.org/w/index.php?title=FastCGI&action=edit&section=6" title="Edit section: External links">edit</a><span class="mw-editsection-bracket">]</span></span></h2>
<ul><li><a rel="nofollow" class="external text" href="https://fastcgi-archives.github.io/">FastCGI Web official Site fork</a></li>
<li><a rel="nofollow" class="external text" href="https://fastcgi-archives.github.io/FastCGI_Specification.html">FastCGI specification</a> (site backup)
<ul><li><a rel="nofollow" class="external text" href="https://www.mit.edu/~yandros/doc/specs/fcgi-spec.html">Secondary backup</a></li></ul></li>
<li><a rel="nofollow" class="external text" href="https://fastcgi-archives.github.io/mod_fastcgi/">mod_fastcgi – FastCGI module fork for Apache 1.x and 2.x supporting external applications</a></li>
<li><a rel="nofollow" class="external text" href="http://httpd.apache.org/mod_fcgid/">mod_fcgid A FastCGI module for Apache 2.x</a></li>
<li><a rel="nofollow" class="external text" href="https://www.iis.net/default.aspx?tabid=1000051">Microsoft FastCGI</a></li>
<li><a rel="nofollow" class="external text" href="https://zenprojects.github.io/Apache-Proxy-FastCGI-Module/">Apache v2.x mod_proxy FastCGI Module</a></li></ul>
<div role="navigation" class="navbox" aria-labelledby="Web_interfaces" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner mw-made-collapsible" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><span class="mw-collapsible-toggle mw-collapsible-toggle-default" role="button" tabindex="0" aria-expanded="true"><a class="mw-collapsible-text">hide</a></span><style data-mw-deduplicate="TemplateStyles:r992953826">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}.mw-parser-output .infobox .navbar{font-size:100%}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="https://en.wikipedia.org/wiki/Template:Web_interfaces" title="Template:Web interfaces"><abbr title="View this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;;text-decoration:inherit;">v</abbr></a></li><li class="nv-talk"><a href="https://en.wikipedia.org/wiki/Template_talk:Web_interfaces" title="Template talk:Web interfaces"><abbr title="Discuss this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;;text-decoration:inherit;">t</abbr></a></li><li class="nv-edit"><a class="external text" href="https://en.wikipedia.org/w/index.php?title=Template:Web_interfaces&action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;box-shadow:none;padding:0;;text-decoration:inherit;">e</abbr></a></li></ul></div><div id="Web_interfaces" style="font-size:114%;margin:0 4em"><a href="https://en.wikipedia.org/wiki/Web_API" title="Web API">Web interfaces</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="https://en.wikipedia.org/wiki/Server-side" title="Server-side">Server-side</a></th><td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="https://en.wikipedia.org/wiki/Communication_protocol" title="Communication protocol">Protocols</a></th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol" title="Hypertext Transfer Protocol">HTTP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface" title="Common Gateway Interface">CGI</a></li>
<li><a href="https://en.wikipedia.org/wiki/Simple_Common_Gateway_Interface" title="Simple Common Gateway Interface">SCGI</a></li>
<li><a class="mw-selflink selflink">FCGI</a></li>
<li><a href="https://en.wikipedia.org/wiki/Apache_JServ_Protocol" title="Apache JServ Protocol">AJP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Web_Services_for_Remote_Portlets" title="Web Services for Remote Portlets">WSRP</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebSocket" title="WebSocket">WebSocket</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="https://en.wikipedia.org/wiki/Server_Application_Programming_Interface" title="Server Application Programming Interface">Server APIs</a></th><td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="https://en.wikipedia.org/wiki/Netscape_Server_Application_Programming_Interface" title="Netscape Server Application Programming Interface">C NSAPI</a></li>
<li><a href="https://en.wikipedia.org/wiki/Apache_HTTP_Server#Feature_overview" title="Apache HTTP Server">C ASAPI</a></li>
<li><a href="https://en.wikipedia.org/wiki/Internet_Server_Application_Programming_Interface" title="Internet Server Application Programming Interface">C ISAPI</a></li>
<li><a href="https://en.wikipedia.org/wiki/Active_Server_Pages" title="Active Server Pages">COM ASP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Jakarta_Servlet" title="Jakarta Servlet">Jakarta Servlet</a>
<ul><li><a href="https://en.wikipedia.org/wiki/Web_container" title="Web container">container</a></li></ul></li>
<li><a href="https://en.wikipedia.org/wiki/Open_Web_Interface_for_.NET" title="Open Web Interface for .NET">CLI OWIN</a></li>
<li><a href="https://en.wikipedia.org/wiki/HTTP_handler" title="HTTP handler">ASP.NET Handler</a></li>
<li><a href="https://en.wikipedia.org/wiki/Web_Server_Gateway_Interface" title="Web Server Gateway Interface">Python WSGI</a></li>
<li><a href="https://en.wikipedia.org/wiki/Rack_(web_server_interface)" title="Rack (web server interface)">Ruby Rack</a></li>
<li><a href="https://en.wikipedia.org/wiki/JSGI" title="JSGI">JavaScript JSGI</a></li>
<li><a href="https://en.wikipedia.org/wiki/Plack_(software)" title="Plack (software)">Perl PSGI</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_Portlet_Specification" title="Java Portlet Specification">Portlet</a>
<ul><li><a href="https://en.wikipedia.org/wiki/Java_Portlet_Specification" title="Java Portlet Specification">container</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="https://en.wikipedia.org/wiki/List_of_Apache_modules" title="List of Apache modules">Apache modules</a></th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="https://en.wikipedia.org/wiki/Server_Side_Includes" title="Server Side Includes">mod_include</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mod_jk" title="Mod jk">mod_jk</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mod_lisp" title="Mod lisp">mod_lisp</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mod_mono" title="Mod mono">mod_mono</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mod_parrot" title="Mod parrot">mod_parrot</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mod_perl" title="Mod perl">mod_perl</a></li>
<li><a href="https://en.wikipedia.org/wiki/PHP" title="PHP">mod_php</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mod_proxy" title="Mod proxy">mod_proxy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mod_python" title="Mod python">mod_python</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mod_wsgi" title="Mod wsgi">mod_wsgi</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mod_ruby" title="Mod ruby">mod_ruby</a></li>
<li><a href="https://en.wikipedia.org/wiki/Phusion_Passenger" title="Phusion Passenger">Phusion Passenger</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Topics</th><td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="https://en.wikipedia.org/wiki/Web_resource" title="Web resource">Web resource</a> vs. <a href="https://en.wikipedia.org/wiki/Web_service" title="Web service">Web service</a></li>
<li><a href="https://en.wikipedia.org/wiki/Open_API" title="Open API">Open API</a></li>
<li><a href="https://en.wikipedia.org/wiki/Webhook" title="Webhook">Webhook</a></li>
<li><a href="https://en.wikipedia.org/wiki/Application_server" title="Application server">Application server</a>
<ul><li><a href="https://en.wikipedia.org/wiki/List_of_application_servers" title="List of application servers">comparison</a></li></ul></li>
<li><a href="https://en.wikipedia.org/wiki/Server-side_scripting" title="Server-side scripting">Scripting</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="https://en.wikipedia.org/wiki/Client-side" title="Client-side">Client-side</a></th><td class="navbox-list navbox-odd hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="https://en.wikipedia.org/wiki/Plug-in_(computing)" title="Plug-in (computing)">Browser APIs</a></th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="https://en.wikipedia.org/wiki/NPAPI" title="NPAPI">C NPAPI</a>
<ul><li><a href="https://en.wikipedia.org/wiki/NPAPI#LiveConnect" title="NPAPI">LiveConnect</a></li>
<li><a href="https://en.wikipedia.org/wiki/NPAPI#XPConnect" title="NPAPI">XPConnect</a></li></ul></li>
<li><a href="https://en.wikipedia.org/wiki/NPAPI#NPRuntime" title="NPAPI">C NPRuntime</a></li>
<li><a href="https://en.wikipedia.org/wiki/Google_Native_Client#Pepper" title="Google Native Client">C PPAPI</a>
<ul><li><a href="https://en.wikipedia.org/wiki/Google_Native_Client" title="Google Native Client">NaCl</a></li></ul></li>
<li><a href="https://en.wikipedia.org/wiki/ActiveX" title="ActiveX">ActiveX</a></li>
<li><a href="https://en.wikipedia.org/wiki/Browser_Helper_Object" title="Browser Helper Object">BHO</a></li>
<li><a href="https://en.wikipedia.org/wiki/XAML_Browser_Applications" title="XAML Browser Applications">XBAP</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="https://en.wikipedia.org/wiki/Web_API#Client_side" title="Web API">Web APIs</a></th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="https://en.wikipedia.org/wiki/World_Wide_Web_Consortium" title="World Wide Web Consortium">W3C</a></th><td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="https://en.wikipedia.org/wiki/HTML5_audio" title="HTML5 audio">Audio</a></li>
<li><a href="https://en.wikipedia.org/wiki/Canvas_element" title="Canvas element">Canvas</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cross-origin_resource_sharing" title="Cross-origin resource sharing">CORS</a></li>
<li><a href="https://en.wikipedia.org/wiki/Document_Object_Model" title="Document Object Model">DOM</a></li>
<li><a href="https://en.wikipedia.org/wiki/DOM_events" title="DOM events">DOM events</a></li>
<li><a href="https://en.wikipedia.org/wiki/Encrypted_Media_Extensions" title="Encrypted Media Extensions">EME</a></li>
<li><a href="https://en.wikipedia.org/wiki/HTML5_File_API" title="HTML5 File API">File</a></li>
<li><a href="https://en.wikipedia.org/wiki/W3C_Geolocation_API" title="W3C Geolocation API">Geolocation</a></li>
<li><a href="https://en.wikipedia.org/wiki/Indexed_Database_API" title="Indexed Database API">IndexedDB</a></li>
<li><a href="https://en.wikipedia.org/wiki/Media_Source_Extensions" title="Media Source Extensions">MSE</a></li>
<li><a href="https://en.wikipedia.org/wiki/Server-sent_events" title="Server-sent events">SSE</a></li>
<li><a href="https://en.wikipedia.org/wiki/Scalable_Vector_Graphics" title="Scalable Vector Graphics">SVG</a></li>
<li><a href="https://en.wikipedia.org/wiki/HTML5_video" title="HTML5 video">Video</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebAuthn" title="WebAuthn">WebAuthn</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebGPU" title="WebGPU">WebGPU</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebRTC" title="WebRTC">WebRTC</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebSocket" title="WebSocket">WebSocket</a></li>
<li><a href="https://en.wikipedia.org/wiki/Web_Messaging" title="Web Messaging">Web messaging</a></li>
<li><a href="https://en.wikipedia.org/wiki/Web_storage" title="Web storage">Web storage</a></li>
<li><a href="https://en.wikipedia.org/wiki/Web_worker" title="Web worker">Web worker</a></li>
<li><a href="https://en.wikipedia.org/wiki/XMLHttpRequest" title="XMLHttpRequest">XMLHttpRequest</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebAssembly" title="WebAssembly">WebAssembly</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="https://en.wikipedia.org/wiki/Khronos_Group" title="Khronos Group">Khronos</a></th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="https://en.wikipedia.org/wiki/WebCL" title="WebCL">WebCL</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebGL" title="WebGL">WebGL</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Others</th><td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="https://en.wikipedia.org/wiki/Gears_(software)" title="Gears (software)">Gears</a></li>
<li><a href="https://en.wikipedia.org/wiki/Web_SQL_Database" title="Web SQL Database">Web SQL Database</a> (formerly W3C)</li>
<li><a href="https://en.wikipedia.org/wiki/WebUSB" title="WebUSB">WebUSB</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Topics</th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="https://en.wikipedia.org/wiki/Ajax_(programming)" title="Ajax (programming)">Ajax</a> and <a href="https://en.wikipedia.org/wiki/Remote_scripting" title="Remote scripting">Remote scripting</a> vs. <a href="https://en.wikipedia.org/wiki/Dynamic_HTML" title="Dynamic HTML">DHTML</a></li>
<li><a href="https://en.wikipedia.org/wiki/Browser_extension" title="Browser extension">Browser extension</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mashup_(web_application_hybrid)" title="Mashup (web application hybrid)">Mashup</a></li>
<li><a href="https://en.wikipedia.org/wiki/Web_IDL" title="Web IDL">Web IDL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Client-side_scripting" class="mw-redirect" title="Client-side scripting">Scripting</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Topics</th><td class="navbox-list navbox-even hlist" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="https://en.wikipedia.org/wiki/Web_page" title="Web page">Web page</a>
<ul><li><a href="https://en.wikipedia.org/wiki/Static_web_page" title="Static web page">Static</a></li>
<li><a href="https://en.wikipedia.org/wiki/Dynamic_web_page" title="Dynamic web page">Dynamic</a></li></ul></li>
<li><a href="https://en.wikipedia.org/wiki/Web_standards" title="Web standards">Web standards</a></li>
<li><a href="https://en.wikipedia.org/wiki/Web_API_security" title="Web API security">Web API security</a></li>
<li><a href="https://en.wikipedia.org/wiki/Web_application" title="Web application">Web application</a>
<ul><li><a href="https://en.wikipedia.org/wiki/Rich_web_application" title="Rich web application">Rich</a></li>
<li><a href="https://en.wikipedia.org/wiki/Single-page_application" title="Single-page application">Single-page</a></li>
<li><a href="https://en.wikipedia.org/wiki/Progressive_web_application" title="Progressive web application">Progressive</a></li></ul></li>
<li><a href="https://en.wikipedia.org/wiki/Web_framework" title="Web framework">Web framework</a></li></ul>
</div></td></tr></tbody></table></div>
<!--
NewPP limit report
Parsed by mw2316
Cached time: 20210824220200
Cache expiry: 1814400
Reduced expiry: false
Complications: [vary‐revision‐sha1]
CPU time usage: 0.354 seconds
Real time usage: 0.469 seconds
Preprocessor visited node count: 1307/1000000
Post‐expand include size: 60682/2097152 bytes
Template argument size: 5187/2097152 bytes
Highest expansion depth: 13/40
Expensive parser function count: 3/500
Unstrip recursion depth: 1/20
Unstrip post‐expand size: 34500/5000000 bytes
Lua time usage: 0.164/10.000 seconds
Lua memory usage: 4402070/52428800 bytes
Number of Wikibase entities loaded: 0/400
-->
<!--
Transclusion expansion time report (%,ms,calls,template)
100.00% 390.276 1 -total
35.64% 139.103 1 Template:Reflist
27.08% 105.682 7 Template:Cite_web
21.14% 82.492 1 Template:More_footnotes
15.81% 61.710 1 Template:Ambox
10.54% 41.148 1 Template:Columns-list
10.10% 39.403 1 Template:Redirect-synonym
9.85% 38.452 4 Template:Navbox
8.88% 34.667 1 Template:Hatnote
8.86% 34.590 1 Template:Web_interfaces
-->
<!-- Saved in parser cache with key enwiki:pcache:idhash:30872021-0!canonical and timestamp 20210824220159 and revision id 1040339341. Serialized with JSON.
-->
</div><noscript><img src="//en.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;" /></noscript>
<div class="printfooter">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=FastCGI&oldid=1040339341">https://en.wikipedia.org/w/index.php?title=FastCGI&oldid=1040339341</a>"</div></div>
<div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="https://en.wikipedia.org/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="https://en.wikipedia.org/wiki/Category:Web_technology" title="Category:Web technology">Web technology</a></li><li><a href="https://en.wikipedia.org/wiki/Category:World_Wide_Web" title="Category:World Wide Web">World Wide Web</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="https://en.wikipedia.org/wiki/Category:CS1_maint:_archived_copy_as_title" title="Category:CS1 maint: archived copy as title">CS1 maint: archived copy as title</a></li><li><a href="https://en.wikipedia.org/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template wayback links">Webarchive template wayback links</a></li><li><a href="https://en.wikipedia.org/wiki/Category:Articles_lacking_in-text_citations_from_June_2010" title="Category:Articles lacking in-text citations from June 2010">Articles lacking in-text citations from June 2010</a></li><li><a href="https://en.wikipedia.org/wiki/Category:All_articles_lacking_in-text_citations" title="Category:All articles lacking in-text citations">All articles lacking in-text citations</a></li><li><a href="https://en.wikipedia.org/wiki/Category:Articles_containing_potentially_dated_statements_from_2020" title="Category:Articles containing potentially dated statements from 2020">Articles containing potentially dated statements from 2020</a></li><li><a href="https://en.wikipedia.org/wiki/Category:All_articles_containing_potentially_dated_statements" title="Category:All articles containing potentially dated statements">All articles containing potentially dated statements</a></li></ul></div></div>
</div>
</div>
<div id="mw-data-after-content">
<div class="read-more-container"></div>
</div>
<div id="mw-navigation">
<h2>Navigation menu</h2>
<div id="mw-head">
<nav id="p-personal" class="mw-portlet mw-portlet-personal vector-user-menu-legacy vector-menu" aria-labelledby="p-personal-label" role="navigation">
<h3 id="p-personal-label" class="vector-menu-heading"><span>Personal tools</span>
</h3>
<div class="vector-menu-content">
<ul class="vector-menu-content-list"><li id="pt-anonuserpage">Not logged in</li><li id="pt-anontalk"><a href="https://en.wikipedia.org/wiki/Special:MyTalk" title="Discussion about edits from this IP address [alt-shift-n]" accesskey="n">Talk</a></li><li id="pt-anoncontribs"><a href="https://en.wikipedia.org/wiki/Special:MyContributions" title="A list of edits made from this IP address [alt-shift-y]" accesskey="y">Contributions</a></li><li id="pt-createaccount"><a href="https://en.wikipedia.org/w/index.php?title=Special:CreateAccount&returnto=FastCGI" title="You are encouraged to create an account and log in; however, it is not mandatory">Create account</a></li><li id="pt-login"><a href="https://en.wikipedia.org/w/index.php?title=Special:UserLogin&returnto=FastCGI" title="You're encouraged to log in; however, it's not mandatory. [alt-shift-o]" accesskey="o">Log in</a></li></ul>
</div>
</nav>
<div id="left-navigation">
<nav id="p-namespaces" class="mw-portlet mw-portlet-namespaces vector-menu vector-menu-tabs" aria-labelledby="p-namespaces-label" role="navigation">
<h3 id="p-namespaces-label" class="vector-menu-heading"><span>Namespaces</span>
</h3>
<div class="vector-menu-content">
<ul class="vector-menu-content-list"><li id="ca-nstab-main" class="selected"><a href="https://en.wikipedia.org/wiki/FastCGI" title="View the content page [alt-shift-c]" accesskey="c">Article</a></li><li id="ca-talk"><a href="https://en.wikipedia.org/wiki/Talk:FastCGI" rel="discussion" title="Discuss improvements to the content page [alt-shift-t]" accesskey="t">Talk</a></li></ul>
</div>
</nav>
<nav id="p-variants" class="mw-portlet mw-portlet-variants emptyPortlet vector-menu vector-menu-dropdown" aria-labelledby="p-variants-label" role="navigation">
<input type="checkbox" data-event-name="ui.dropdown-p-variants" class="vector-menu-checkbox" aria-labelledby="p-variants-label">
<h3 id="p-variants-label" class="vector-menu-heading"><span>Variants</span>
</h3>
<div class="vector-menu-content">
<ul class="vector-menu-content-list"></ul>
</div>
</nav>
</div>
<div id="right-navigation">
<nav id="p-views" class="mw-portlet mw-portlet-views vector-menu vector-menu-tabs" aria-labelledby="p-views-label" role="navigation">
<h3 id="p-views-label" class="vector-menu-heading"><span>Views</span>
</h3>
<div class="vector-menu-content">
<ul class="vector-menu-content-list"><li id="ca-view" class="selected collapsible"><a href="https://en.wikipedia.org/wiki/FastCGI">Read</a></li><li id="ca-edit" class="collapsible"><a href="https://en.wikipedia.org/w/index.php?title=FastCGI&action=edit" title="Edit this page [alt-shift-e]" accesskey="e">Edit</a></li><li id="ca-history" class="collapsible"><a href="https://en.wikipedia.org/w/index.php?title=FastCGI&action=history" title="Past revisions of this page [alt-shift-h]" accesskey="h">View history</a></li></ul>
</div>
</nav>
<nav id="p-cactions" class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu vector-menu-dropdown" aria-labelledby="p-cactions-label" role="navigation">
<input type="checkbox" data-event-name="ui.dropdown-p-cactions" class="vector-menu-checkbox" aria-labelledby="p-cactions-label">
<h3 id="p-cactions-label" class="vector-menu-heading"><span>More</span>
</h3>
<div class="vector-menu-content">
<ul class="vector-menu-content-list"></ul>
</div>
</nav>
<div id="p-search" role="search" class="vector-search-box">
<div>
<h3>
<label for="searchInput">Search</label>
</h3>
<form action="https://en.wikipedia.org/w/index.php" id="searchform">
<div id="simpleSearch" data-search-loc="header-navigation">
<input type="search" name="search" placeholder="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [alt-shift-f]" accesskey="f" id="searchInput">
<input type="hidden" name="title" value="Special:Search">
<input type="submit" name="fulltext" value="Search" title="Search Wikipedia for this text" id="mw-searchButton" class="searchButton mw-fallbackSearchButton">
<input type="submit" name="go" value="Go" title="Go to a page with this exact name if it exists" id="searchButton" class="searchButton">
</div>
</form>
</div>
</div>
</div>
</div>
<div id="mw-panel">
<div id="p-logo" role="banner">
<a class="mw-wiki-logo" href="https://en.wikipedia.org/wiki/Main_Page" title="Visit the main page"></a>
</div>
<nav id="p-navigation" class="mw-portlet mw-portlet-navigation vector-menu vector-menu-portal portal" aria-labelledby="p-navigation-label" role="navigation">
<h3 id="p-navigation-label" class="vector-menu-heading"><span>Navigation</span>
</h3>
<div class="vector-menu-content">
<ul class="vector-menu-content-list"><li id="n-mainpage-description"><a href="https://en.wikipedia.org/wiki/Main_Page" title="Visit the main page [alt-shift-z]" accesskey="z">Main page</a></li><li id="n-contents"><a href="https://en.wikipedia.org/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia">Contents</a></li><li id="n-currentevents"><a href="https://en.wikipedia.org/wiki/Portal:Current_events" title="Articles related to current events">Current events</a></li><li id="n-randompage"><a href="https://en.wikipedia.org/wiki/Special:Random" title="Visit a randomly selected article [alt-shift-x]" accesskey="x">Random article</a></li><li id="n-aboutsite"><a href="https://en.wikipedia.org/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works">About Wikipedia</a></li><li id="n-contactpage"><a href="https://en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia">Contact us</a></li><li id="n-sitesupport"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" title="Support us by donating to the Wikimedia Foundation">Donate</a></li></ul>
</div>
</nav>
<nav id="p-interaction" class="mw-portlet mw-portlet-interaction vector-menu vector-menu-portal portal" aria-labelledby="p-interaction-label" role="navigation">
<h3 id="p-interaction-label" class="vector-menu-heading"><span>Contribute</span>
</h3>
<div class="vector-menu-content">
<ul class="vector-menu-content-list"><li id="n-help"><a href="https://en.wikipedia.org/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia">Help</a></li><li id="n-introduction"><a href="https://en.wikipedia.org/wiki/Help:Introduction" title="Learn how to edit Wikipedia">Learn to edit</a></li><li id="n-portal"><a href="https://en.wikipedia.org/wiki/Wikipedia:Community_portal" title="The hub for editors">Community portal</a></li><li id="n-recentchanges"><a href="https://en.wikipedia.org/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [alt-shift-r]" accesskey="r">Recent changes</a></li><li id="n-upload"><a href="https://en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Add images or other media for use on Wikipedia">Upload file</a></li></ul>
</div>
</nav>
<nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu vector-menu-portal portal" aria-labelledby="p-tb-label" role="navigation">
<h3 id="p-tb-label" class="vector-menu-heading"><span>Tools</span>
</h3>
<div class="vector-menu-content">
<ul class="vector-menu-content-list"><li id="t-whatlinkshere"><a href="https://en.wikipedia.org/wiki/Special:WhatLinksHere/FastCGI" title="List of all English Wikipedia pages containing links to this page [alt-shift-j]" accesskey="j">What links here</a></li><li id="t-recentchangeslinked"><a href="https://en.wikipedia.org/wiki/Special:RecentChangesLinked/FastCGI" rel="nofollow" title="Recent changes in pages linked from this page [alt-shift-k]" accesskey="k">Related changes</a></li><li id="t-upload"><a href="https://en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [alt-shift-u]" accesskey="u">Upload file</a></li><li id="t-specialpages"><a href="https://en.wikipedia.org/wiki/Special:SpecialPages" title="A list of all special pages [alt-shift-q]" accesskey="q">Special pages</a></li><li id="t-permalink"><a href="https://en.wikipedia.org/w/index.php?title=FastCGI&oldid=1040339341" title="Permanent link to this revision of this page">Permanent link</a></li><li id="t-info"><a href="https://en.wikipedia.org/w/index.php?title=FastCGI&action=info" title="More information about this page">Page information</a></li><li id="t-cite"><a href="https://en.wikipedia.org/w/index.php?title=Special:CiteThisPage&page=FastCGI&id=1040339341&wpFormIdentifier=titleform" title="Information on how to cite this page">Cite this page</a></li><li id="t-wikibase"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q1397631" title="Structured data on this page hosted by Wikidata [alt-shift-g]" accesskey="g">Wikidata item</a></li></ul>
</div>
</nav>
<nav id="p-coll-print_export" class="mw-portlet mw-portlet-coll-print_export vector-menu vector-menu-portal portal" aria-labelledby="p-coll-print_export-label" role="navigation">
<h3 id="p-coll-print_export-label" class="vector-menu-heading"><span>Print/export</span>
</h3>
<div class="vector-menu-content">
<ul class="vector-menu-content-list"><li id="coll-download-as-rl"><a href="https://en.wikipedia.org/w/index.php?title=Special:DownloadAsPdf&page=FastCGI&action=show-download-screen" title="Download this page as a PDF file">Download as PDF</a></li><li id="t-print"><a href="https://en.wikipedia.org/w/index.php?title=FastCGI&printable=yes" title="Printable version of this page [alt-shift-p]" accesskey="p">Printable version</a></li></ul>
</div>
</nav>
<nav id="p-lang" class="mw-portlet mw-portlet-lang vector-menu vector-menu-portal portal" aria-labelledby="p-lang-label" role="navigation"><button class="uls-settings-trigger" title="Language settings"></button>
<h3 id="p-lang-label" class="vector-menu-heading"><span>Languages</span>
</h3>
<div class="vector-menu-content">
<ul class="vector-menu-content-list"><li class="interlanguage-link interwiki-ca" style="display: none;"><a href="https://ca.wikipedia.org/wiki/FastCGI" title="FastCGI – Catalan" lang="ca" hreflang="ca" class="interlanguage-link-target">Català</a></li><li class="interlanguage-link interwiki-cs" style="display: none;"><a href="https://cs.wikipedia.org/wiki/FastCGI" title="FastCGI – Czech" lang="cs" hreflang="cs" class="interlanguage-link-target">Čeština</a></li><li class="interlanguage-link interwiki-de" style=""><a href="https://de.wikipedia.org/wiki/FastCGI" title="FastCGI – German" lang="de" hreflang="de" class="interlanguage-link-target">Deutsch</a></li><li class="interlanguage-link interwiki-es" style=""><a href="https://es.wikipedia.org/wiki/FastCGI" title="FastCGI – Spanish" lang="es" hreflang="es" class="interlanguage-link-target">Español</a></li><li class="interlanguage-link interwiki-fa" style=""><a href="https://fa.wikipedia.org/wiki/%D9%88%D8%A7%D8%B3%D8%B7_%D8%AF%D8%B1%D9%88%D8%A7%D8%B2%D9%87_%D9%85%D8%B4%D8%AA%D8%B1%DA%A9_%D8%B3%D8%B1%DB%8C%D8%B9" title="واسط دروازه مشترک سریع – Persian" lang="fa" hreflang="fa" class="interlanguage-link-target">فارسی</a></li><li class="interlanguage-link interwiki-fr" style=""><a href="https://fr.wikipedia.org/wiki/FastCGI" title="FastCGI – French" lang="fr" hreflang="fr" class="interlanguage-link-target">Français</a></li><li class="interlanguage-link interwiki-ko" style=""><a href="https://ko.wikipedia.org/wiki/FastCGI" title="FastCGI – Korean" lang="ko" hreflang="ko" class="interlanguage-link-target">한국어</a></li><li class="interlanguage-link interwiki-it" style=""><a href="https://it.wikipedia.org/wiki/FastCGI" title="FastCGI – Italian" lang="it" hreflang="it" class="interlanguage-link-target">Italiano</a></li><li class="interlanguage-link interwiki-nl" style="display: none;"><a href="https://nl.wikipedia.org/wiki/FastCGI" title="FastCGI – Dutch" lang="nl" hreflang="nl" class="interlanguage-link-target">Nederlands</a></li><li class="interlanguage-link interwiki-ja" style=""><a href="https://ja.wikipedia.org/wiki/FastCGI" title="FastCGI – Japanese" lang="ja" hreflang="ja" class="interlanguage-link-target">日本語</a></li><li class="interlanguage-link interwiki-pl" style="display: none;"><a href="https://pl.wikipedia.org/wiki/FastCGI" title="FastCGI – Polish" lang="pl" hreflang="pl" class="interlanguage-link-target">Polski</a></li><li class="interlanguage-link interwiki-ru" style=""><a href="https://ru.wikipedia.org/wiki/FastCGI" title="FastCGI – Russian" lang="ru" hreflang="ru" class="interlanguage-link-target">Русский</a></li><li class="interlanguage-link interwiki-uk" style="display: none;"><a href="https://uk.wikipedia.org/wiki/FastCGI" title="FastCGI – Ukrainian" lang="uk" hreflang="uk" class="interlanguage-link-target">Українська</a></li><li class="interlanguage-link interwiki-zh" style=""><a href="https://zh.wikipedia.org/wiki/FastCGI" title="FastCGI – Chinese" lang="zh" hreflang="zh" class="interlanguage-link-target">中文</a></li><button class="mw-interlanguage-selector mw-ui-button" title="All languages (initial selection from common choices by you and others)">5 more</button></ul>
<div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q1397631#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div>
</div>
</nav>
</div>
</div>
<footer id="footer" class="mw-footer" role="contentinfo">
<ul id="footer-info">
<li id="footer-info-lastmod"> This page was last edited on 24 August 2021, at 00:31<span class="anonymous-show"> (UTC)</span>.</li>
<li id="footer-info-copyright">Text is available under the <a rel="license" href="https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License">Creative Commons Attribution-ShareAlike License</a><a rel="license" href="https://creativecommons.org/licenses/by-sa/3.0/" style="display:none;"></a>;
additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Terms_of_Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Privacy_policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a href="https://www.wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li>
</ul>
<ul id="footer-places">
<li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Privacy_policy" class="extiw" title="wmf:Privacy policy">Privacy policy</a></li>
<li id="footer-places-about"><a href="https://en.wikipedia.org/wiki/Wikipedia:About" title="Wikipedia:About">About Wikipedia</a></li>
<li id="footer-places-disclaimer"><a href="https://en.wikipedia.org/wiki/Wikipedia:General_disclaimer" title="Wikipedia:General disclaimer">Disclaimers</a></li>
<li id="footer-places-contact"><a href="https://en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li>
<li id="footer-places-mobileview"><a href="https://en.m.wikipedia.org/w/index.php?title=FastCGI&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li>
<li id="footer-places-developers"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/How_to_contribute">Developers</a></li>
<li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li>
<li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Cookie_statement">Cookie statement</a></li>
<li style="display: none;"><a href="https://en.wikipedia.org/wiki/FastCGI#">Edit preview settings</a></li></ul>
<ul id="footer-icons" class="noprint">
<li id="footer-copyrightico"><a href="https://wikimediafoundation.org/"><img src="./FastCGI - Wikipedia_files/wikimedia-button.png" srcset="/static/images/footer/wikimedia-button-1.5x.png 1.5x, /static/images/footer/wikimedia-button-2x.png 2x" width="88" height="31" alt="Wikimedia Foundation" loading="lazy"></a></li>
<li id="footer-poweredbyico"><a href="https://www.mediawiki.org/"><img src="./FastCGI - Wikipedia_files/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/static/images/footer/poweredby_mediawiki_132x47.png 1.5x, /static/images/footer/poweredby_mediawiki_176x62.png 2x" width="88" height="31" loading="lazy"></a></li>
</ul>
</footer>
<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"0.354","walltime":"0.469","ppvisitednodes":{"value":1307,"limit":1000000},"postexpandincludesize":{"value":60682,"limit":2097152},"templateargumentsize":{"value":5187,"limit":2097152},"expansiondepth":{"value":13,"limit":40},"expensivefunctioncount":{"value":3,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":34500,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 390.276 1 -total"," 35.64% 139.103 1 Template:Reflist"," 27.08% 105.682 7 Template:Cite_web"," 21.14% 82.492 1 Template:More_footnotes"," 15.81% 61.710 1 Template:Ambox"," 10.54% 41.148 1 Template:Columns-list"," 10.10% 39.403 1 Template:Redirect-synonym"," 9.85% 38.452 4 Template:Navbox"," 8.88% 34.667 1 Template:Hatnote"," 8.86% 34.590 1 Template:Web_interfaces"]},"scribunto":{"limitreport-timeusage":{"value":"0.164","limit":"10.000"},"limitreport-memusage":{"value":4402070,"limit":52428800}},"cachereport":{"origin":"mw2316","timestamp":"20210824220200","ttl":1814400,"transientcontent":false}}});});</script>
<script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"FastCGI","url":"https:\/\/en.wikipedia.org\/wiki\/FastCGI","sameAs":"http:\/\/www.wikidata.org\/entity\/Q1397631","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q1397631","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2005-01-04T00:52:47Z","dateModified":"2021-08-24T00:31:14Z","headline":"communications protocol"}</script>
<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgBackendResponseTime":143,"wgHostname":"mw2275"});});</script>
<a accesskey="v" href="https://en.wikipedia.org/wiki/FastCGI?action=edit" class="oo-ui-element-hidden"></a></body></html>