Есть несколько способов определения того, запросы каких типов обрабатывает конкретный метод. Один метод может обрабатывать запросы только одного типа (например только GET, или только POST). Лично я предпочитаю перед методом ставить специальный атрибут типа [HttpGet], что в паре с [Route("custom/url/for/method")] и понятным названием метода дает максимальную понятность кода контроллера. Кроме атрибутов, web api поддерживает еще naming convention метод определения того, запросы какого типа обрабатывает метод. Подробностей я не помню, надо читать
доку. Ну а как в Вашем примере контроллер понимает, что логаут принимает только пост запросы - понятия не имею, за этим тоже надо в документацию лезть, там такие тонкие моменты подробно описаны.
Ну и вообще, не в обиду сказано, ответы на вопросы такого плана лучше сразу искать в документации.