Изменение кодировки при изменении Content-Type

У меня есть сервер, который должен отвечать на некоторые запросы. Запросы содержат «Content-Type», равный «application/x-protobuf», поэтому мне нужно ответить набором байтов (сериализованный прото-объект). Когда я пытался отправить эти байты с Content-Type "text/plain" - каждый байт был успешно доставлен пользователям, но когда я пытался изменить это значение на "application/x-protobuf" - каждый байт со значением более 128 был заменен на ￸.

Я использую фреймворк Cherpy для своего сервера.

У кого-нибудь есть идеи, почему это происходит? И как узнать какая кодировка использовалась в случае "текст/обычный".

Спасибо за ответ.


person Anton Hulikau    schedule 20.02.2017    source источник
comment
Ну, вероятно, это не проблема nginx. Только если вы не используете charset и charset_types application/x-protobuf в конфиге nginx.   -  person Dmitry MiksIr    schedule 21.02.2017
comment
@DmitryMiksIr Вы были правы, проблема не в nginx. Я запустил небольшой сервис Cherpy, просто чтобы проверить, не в вишне ли проблема, и да, байты изменены, и я не знаю, почему.   -  person Anton Hulikau    schedule 21.02.2017


Ответы (1)


Генератор кода Google Protocol Buffers для разработчиков модулей nginx https://github.com/dbcode/protobuf-nginx

person 田咖啡    schedule 18.11.2017