I agree that it is not clear what they mean by "server-side requests". It is known that HTTP requests are sent by clients (browsers, bots, REST API users etc.), and received by servers, after all. However, the word "server" may refer to different things in different contexts.
An HTTP request is received by an HTTP server such as Apache, Nginx, and Microsoft IIS. The servers provide Server Application Programming Interface (SAPI) which particularly allows to postprocess information parsed by the web servers.
The PHP engine (Zend) interacts with different environments by means of its SAPI (Server API) module. The module consists of a number of submodules: CLI (Command Line Interface), CGI (Common Gateway Interface), Apache, FPM (FastCGI Process Manager), and others. Each have their own ideas about contents of the PHP superglobals (example).
The raw HTTP requests are parsed by a Web server. PHP requests the parsed data from the Web server through SAPI for further processing, then passes it to us in the form of superglobals, particularly.
RequestInterface
thus represents the first simple HTTP request which doesn't classify its headers, or parts of the message body into cookies, upload data, GET-, or POST-variables etc. as it is indirectly mentioned in the official documentation:
The RequestInterface
and ResponseInterface
have essentially 1:1 correlations with the request and response messages described in RFC 7230. They provide interfaces for implementing value objects that correspond to the specific HTTP message types they model.
It simply provides interface for common request parameters such as URI, scheme, query, and port, for instance.
And ServerRequestInterface
represents the parsed version of the simple representation of HTTP message (request). It introduces access to logically classified parts of the message, the parts generated server-side: uploaded files, cookies, server parameters, and others.
I suggest thinking of RequestInterface
as HTTP request as it came from the client. And ServerRequestInterface
as already not quite client's request =), i.e. version of original request modified by the server (SAPI).