Я немного новичок в HTTP / 2.Я узнал, что с помощью HTTP / 2 мы можем отправлять несколько запросов на сервер, не дожидаясь предыдущих ответов.Ну, я хочу отправить файл изображения на сервер, который является большим (более 500 МБ).Ниже перечислены здесь
- Base64 кодирует файл, за счет увеличения размера данных примерно на 33%.
- Отправитьсначала файл в
multipart/form-data
POST, и вернуть идентификатор клиенту.Затем клиент отправляет метаданные с идентификатором, а сервер повторно связывает файл и метаданные. - Сначала отправьте метаданные и верните идентификатор клиенту.Затем клиент отправляет файл с идентификатором, а сервер повторно связывает файл и метаданные.
Я не хочу использовать первое решение, поскольку оно увеличит размер файла на 33%.Я хочу использовать 3-е решение.
Поскольку я использую HTTP / 2, мои вопросы
- Могу ли я отправлять метаданные и изображение одновременно, не ожидая идентификатора с сервера?
- Если да, то как я могу реализовать?Например, нужно ли выполнять многопоточность на стороне сервера для клиента или как я могу связать метаданные и изображение друг с другом?
- Если нет, тогда я должен перейти на обычный стиль HTTP / 1.1?
Я использую Restful и JSON для общения.В частности, я использую клиент командной строки C # для отправки изображения и Asp.Net в качестве сервера.