HTTPAPI | URL Reservation

HTTP.SYS URL reservation is a feature in the Windows operating system that allows a user to reserve a specific Uniform Resource Locator (URL) for their application or service. When a URL is reserved using HTTP.SYS, the operating system will intercept any incoming HTTP requests for that URL and route them to the specified application or service.

 

To reserve a URL using HTTP.SYS, an application or service must first register the URL with the HTTP.SYS driver by making a call to the HTTP API. The application or service specifies the URL, the HTTP method (e.g., GET, POST), and any additional settings such as authentication requirements.

 

Once the URL is registered, HTTP.SYS will intercept any incoming HTTP requests for that URL and look up the registered application or service based on the URL and method. If a matching application or service is found, the HTTP.SYS driver will pass the request to that application or service for processing.

 

NETSH Commands

Register an URL

In this example, the URL http://example.com:80/ is being registered for the user DOMAIN\user. You can replace this with your desired URL and user.

 


netsh http add urlacl url=http://example.com:80/ user=DOMAIN\user

 

Delete an URL

In this example, the URL http://example.com:80/ is being deleted. You can replace this with the URL you want to delete.

 


netsh http delete urlacl url=http://example.com:80/

 

Show All URLs

This command will display a list of all registered URL reservations on the system.

 


netsh http show urlacl

 

TsgcWebSocketServer_HTTPAPI

The HTTP.SYS server, register the URLs automatically when it's started. This is done using the following parameters and methods.

 

 

The URL registration requires admin privileges in the following cases:

 

 

If you want to register the port 443 for all IP Addresses of the server and listen only on the endpoint "/ws/" but you don't want to run the server with admin rights, do the following steps: