Knowledge (XXG)

Internet Server Application Programming Interface

Source 📝

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:(

Index

n-tier
API
Internet Information Services
Microsoft
Windows
web server
Apache
Zeus Web Server
Microsoft
Internet Information Services
ASP.NET
VB.NET
C#
F#
CLR
MFC
ATL Server
DLLs
basic authentication
traffic analysis
Active Server Pages
ActiveVFP
ASP.NET
ColdFusion
Perl
PHP
Windows
Internet Information Services
ATL Server
SAPI

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.