클라이언트는 자원의 현재 표현을 검색할지 여부를 결정합니다. "조건부 획득"으로 알려진 것을 사용하십시오.
는 "조건부 GET"로 GET 방식 변경의 의미는 상기 요청 메시지는 IF-변성 때문에, IF-미 변성-때문에, 만약 매치, IF-없음 매치, 또는의 If를 포함한다면 범위 헤더 필드. 조건부 GET 메소드는 조건부 헤더 필드 (들)에 의해 기술 된 상황 하에서 만 엔티티가 전송되도록 요구한다. 조건부 GET 메서드는 여러 요청을 필요로하지 않고 캐시 된 엔터티를 새로 고치거나 이미 클라이언트에서 보유한 데이터를 전송하지 않고 불필요한 네트워크 사용을 줄이기위한 것입니다.
(제 http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html 9.3)이 작업을 수행하는 방법
? C은 클라이언트이고 S은 서버입니다.
C
GET /path/to/resource
S
200 OK
ETag: foo
Last-Modified: Tue, 15 Nov 1994 12:45:00 GMT
C
클라이언트 PUT
는 수정 된 버전이야.
PUT /path/to/resource
If-Match: foo
S
클라이언트는 이렇게 자원에 PUT
은 OK입니다 현재 버전을했다.
200 OK
ETag: bar
Last-Modified: Tue, 15 Nov 1994 12:46:00 GMT
C
클라이언트 PUT
는 modiefied 버전이야하지만 그 동안 자원이 변경되었습니다와 ETag: bar
더 이상 일치하지 않습니다.
PUT /path/to/resource
If-Match: bar
S
412 Precondition Failed
C
클라이언트 GET
의 자원의 현재 버전.
GET /PATH/to/resource
S
200 OK
ETag: baz
Last-Modified: Tue, 15 Nov 1994 12:47:00 GMT
C
이제 다시 클라이언트 자원 PUT
있다.
PUT /path/to/resource
If-Match: ba7
S 자세한 답변을
200 OK
ETag: qux
Last-Modified: Tue, 15 Nov 1994 12:48:00 GMT
감사합니다,하지만 그건 내가 묻고 있었는지 사실이 아니다. 우리가 하나의 URL에 대해 이야기 할 때 의미가 있지만, 예를 들어, 엔티티가 수정되고 있지만 엔티티의 일부 속성은 다른 URL에 리소스를 만드는 데 사용됩니다. 말이 돼? – epitka