Я уже чувствую ваш обидчивый тон в классическом стиле новичков «да я все знаю, не надо меня учить, просто ответьте на вопрос», но все же, без обид, прочитайте сначала хотя бы
http://phpfaq.ru/na_tanke .
Я вообще впервые установил xdebug и пытаюсь понять как он должен работать.
Вот с этого и нужно было начать ваш вопрос.
А не подскажите подробнее на этом месте или где почитать?
Ну вот я, например, нашел в гугле по запросу «xdebug phpstorm» —
https://www.jetbrains.com/phpstorm/webhelp/configuring-xdebug.html#d10598e514
Останавливает выполнение на сервере? Или в браузер все выполняется, но в phpStorm сообщается? Или в браузер что успело прийти то пришло и остановилось?
Вот тут вы опять будете обижаться, но вы, по всей видимости, совсем не понимаете, как вообще происходит взаимодействие между браузером и сервером (причем не обязательно при работе с PHP-скриптами, а вообще).
То есть при отладке - если был рабочий сайт - то он становится нерабочий? Или как?
Я не знаю, что вы подразумеваете под рабочим сайтом. В любом случае, на продакшене никто в здравом уме xdebug не ставит, это исключительно для отладки в девел-окружении (или staging-окружении). xdebug работает с сессионными ключами (как вы уже знаете из указанной мною выше ссылки). То есть, вы устанавливаете ключ сессии в IDE и затем xdebug начинает работать с запросами, в которых передается тот же самый ключ сессии (соответственно, в случае с отладкой сайта ключи посылает браузер).
Вот есть расширение для Хрома, с помощью которого удобно переключать режимы отладки xdebug —
https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc (их, наверное, много, но я пользуюсь этим).
ps: для тестирования RESTful приложений рекомендую
Postman, ибо пока встроенный REST клиент в сторме ужасен.