아직 발생하지 않아, 실행해 보지 않음.
proxy에서는 PURGE를 지원하고 있습니다.
쉽게 풀어 쓰면.. 특정 캐시를 삭제할 수 있는 method를 지원하고 있습니다.
쉽게 풀어 쓰면.. 특정 캐시를 삭제할 수 있는 method를 지원하고 있습니다.
일반적으로,
- 정상적으로 삭제하면 HTTP STATUS CODE 200 OK를
- 실패했을 경우 HTTP status code 404를
- 서버에서 PURGE method가 지원되지 않을 경우 403을 반환합니다.
- 정상적으로 삭제하면 HTTP STATUS CODE 200 OK를
- 실패했을 경우 HTTP status code 404를
- 서버에서 PURGE method가 지원되지 않을 경우 403을 반환합니다.
제가 사용하고 있는 squid의 예를 들어 간단하게 설명하겠습니다.
[squid.conf] 수정(EDIT)
#--------------------------------
# acl 정책
#--------------------------------
......
acl PURGE method PURGE
acl MethodType method GET POST PURGE
......
#--------------------------------
# acl 정책
#--------------------------------
......
acl PURGE method PURGE
acl MethodType method GET POST PURGE
......
#--------------------------------
# TAG: http_access
#--------------------------------
........
http_access deny !MethodType // 3개의 method 외 차단
........
http_access allow PURGE localhost // PURGE를 localhost에서 허용
http_access deny purge // PURGE 그 외 네트워크 대역 차단
.........
[squid.conf] reload
[root@ns1 ~]# /etc/init.d/squid reload 또는
[root@ns1 ~]# squid -k reconfigure
[root@ns1 ~]# /etc/init.d/squid reload 또는
[root@ns1 ~]# squid -k reconfigure
[squid.conf] 삭제(DELETE)
[root@ns1 ~]# telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
PURGE http://www.rootman.co.kr/images/AAA.jpg HTTP/1.0
HTTP/1.0 404 Not Found
Server: squid/2.5.STABLE14
Mime-Version: 1.0
Date: Fri, 08 May 2009 14:51:37 GMT
Content-Length: 0
Connection closed by foreign host.
Server: squid/2.5.STABLE14
Mime-Version: 1.0
Date: Fri, 08 May 2009 14:51:37 GMT
Content-Length: 0
Connection closed by foreign host.
일반적으로 정상적으로 삭제되면 HTTP status code 200 OK 가 나타나고,
실패했을 경우 404(not found), purge method가 지원되지 않을 경우 403 status code가 나타납니다.
하지만, 저는 좀 특이하게 쓰는지라... 404가 나왔습니다...
log를 보면 정상적으로 삭제된 것을 확인할 수 있습니다.
log를 보면 정상적으로 삭제된 것을 확인할 수 있습니다.
[access.log] squid 로그
127.0.0.0 - - [09/May/2009:00:44:02 +0900] "PURGE http://www.rootman.co.kr/images/AAA.jpg HTTP/1.0" 404 129 TCP_MISS:NONE
// purge 처리를 하여 AAA.jpg가 삭제 처리되어 squid 처리 후 cache에 없다는 것을 확인(TCP_MISS)
119.194.111.0 - - [09/May/2009:00:44:10 +0900] "GET http://www.rootman.co.kr:1111/images/AAA.jpg HTTP/1.1" 200 34305 TCP_HIT:NONE
// cache에 파일이 없으므로, 웹서버에서 AA.jpg를 읽어들여 caching함(TCP_HIT)
119.194.111.0 - - [09/May/2009:00:44:14 +0900] "GET http://www.rootman.co.kr:1111/images/AAA.jpg HTTP/1.1" 304 246 TCP_IMS_HIT:NONE
// cache에 파일이 있고, 재요청 시 캐시에서 read (TCP_IMS_HIT,브라우저캐싱)
// cache에 파일이 있고, 재요청 시 캐시에서 read (TCP_IMS_HIT,브라우저캐싱)
댓글 없음:
댓글 쓰기