The [NonAction] attribute prevents a public method in a controller from being invoked by a URL request, even though it's public. [Private] and [Protected] are access modifiers for class members, not MVC-specific attributes. [Internal] limits visibility to the assembly but doesn't prevent URL routing.