1) Querystring is client side state management technique while Session is server side state management technique.2) Querystring data is page specific i.e. can be accessed in that page only while Session data can be accessed throughout the session.3) Querystring data is visible to user and can be seen in browser url while Session data is not visible to user.4) Data is not secured and can be altered hence insensitive data is stored in querystring while data is secured hence sensitive data such as user information is stored.5) Querystring has constraint of Maxlength while Session does not have such constraint.
Query string is client side state management technic and session is server side.