How does the code on demand constraint affect REST API design, and why is it considered optional?
AIt mandates caching of all responses, optional for performance.
BIt allows servers to send executable code to clients, enhancing flexibility but is optional because not all clients support it.
CIt requires servers to store client state, which is optional.
DIt forces clients to execute all code locally, which is mandatory for REST compliance.