First of all, it is PUTalso unsafe.
Safe methods are HTTP methods that do not modify resources. For example, using GET or HEAD on a resource URL, NEVER change the resource.
Since the request PUT(like PATCH) updates the resource, it cannot be cached and therefore not SAFE.
PUT , , PUT .
HTTP- - HTTP, . , . . , , . (, , ().
PUT, idempotent, , , , - . PUT GET , . : - - PUT
PATCH , . , PATCH . , IDEMPOTENT.
: -
Person
1:
PATCH/person/1 {'age': 10} - 10
, ,
2:
PATCH/person/1 {'age': 19} - 19
, 1, 10, .
, etags If Modified Since headers.