Есть простые и "длинные" запросы. Простые это GET и POST или HEAD. Все остальные - "длинные". Длинные запросы проходят в 2 этапа, т.е сервер сначала получает предварительный запрос и должен на него ответить, а затем запрос данных. Если у вас не проходит POST запрос, значит вы в него засунули заголовок разрешенный только в длинных запросах, например такой 'Content-Type': 'application/json'