Start here. This is the direct spoken answer to practice first.
Overview
MockMvc exercises Spring MVC deeply without opening a socket; real HTTP adds the server and transport boundary.
MockMvc runs Spring MVC request handling with mock request and response objects, so it can test routing, argument resolution, validation, filters, security, controllers, exception handling, and serialization without starting a server. A real HTTP test starts the application on a port and sends an actual request with a client. That adds server startup, network encoding, connection behavior, and lower-level Servlet-container configuration.