여러 사람이 공유하는 데이타일 경우 마지막으로 열람한 뒤 변경 여부를 어떻게 알 수 있을까?
이를 위해 HTTP/1.1 규격에선 ETag를 지원합니다.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19
예)
ETag: "xyzzy"
ETag: W/"xyzzy"
위와 같이 임의의 글자로 만들어진 태그를 붙여서 변경할 때마다 그 값을 바꿔줍니다.
이걸 이용해서 소스관리에서 발생할 수 있는 충돌을 예방할 수 있을 것 같습니다.
Google Data API에서도 이를 이용해서 ETag가 맞지 않는 경우에는 변경을 못 시키게 하고 있는데,
이 경우 다시 Entry 정보를 가져와서 그때 얻은 ETag를 이용해서 고쳐야 합니다.
이것이 소스관리에서 먼저 업데이트를 하고 난 뒤 커밋을 해야 하는 것과 비슷하다는 느낌이 들었습니다.
(ETag가 어떻게 작동하는지 몰라서 잠시 동안 Match가 안 된다는 메시지가 떠서 좀 고생했는데,
이렇게 생각하니 고치기 전엔 먼저 Entry를 받는 것부터 시작해야 한다는 의미가 이해되었습니다^^;)
ETag: W/"xyzzy"
위와 같이 임의의 글자로 만들어진 태그를 붙여서 변경할 때마다 그 값을 바꿔줍니다.
이걸 이용해서 소스관리에서 발생할 수 있는 충돌을 예방할 수 있을 것 같습니다.
Google Data API에서도 이를 이용해서 ETag가 맞지 않는 경우에는 변경을 못 시키게 하고 있는데,
이 경우 다시 Entry 정보를 가져와서 그때 얻은 ETag를 이용해서 고쳐야 합니다.
이것이 소스관리에서 먼저 업데이트를 하고 난 뒤 커밋을 해야 하는 것과 비슷하다는 느낌이 들었습니다.
(ETag가 어떻게 작동하는지 몰라서 잠시 동안 Match가 안 된다는 메시지가 떠서 좀 고생했는데,
이렇게 생각하니 고치기 전엔 먼저 Entry를 받는 것부터 시작해야 한다는 의미가 이해되었습니다^^;)
'웹 개발' 카테고리의 다른 글
iBatis에서 SQL query 이용시 LIKE 구문 사용하기 & SQL query를 DEBUG에서 확인하기. (0) | 2009.03.05 |
---|---|
String 형식을 Timestamp 형식으로 변환시키기 (0) | 2009.03.02 |
proxy server를 apache의 mod_proxy를 이용해서 해결하기. (0) | 2009.01.16 |
다른 사이트에서 json을 받기 위한 JSON with padding. (0) | 2009.01.15 |
웹에서 json 페이지 만들 때 주의할 점. (0) | 2009.01.14 |