Yeah, what Ernest said
Just don't forget that while a developer *can* make a non-idempotent GET, by creating code in the doGet() that, say, uses request parameters to update the server, the HTTP spec considers the HTTP GET method to be idempotent, no matter what. So as far as the exam is concerned, GET is idempotent (and POST is not), regardless of how you actually write your server-side code. So the spec is based on what you *should* do with these HTTP methods, not what you *actually* do.
cheers,
Kathy