문제

내 디자인은 두 가지 종류의 리소스를 노출시킵니다.

  1. 이미지
  2. 태그

클라이언트가 태그로 임의의 이미지를 요청할 수 있기를 바랍니다. 예를 들어 : "New York"및 "Winter"로 태그가 지정된 임의의 이미지를 제공하십시오. 이 경우 편안한 디자인은 어떤 모습입니까?

도움이 되었습니까?

해결책

의견에 대한 모든 토론을 요약하고 초기 제안을 변경하지 않기 위해 이것이 마지막으로 나올 것입니다.

태그를 통해 이미지에 액세스하려고합니다. 각 태그는 이미지 세트와 관련이 있습니다. 주어진 태그가 다른 태그보다 훨씬 더 많이 사용될 수 있으므로 (예 : 뉴욕 사진은 시카고보다 훨씬 더 많이 사용) 캐싱을 허용하는 편안한 구성을 사용해야하므로 뉴욕 사진을 캐시 할 수 있습니다. IMHO, 솔루션은 다음과 같습니다.

  • 각 이미지에는 고정 URI가 있습니다.

    http://www.example.com/images/12345
    
  • 각 태그에는 URI도 있습니다.

    http://www.example.com/tags/New_York/random
    

    이 URI는 세트에서 이미지의 무작위 디스패처 역할을합니다. a 303 다른 사람을 참조하십시오 응답, 세트의 임의 이미지로 리디렉션됩니다. 정의에 따라,이 URI는 캐시되어서는 안되며 고정 된 것과는 안되며 브라우저는 두 번째 리소스에 대한 리디렉션이 영구적이라는 것을 이해하지 않아야하므로 최적입니다.

  • 다음을 통해 전체 세트에 액세스 할 수도 있습니다.

    http://www.example.com/tags/New_York
    

    이 액세스는 a 300 개의 여러 선택 응답; 전체 세트 (이미지가 아닌 Uris!)를 브라우저로 반환하고 브라우저는 무엇을 해야하는지 결정합니다.

  • 다양한 태그의 교차로를 사용할 수도 있습니다.

    http://www.example.com/tags/New_York/Autumn/Manhattan/random
    http://www.example.com/tags/Autumn/Manhattan/New_York/random (equivalent to the previous one)
    http://www.example.com/tags/New_York/girls/Summer/random
    etc.
    

따라서 각 이미지에 대한 고정 URI, 각 태그에 대한 고정 URI 및 관련 사진 세트 및 각 태그가 보유한 임의의 디스패처에 대한 고정 URI가 있습니다. GET 매개 변수를 다른 잠재적 솔루션으로 사용할 필요는 없으므로 가능한 한 편안합니다.

다른 팁

나는이 문제로 어려움을 겪었다. 우리가 구현 한 것은 httpresponseredirect (eg)입니다.

http://www.example.com/randomnewyorkimage

무작위 뉴욕 이미지로 :

http://www.example.com/images/new_york/1234.

첫 번째 리소스는 무작위 뉴욕 이미지 디스패처로 생각할 수 있습니다. 이 솔루션은 두 가지 리소스를 요청할 수 있으므로 서버를 더 많이로드하지만 가능한 한 편안합니다.

편집 : 또한 캐싱중인 경우 각 이미지가 캐시에 있으며 서버는 이미지 전송에서 리디렉션 전기 전송으로 이동하여 캐시가 두 번째 요청을 가로 채서 서버로드를 완화합니다.

다차원 자원 식별은 어려운 일입니다.

귀하의 자원은 이미지이므로 URI입니다. 또한, 특정 이미지에는 결코 변하지 않는 특정 URI가 있습니다.

귀하의 "By Tag"는 리소스의 비 식별 속성입니다. 이를 위해 쿼리 문자열은 belp입니다.

여기 내 첫 생각이 있습니다.

  • http://www.example.com/MyStuff/image/ID/ - ID에 의한 특정 이미지
  • http://www.example.com/MyStuff/image/?tag=태그 이름 - 주어진 태그가있는 임의의 이미지, 암시 적으로 count=1.
  • http://www.example.com/MyStuff/image/?tag=태그 이름&count=all - 임의의 순서로 주어진 태그가있는 모든 이미지 (count=1 기본값은 임의의 이미지를 제공합니다)

나는 같은 일을 할 것이다 http://foo.com/image/tagged/sometag/random 그리고 그 위에 잠을 잃지 마세요.

나는 이것에 대해 삼부작에 동의합니다. URI의 끝에 무작위를 추가하면 작업처럼 느껴지지만 태그로 범위를 띠면 실제로 컨텍스트를 정제하는 것입니다.

그의 예에서 :

/image/tagged/tomegag/random

이미지 리소스 -> 태그 스코프 (태그가있는 모든 이미지) -> 특정 태그 (태그 x가있는 모든 이미지) -> random (태그 x가있는 스코프 이미지 목록의 리소스)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top