2010-02-16 3 views
0

내가 처음으로 Twitter 응용 프로그램을 만들었을 때 로컬에 사용자 아이콘을 캐시하는 코드를 작성했습니다. 당시에는이 아이콘이 항상 원래 위치에서 사용 가능하다고 가정하는 것이 좋지 않은 것처럼 보였습니다. 이들은 상대적으로 트래픽이 적은 사이트 였지만 로그인 할 때 사용자 아이콘을 잡았음에도 성능에 큰 영향을 미치지 않았습니다. 그 사용자 아이콘을 다시 내 방문자에게 제공하는 것도 아니 었습니다.Twitter 아이콘을 로컬로 캐싱하거나 API가 반환하는 URL에 핫 링크해야합니까?

그러나 지금은 트래픽이 훨씬 더 많은 응용 프로그램을 만들고 있으며 Twitter API가 반환하는 URL에서 아이콘을 hotlinking 할 수 있는지 궁금합니다. 그것은 좋은 생각처럼 보이지 않지만, 내가 보았던 트위터 앱 코드의 대부분 (모두?)은 프로필 이미지를 핫 링크합니다. 어쩌면 그것들은 대부분이 같은 python-twitter auth tutorial을 기반으로했기 때문일 것입니다. 아니면 저자가 내가 모르는 뭔가를 알고 있기 때문일 수도 있습니다.

아이콘을 핫 링크하는 것이 좋은 경우 사용자가 새로운 아이콘을 Twitter에 업로드하고 내 앱에 다시 로그인하지 않기로 결정한 경우 어떻게됩니까? 트위터는 이전 아이콘을 내가 어떤 시점에서 편리하게 핫 링크하고 있음을 제거합니까? 궁극적으로 그것은 극복 할 수없는 문제는 아니지만, 한 가지 방법이나 다른 방법을 아는 것이 좋다.

내 의견을 보내 주시면 감사하겠습니다.

답변

1

URL을 핫 링크하는 것이 공정한 게임이라고 생각합니다. 결국 이고, 은 모두 사용자 정보가 반환되는 장소이며, 매우 휘발성 인 자원임을 나타냅니다.

귀하는 해당 API에 대한 핫 링크를 통해 어떤 조건이나 계약에 위배되는 것으로 생각하지 않습니다.

응용 프로그램이 웹 기반 응용 프로그램 인 경우 해당 응용 프로그램에 바로 연결합니다.

웹 기반 응용 프로그램이 아니며 hotlinking으로 인해 성능이 저하되는 것을 발견하면 사용자 ID에 매핑 된 프로필 이미지의 URL 목록을 유지 한 다음 이미지를 다운로드하여 저장하십시오. 그것을 가지고 있지 않습니다.

그런 다음 사용자 정보를 얻을 때마다 URL이 사용자의 정보와 다른지 확인하고 콘텐츠를 다시 다운로드하여 표시합니다 (물론지도를 업데이트하십시오).

다소 관련있는 메모에서 the public timeline is cached for 60 seconds을 기억하십시오. 정보를 얻으려면 그보다 높은 빈도로해서는 안됩니다.

관련 문제