Pergunta da API REST sobre como lidar com coleções da maneira mais eficaz possível, enquanto ainda está em conformidade com os princípios REST

Sou bastante novo para o REST, mas pelo que entendi, entendo que os seguintes URLs estão em conformidade com os princípios do REST. Onde os recursos são definidos da seguinte maneira:

/user/<username>/library/book/<id>/tags
          ^         ^           ^   ^
          |---------|-----------|---|- user resource with username as a variable
                    |-----------|---|- many to one collection (books)
                                |---|- book id 
                                    |- many to one collection (tags)


GET /user/dave/library/book             //retrieves a list of books id's
GET /user/dave/library/book/1           //retrieves info on book id=1
GET /user/dave/library/book/1/tags      //retrieves tags collection (book id=1)

No entanto, como é possível otimizar este exemplo de API? Digamos, por exemplo, que eu tenho 10 mil livros na minha biblioteca e quero buscar os detalhes de cada livro na minha biblioteca. realmente devo forçar uma chamada http para/library/book/<id> para cada ID indicado em/library/book? Ou devo ativar vários IDs como parâmetros?/library/book/<id1>,<id2>... e gosta de buscar em massa com 100 IDs de cada vez?

O que os princípios REST dizem sobre esse tipo de situação? e quais são suas opiniões?

Obrigado novamente

questionAnswers(4)

yourAnswerToTheQuestion