Mapserver در دو حالت مختلف می تواند عمل نماید :
- CGI Script
- MapScript
حالت CGI Script
در حالت اول توابع آن در محیط وب همانند یک CGI Script عمل می کنند، بنابراین حالتی آسان برای تنظیم و کاربرد روان و کاربرپسند دارد.در اغلب موارد Map server یک برنامه ی CGI بوده که به صورت غیرفعال بر روی Web server کاربر قرار می گیرد و زمانی که یک درخواست به آن ارسال می شود، Map server از اطلاعات گذشته ی موجود در آدرس URL درخواست کننده و هم چنین با استفاده از Mapfile تعریف شده برای آن با ساختن یک عکس از نقشه ی درخواست شده استفاده می کند.
نکته : Mapfile یک configuration file بوده که در بعدا تعریف خواهد شد.
حتی بعد از تولید عکس از نقشه ی مدنظر، کاربر مجددا می تواند درخواست دیگری جهت اعمال لژاندر، پاشنه مقیاس ، نقشه های مرجع عکس ارائه شده و مقادیر گذشته و قابل تغییر CGI ارسال نماید.
MapScript
در حالت دوم Map server API از طریق Perl ، PHP ،Python ، Ruby ، TC1 ، Java و .NET flavors قابل دستیابی است. در این حالت واسط بین کاربر و Map server اجازه ی کاربردهای تخصصی و فنی تر و هم چنین انعطاف پذیری بالاتر را به کاربر می دهد. Map server قابلیت توسعه یافتن و تغییر یافتن از طریق Templating Map script را داراست. هم چنین می تواند برای انواع مختلف فرمت داده های ورودی از جمله رستر و بردار ساخته شودو می تواند فرمت های مختلف خروجی را تولید نماید از آن گذشته Map server مزایای زیادی به وسیله ی امکانات نمونه ای موجود در خود برای کاربر فراهم می سازد. موارد ذکر شده در ورژن های قدیمی تر Map server هم فعال بوده اند.
نکته : Map script یک فایل آغازگر ( Scripting interface ) برای پایه و ساختمان وب و کاربردهای مجزای Mapserver فراهم می کند.
Map script می تواند به صورت مجزا و مستقل از CGI Map server استفاده گردد و یک مدل قابل فراخوانی است که قابلیت افزودن Map server را به زبان های برنامه نویسی متنوع خود دارد.