HTTP PUT: Idempotent Update, Not a Non-Idempotent Operation
Short answer
A PUT is the idempotent HTTP verb for updating a server-side resource, not the read-only GET used to display a website or a non-idempotent POST-style operation.
Question
Key Takeaways
The exam tests REST HTTP verb semantics—PUT updates and is idempotent, GET reads, POST creates or submits non-idempotently—and the trap is treating PUT as non-idempotent because it changes server state.
HTTP PUT is an idempotent REST verb used to update or replace a server-side resource; on this CCNA 200-301 question, A is the only option describing an update, while B confuses PUT with non-idempotent POST.
Common mistake: The most plausible wrong answer is B: PUT does modify server state, so it feels non-idempotent, but repeating the same PUT with the same body leaves the target resource in the same state, whereas POST is the typical non-idempotent verb.
Expert Analysis
Why B is the seductive trap Option B sounds technical: PUT changes data, so a candidate may reason that repeating it could cause extra effects. Comments defending B describe PUT as a way to "update or create a resource" and then attach the non-idempotent label, but that is exactly where the reasoning breaks. HTTP semantics define PUT as idempotent: sending the same PUT with the same representation to the same URI should leave the target resource in the same state as one request. POST is the usual non-idempotent verb for creating or submitting data. B therefore fails on the one property it asserts.
What the other options reveal C and D describe read-only retrieval: a browser displays a site with GET, and read-only operations are GET's domain, not PUT's. That leaves A, "to update a DNS server." The wording is imperfect—strictly, PUT updates an HTTP resource, and DNS zone updates normally use DNS protocols or a provider's REST API—but A is the only option that describes an update rather than a read or a non-idempotent operation. Comments in the thread flag the DNS phrasing as awkward, yet the option-selection logic remains: eliminate the options that contradict the verb definition.
Exam doctrine and verdict For CCNA 200-301 objective 6.5, know the REST/HTTP verb mapping: GET reads, POST creates/submits and is non-idempotent, PUT updates/replaces and is idempotent, DELETE removes. Option A is the correct answer in this item. Do not let a real-world detail about DNS APIs override the tested distinction between idempotent update and non-idempotent creation; also do not accept B merely because PUT modifies server state.
Official Reference
These links open the official vendor documentation in a new tab.
Exam Strategy
For REST verb questions, write a quick mapping before reading options: GET=read, POST=create/submit and non-idempotent, PUT=update/replace and idempotent, DELETE=remove. Eliminate any option that contradicts one core property—here, B dies because PUT is idempotent, while C and D describe GET. If one surviving option names an odd resource such as a DNS server, choose it only after the other three violate a verb definition, and treat the item as poorly worded rather than redefining PUT.
Frequently Asked Questions
Is HTTP PUT idempotent, and why does that make option B wrong?
Why is A accepted when it says 'DNS server' instead of 'resource'?
Which HTTP method displays a website?
Discussion 8 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 8
-
oatmealturkey 👍 11 Answered APlease correct. "Standard REST methods are supported on the API, which includes POST, GET, PUT, and DELETE operations through HTTP. The PUT methods are idempotent, meaning that there is no additional effect if they are called more than once with the same input parameters. The GET method is nullipotent, meaning that it can be called zero or more times without making any changes (or that it is a read-only operation)." https://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/aci_multi-site/sw/1x/rest_api_config/b_Cisco_ACI_Multi-Site_REST_Configuration_Guide/b_Cisco_ACI_Multi-Site_REST_Config_Guide_chapter_01.pdf
-
Ciscoman021 👍 5 Answered AThe PUT method is used within HTTP when a client wants to update an existing resource on the server. Therefore, the correct option is A: to update a resource on a server. The PUT method is a part of the HTTP protocol that allows a client to update or replace a resource on the server with a new version. It is an idempotent operation, which means that making multiple identical requests has the same effect as making a single request. The other options are incorrect: B. The PUT method is not used for non-idempotent operations; it is used for idempotent operations. C. The GET method is typically used to display a web site. D. The GET method is used for read-only operations, not the PUT method.
-
Rick3390 👍 2But B says: "when a nonidempotent operation is needed"... but mate, PUT is actually idempotent. It seams to me that you just use chatgpt for this answer without argue with it. Try to tell to chatgpt that PUT is idempotent and then you will see chatgpt correct him self and give you the right option. If we want to talk about the fact that DNS uses a specific DNS protocol to updates, let's talk about it, but for the context of these options and strictly speaking about the HTTP protocol, A would be the most appropriate choice.
-
Rynurr 👍 2 Answered A"B" is incorrect > NON-IDEMPOTENT: If an operation always causes a change in state, like POSTing the same message to a user over and over, resulting in a new message sent and stored in the database every time. Must be "A".
-
raptuz 👍 1 Answered BThe correct answer is B. when a nonidempotent operation is needed. The PUT method in HTTP is used to update or create a resource on the server. It is typically used for idempotent operations, meaning that making the same request multiple times should have the same result as making it once. However, it's important to note that the PUT method is used for updating resources, not read-only operations or displaying web pages. Option A is incorrect because updating a DNS server typically involves administrative actions and may use different protocols. Option C is incorrect because displaying a web page is a read operation and would usually involve the GET method. Option D is incorrect because the PUT method is not used for read-only operations.
Show 3 more comments
-
Allan Hsu 👍 1 Answered AGuys It is indeed not a HTTP request to update DNS server but keep in mind in real world where cloud platform exists with DNS service provided you can update a DNS server using their REST API PUT requests for example AWS. Out of all options only A seems possible since B option is incorrect (PUT is idempotent) C is GET D is read only so GET Just hope this question doesn't appear on the exam because I am going to pick A banking on it's not a typo on B.
-
Vikramaditya_J 👍 1 Answered AThe PUT method in HTTP (Hypertext Transfer Protocol) is used to update a resource on the server. Non-idempotent methods are those that can have different outcomes when called multiple times with the same input parameters. Examples of non-idempotent methods include POST, PATCH, and non-idempotent PUT requests. Common non-idempotent methods: POST, PATCH, CONNECT. PUT isn't a non-idempotent methods.
-
Kafka_Tamura 👍 1guys you're gonna put a http request on a dns server ? the question seems incorect, i think it's b
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All 200-301 Questions
Access 220 questions with complete answers and detailed explanations.
View Full 200-301 Practice Test →