There is a difference between a normal Instagram viewer and private Instagram viewer. You can view any post of normal Instagram viewer because user have the public account. You can even like, comment and share the post. You can send messages to this user. You cannot view the post of private Instagram viewer. Posts of this user are hidden. You can send a request then the user will approve it, you can see the profile and send messages.