What is viewport?

I’m new to the platform and I’m confused between the terms: viewport, view canvas, base container and page layout.