It fetches the page and scans its rendered HTML for every element that loads an external resource — images, scripts, stylesheets, iframes, video, audio, and form targets — then checks whether any of those URLs use http:// while the page itself is served over https://. Each hit is labeled active or passive depending on how seriously browsers treat it.
How to fix what it finds
Almost always, the fix is changing the URL's protocol from http:// to https:// — most resources are already reachable both ways, since most of the web moved to HTTPS years ago. For a resource with no HTTPS version available, the safest options are switching to a protocol-relative URL, self-hosting the file, or replacing it with an HTTPS source entirely.