The server considers the value of the type attribute when deciding which Service directive in obj.conf to use to generate the response to the client.
By default, if the type does not start with magnus-internal/, the server just sends the requested file to the client. The directive in obj.conf that contains this instruction is:
Service method=(GET|HEAD|POST) type=*~magnus-internal/* fn=send-file
By convention, all values of type that require the server to do something other than just send the requested resource to the client start with magnus-internal/.
For example, if the requested resource’s file extension is .map, the type is mapped to magnus-internal/imagemap. If the extension is .cgi, .exe, or .bat, the type is set to magnus-internal/cgi:
type=magnus-internal/imagemap exts=map type=magnus-internal/cgi exts=cgi,exe,bat
If the type starts with magnus-internal/, the server executes the Service directive in obj.conf matches the specified type. For example, if the type is magnus-internal/imagemap, the server uses the imagemap function to generate the response to the client, as indicated by the following directive:
Service method=(GET|HEAD) type=magnus-internal/imagemap fn=imagemap