Здравствуйте, Cyberax, Вы писали:
C>Ничерта в REST не встроено. Он просто даёт по морде HTTP запросом — и вперёд с песней реализовывать. В результате, 99 из 100 REST-серверов не будут нормально поддерживать чуть менее, чем весь HTTP.
Вы так говорите, как будто это плохо.
А на практике это позволяет делать graceful degradation. Например, мы можем поставить прокси в любом месте соединения между клиентом и сервером (хоть прямой прокси на стороне клиента, хоть реверс прокси на стороне сервера), и получить оптимизацию conditional get, не написав ни строчки кода ни там ни там.
Более того — именно так и делается в 99 из 100 промышленных API, которые отдаются через CDN.
S>>С учётом разнообразных хидеров аналогом одного REST-ендпоинта будут несколько десятков сигнатур RPC-методов.
C>Не будут. Делаем нужные параметры запроса явным параметром и всё. Для примера, если что-то типа DownloadFile, то в запрос добавляем опциональные поля типа Range и прочих. В качестве бонуса, не нужно заниматься разбором формата Range.
Покажите мне реальный (g)RPC API в котором есть опциональные параметры типа Range и прочих.
C>В результате, на практике GRPC уделывает REST по скорости и надёжности разработки.
Ну... Может быть. У меня нет практики работы с gRPC, поэтому я (пока) поверю вам на слово.