Supported Protocols
Overview
API Simulator’s current focus is on simulating HTTP APIs, also often times called Web APIs. What are usually considered REST or RESTful APIs over HTTP fall in this category as well.
API Simulator supports the HTTP/1.1 and HTTP/1.0 protocols and, since version 1.5, the HTTP/2 protocol. To our knowledge, API Simulator is the first free and fully functional API simulation tool to offer HTTP/2 in a stable release – not just some beta or a roadmap item – for running HTTP API simulations!
HTTP/1.x and HTTP/2
It is really easy with API Simulator - there are no startup arguments, switches, or configuration to set. API Simulator auto-detects and negotiates the HTTP protocol – HTTP/1.x or HTTP/2 – when client establishes a connection or submits the first request.
Another convenient feature: HTTP/1.x and HTTP/2 connections are on the same port number - no additional configuration is required.
When it comes to HTTP/2, API Simulator supports all three ways for starting HTTP/2:
-
Starting HTTP/2 for "https" URIs with the TLS Application-Layer Protocol Negotiation (ALPN) extension.
-
Starting HTTP/2 for "http" URIs without prior knowledge using HTTP/2 upgrade from HTTP/1.1.
-
Starting HTTP/2 with prior knowledge (a.k.a. direct).
HTTP and HTTPS
API Simulator supports both plain HTTP and HTTPS (HTTP over TLS/SSL) connections. That is for HTTP/1.x and HTTP/2 as well.
In the spirit of making it easy for you, HTTP and HTTPS connections to API Simulator are on the same port number - no additional configuration is required.
HTTP and HTTPS Proxy
API Simulator supports being called as HTTP or HTTPS proxy. This helps when it is hard or impossible to change the application/service under test or its configuration. Instead, configure the HTTP client to use API Simulator as HTTP or HTTPS proxy. (How to do that depends on the HTTP client in use. Some, for example, would look at environment variables like HTTP_PROXY and HTTPS_PROXY; a Java program would use -D
arguments…)
The client will usually first make a HTTP CONNECT call to establish a connection with the proxy which creates a TLS tunnel to the destination server, and then sends over that connection the actual request. There are three cases and API Simulator supports all of them:
-
The connection to API Simulator as HTTP Proxy is plain text HTTP; the actual request is then HTTP.
-
The connection to API Simulator as HTTP Proxy is plain text HTTP; the actual request is then HTTPS.
-
The connection to API Simulator as HTTPS Proxy is HTTPS (HTTP over TLS/SSL); the actual request then is HTTPS through HTTPS (yes - HTTPS through an HTTPS connection).
Calling API Simulator as HTTP or HTTPS proxy does not require any additional configuration in API Simulator. Moreover, API Simulator answers as HTTP or HTTPS proxy on the same port number.
We would love to hear your feedback! Shoot us an email to [feedback at APISimulator.com] about anything that is on your mind.
Happy API Simulating!