141:
ISAPI filters are used to modify or enhance the functionality provided by IIS. They always run on an IIS server and filter every request until they find one they need to process. Filters can be programmed to examine and modify both incoming and outgoing streams of data. Internally programmed and
111:
ISAPI applications can be written using any language which allows the export of standard C functions, for instance C, C++, Delphi. There are a couple of libraries available which help to ease the development of ISAPI applications, and in Delphi Pascal the
Intraweb components for web-application
145:
Filters are implemented as DLLs and can be registered on an IIS server on a site level or a global level (i.e., they apply to all sites on an IIS server). Filters are initialised when the worker process is started and listens to all requests to the site on which it is installed.
107:
ISAPI consists of two components: Extensions and
Filters. These are the only two types of applications that can be developed using ISAPI. Both Filters and Extensions must be compiled into DLL files which are then registered with IIS to be run on the web server.
132:
that are loaded into a process that is controlled by IIS. Clients can access ISAPI extensions in the same way they access a static HTML page. Certain file extensions or a complete folder or site can be mapped to be handled by an ISAPI extension.
1105:
414:
128:
ISAPI Extensions are true applications that run on IIS. They have access to all of the functionality provided by IIS. ISAPI extensions are implemented as
406:
310:
268:
461:
113:
1061:
61:
module so that server-side web applications written for
Microsoft's IIS can be used with Apache. Other third-party web servers like
31:
249:
DLL. Wizards for generating ISAPI framework applications have been available in
Microsoft development tools since Visual C++ 4.0.
391:
935:
376:
590:
88:
84:
729:
258:
72:
35:
456:
303:
610:
466:
446:
160:
792:
486:
481:
79:
is one such slice of IIS, allowing a programmer to write web applications in their choice of programming language (
1009:
779:
692:
586:
371:
1014:
812:
296:
92:
498:
336:
25:
734:
687:
617:
386:
99:
is a much lower-level programming system, giving much better performance, at the expense of simplicity.
807:
675:
670:
506:
129:
1019:
802:
640:
429:
203:
917:
739:
605:
419:
54:
1067:
1057:
930:
561:
43:
999:
980:
945:
921:
891:
881:
476:
221:
46:-based web server services. The most prominent application of IIS and ISAPI is Microsoft's
1004:
975:
434:
62:
797:
769:
724:
1099:
1026:
987:
965:
852:
754:
439:
181:
120:
technology which includes a C++ library dedicated to developing ISAPI applications.
925:
581:
451:
245:
ISAPI applications can be developed using any development tool that can generate a
822:
759:
631:
577:
327:
246:
116:
includes classes for developing ISAPI applications. Additionally, there is the
75:, which is made up of a number of "sub-applications" and is very configurable.
764:
744:
719:
546:
526:
263:
142:
externally configured priorities determine in which order filters are called.
117:
47:
1071:
199:
This is a list of common ISAPI applications implemented as ISAPI extensions:
787:
749:
541:
396:
209:
68:
39:
970:
827:
595:
556:
551:
531:
521:
516:
1085:
940:
886:
702:
682:
600:
381:
319:
283:
215:
76:
897:
837:
832:
711:
511:
364:
354:
349:
80:
273:
865:
860:
842:
665:
658:
653:
648:
359:
1086:"PHP :: Bug #48299 :: Missing php5isapi.DLL in package"
288:
165:
Modifying or analyzing a request after authentication is complete
992:
471:
344:
227:
292:
817:
536:
278:
233:
159:
Controlling the user name and password used with anonymous or
177:
Run processing when a connection with the client is closed
153:
Changing request data (URLs or headers) sent by the client
1056:. Krutz, Ronald L. Indianapolis: Wiley Pub. p. 157.
236:, available for free to install, not maintained anymore.
171:
Running custom processing on "access denied" responses
156:
Controlling which physical file gets mapped to the URL
224:, later versions of ColdFusion are installable on IIS
1054:
Web commerce security : design and development
958:
910:
874:
851:
778:
710:
701:
639:
630:
570:
497:
405:
335:
326:
230:ISAPI (aka Perliis), available for free to install
149:Common tasks performed by ISAPI filters include:
18:Internet Server Application Programming Interface
304:
174:Running processing when a request is complete
168:Modifying a response going back to the client
71:'s web server application software is called
8:
1106:Microsoft application programming interfaces
707:
636:
332:
311:
297:
289:
218:, installed as standard on IIS 6.0 onwards
91:) that's supported by the Microsoft .NET
1044:
212:, Active Visual FoxPro installed on IIS
53:The ISAPI has also been implemented by
7:
190:Handling encryption and compression.
14:
187:Performing custom authentication.
180:Performing special logging or
1:
259:Internet Information Services
73:Internet Information Services
65:offer ISAPI interfaces, too.
36:Internet Information Services
206:(ASP), installed as standard
1122:
195:Common ISAPI applications
1052:Hadi., Nahari (2011).
161:basic authentication
204:Active Server Pages
606:Application server
103:ISAPI applications
1035:
1034:
954:
953:
931:Browser extension
906:
905:
626:
625:
562:Phusion Passenger
241:ISAPI development
42:'s collection of
1113:
1090:
1089:
1082:
1076:
1075:
1049:
1000:Web API security
922:Remote scripting
892:Web SQL Database
708:
637:
333:
313:
306:
299:
290:
182:traffic analysis
60:
1121:
1120:
1116:
1115:
1114:
1112:
1111:
1110:
1096:
1095:
1094:
1093:
1084:
1083:
1079:
1064:
1051:
1050:
1046:
1041:
1036:
1031:
1005:Web application
950:
902:
870:
847:
774:
697:
622:
566:
493:
472:JavaScript JSGI
452:ASP.NET Handler
435:Jakarta Servlet
401:
322:
317:
255:
243:
197:
139:
126:
105:
63:Zeus Web Server
58:
12:
11:
5:
1119:
1117:
1109:
1108:
1098:
1097:
1092:
1091:
1077:
1062:
1043:
1042:
1040:
1037:
1033:
1032:
1030:
1029:
1024:
1023:
1022:
1017:
1012:
1002:
997:
996:
995:
985:
984:
983:
978:
968:
962:
960:
956:
955:
952:
951:
949:
948:
943:
938:
933:
928:
914:
912:
908:
907:
904:
903:
901:
900:
895:
894:(formerly W3C)
889:
884:
878:
876:
872:
871:
869:
868:
863:
857:
855:
849:
848:
846:
845:
840:
835:
830:
825:
820:
815:
810:
805:
800:
795:
790:
784:
782:
776:
775:
773:
772:
770:XMLHttpRequest
767:
762:
757:
752:
747:
742:
737:
732:
727:
722:
716:
714:
705:
699:
698:
696:
695:
690:
685:
680:
679:
678:
668:
663:
662:
661:
656:
645:
643:
634:
628:
627:
624:
623:
621:
620:
615:
614:
613:
603:
598:
593:
584:
574:
572:
568:
567:
565:
564:
559:
554:
549:
544:
539:
534:
529:
524:
519:
514:
509:
503:
501:
499:Apache modules
495:
494:
492:
491:
490:
489:
479:
474:
469:
464:
459:
454:
449:
444:
443:
442:
432:
427:
422:
417:
411:
409:
403:
402:
400:
399:
394:
389:
384:
379:
374:
369:
368:
367:
362:
357:
352:
341:
339:
330:
324:
323:
320:Web interfaces
318:
316:
315:
308:
301:
293:
287:
286:
281:
276:
271:
266:
261:
254:
251:
242:
239:
238:
237:
231:
225:
219:
213:
207:
196:
193:
192:
191:
188:
185:
178:
175:
172:
169:
166:
163:
157:
154:
138:
135:
125:
122:
112:development.
104:
101:
13:
10:
9:
6:
4:
3:
2:
1118:
1107:
1104:
1103:
1101:
1087:
1081:
1078:
1073:
1069:
1065:
1063:9781118098899
1059:
1055:
1048:
1045:
1038:
1028:
1027:Web framework
1025:
1021:
1018:
1016:
1013:
1011:
1008:
1007:
1006:
1003:
1001:
998:
994:
991:
990:
989:
988:Web standards
986:
982:
979:
977:
974:
973:
972:
969:
967:
966:Microservices
964:
963:
961:
957:
947:
944:
942:
939:
937:
934:
932:
929:
927:
923:
919:
916:
915:
913:
909:
899:
896:
893:
890:
888:
885:
883:
880:
879:
877:
873:
867:
864:
862:
859:
858:
856:
854:
850:
844:
841:
839:
836:
834:
831:
829:
826:
824:
821:
819:
816:
814:
811:
809:
806:
804:
801:
799:
796:
794:
791:
789:
786:
785:
783:
781:
777:
771:
768:
766:
763:
761:
758:
756:
755:Web messaging
753:
751:
748:
746:
743:
741:
738:
736:
733:
731:
728:
726:
723:
721:
718:
717:
715:
713:
709:
706:
704:
700:
694:
691:
689:
686:
684:
681:
677:
674:
673:
672:
669:
667:
664:
660:
657:
655:
652:
651:
650:
647:
646:
644:
642:
638:
635:
633:
629:
619:
616:
612:
609:
608:
607:
604:
602:
599:
597:
594:
592:
588:
585:
583:
579:
576:
575:
573:
569:
563:
560:
558:
555:
553:
550:
548:
545:
543:
540:
538:
535:
533:
530:
528:
525:
523:
520:
518:
515:
513:
510:
508:
505:
504:
502:
500:
496:
488:
485:
484:
483:
480:
478:
475:
473:
470:
468:
465:
463:
460:
458:
455:
453:
450:
448:
445:
441:
438:
437:
436:
433:
431:
428:
426:
423:
421:
418:
416:
413:
412:
410:
408:
404:
398:
395:
393:
390:
388:
385:
383:
380:
378:
375:
373:
370:
366:
363:
361:
358:
356:
353:
351:
348:
347:
346:
343:
342:
340:
338:
334:
331:
329:
325:
321:
314:
309:
307:
302:
300:
295:
294:
291:
285:
282:
280:
277:
275:
272:
270:
267:
265:
262:
260:
257:
256:
252:
250:
248:
240:
235:
232:
229:
226:
223:
220:
217:
214:
211:
208:
205:
202:
201:
200:
194:
189:
186:
183:
179:
176:
173:
170:
167:
164:
162:
158:
155:
152:
151:
150:
147:
143:
136:
134:
131:
123:
121:
119:
115:
109:
102:
100:
98:
94:
90:
86:
82:
78:
74:
70:
66:
64:
56:
51:
49:
45:
41:
37:
33:
30:
28:
23:
19:
1080:
1053:
1047:
641:Browser APIs
582:Web resource
424:
244:
198:
148:
144:
140:
127:
110:
106:
96:
67:
52:
26:
21:
17:
15:
1020:Progressive
1015:Single-page
823:WebAssembly
803:Geolocation
760:Web storage
666:C NPRuntime
654:LiveConnect
632:Client-side
578:Web service
507:mod_include
462:Python ASGI
457:Python WSGI
407:Server APIs
328:Server-side
1039:References
788:DOM events
765:Web worker
750:WebSockets
611:comparison
547:mod_python
527:mod_parrot
360:Encryption
264:ATL Server
222:ColdFusion
124:Extensions
118:ATL Server
48:web server
1072:757394142
946:Scripting
808:IndexedDB
659:XPConnect
618:Scripting
542:mod_proxy
487:container
477:Perl PSGI
467:Ruby Rack
440:container
397:WebSocket
337:Protocols
210:ActiveVFP
69:Microsoft
59:mod_isapi
40:Microsoft
1100:Category
971:Web page
828:WebAuthn
703:Web APIs
596:Open API
557:mod_ruby
552:mod_wsgi
532:mod_perl
522:mod_mono
517:mod_lisp
447:CLI OWIN
253:See also
24:) is an
981:Dynamic
941:Web IDL
887:GraphQL
853:Khronos
683:ActiveX
671:C PPAPI
649:C NPAPI
601:Webhook
537:mod_php
482:Portlet
430:COM ASP
425:C ISAPI
420:C ASAPI
415:C NSAPI
284:FastCGI
247:Windows
216:ASP.NET
137:Filters
77:ASP.NET
44:Windows
38:(IIS),
1070:
1060:
976:Static
959:Topics
936:Mashup
911:Topics
898:WebUSB
875:Others
838:WebRTC
833:WebGPU
725:Canvas
712:WHATWG
571:Topics
512:mod_jk
365:WebDAV
81:VB.NET
55:Apache
926:DHTML
882:Gears
866:WebGL
861:WebCL
843:WebXR
745:Video
720:Audio
97:ISAPI
29:-tier
22:ISAPI
1068:OCLC
1058:ISBN
1010:Rich
993:REST
924:vs.
920:and
918:Ajax
798:File
730:CORS
693:XBAP
676:NaCl
589:vs.
580:vs.
392:WSRP
382:FCGI
377:SCGI
345:HTTP
269:SAPI
228:Perl
130:DLLs
50:.
16:The
818:SVG
813:MSE
793:EME
780:W3C
740:SSE
735:DOM
688:BHO
591:ROA
587:WOA
387:AJP
372:CGI
279:PHP
274:C++
234:PHP
114:MFC
93:CLR
57:'s
34:of
32:API
1102::
1066:.
355:v3
350:v2
95:.
89:F#
87:,
85:C#
83:,
1088:.
1074:.
312:e
305:t
298:v
184:.
27:n
20:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.