Посмотрите GCC и Clang:
Оба компилятора можно использовать для компиляции Ваш исходный код через терминал. GCC существует дольше и имеет лучшую поддержку, но может быть немного медленным. Clang новее, поэтому используется менее широко, но заметно быстрее, чем GCC при компиляции исходного кода.
Пример команды Clang в вашем терминале: clang -o hello hello.c && ./hello
Это скомпилирует ваш файл hello.c
и даст вам исполняемый файл hello
, который вы затем сможете запустить. Мы просто предположим, что при запуске программы hello
выводится Hello, World!
на консоль.
Те, которых я использую (что я мог найти с быстрым grep 'Status:'
так или иначе):
Я понимаю, что мне могло сойти с рук простое разрешение серверу отправить "200" для всего, но они экономят много усилий, когда пользователи видят (или вызывают) ошибки и говорят Вам о них. Я уже заставил функции отображать сообщения доступа запрещен и так далее, таким образом, это не много работы для добавления их так или иначе.
Я склонен использовать 405 Методов, Не Позволенных, когда кто-то пытается ПОЛУЧИТЬ URL, который может только быть ОТПРАВЛЕН. Кто-либо еще делает это тот же путь?
В платформе Aida/Web мы используем просто
303 Видят Другой, необходимость для PRG, который необходимо использовать теперь, если Вы уже не.
Вот наиболее распространенные коды ответа, на основе моего опыта:
Коды ответа в диапазоне 1xx-2xx обычно обрабатываются автоматически базовым веб-сервером (т.е. Apache, IIS), таким образом, Вы не должны волноваться о тех.
Коды 301 и 302 обычно используются для перенаправлений, и 304 используется много, когда клиент или прокси уже содержат действительную копию данных и не нуждаются в новой версии с сервера (см. RFC для получения дополнительной информации о точно, как это работает).
Код 400 обычно используется, чтобы указать, что клиент отправил плохие или неожиданные данные, которые вызвали проблему в сервере.
Код 403 для выполнения аутентификации, которая снова обычно обрабатывается несколько автоматически конфигурацией сервера.
Код 404 является кодом ошибки для страницы, не найденной.
Код 500 указывает на состояние ошибки в сервере, который не обязательно вызывается данными, отправленными от клиента. Например, отказы соединения с базой данных, программные ошибки или другие необработанные исключения.
Код 502 обычно замечается, если Вы проксируете от веб-сервера (такого как Apache) к серверу приложений (такому как Tomcat) в бэкенде, и связь не может быть установлена с сервером приложений.
Для асинхронных вызовов (т.е. ответы AJAX/JSON) является обычно самым безопасным всегда возвратить 200 ответов. Даже если была ошибка в сервере при обработке запроса, лучше включать ошибку в объект JSON и позволять клиенту иметь дело с ним тот путь. Так как причина - это не, все веб-браузеры предоставляют доступ к органу по ответу для не200 кодов ответа.
Я в основном использую всех их в соответствующих случаях. Сама спецификация определяет каждый код и обстоятельства, при которых они должны использоваться.
При создании УСПОКОИТЕЛЬНОГО веб-приложения я не рекомендую привередливо выбрать коды состояния и ограничиваю себя подмножеством полного спектра. Таким образом, если здание веб-приложение для определенного клиента HTTP - в этом случае каждый действительно не создает веб-приложение, создавание приложения для того определенного клиента.
В моей фирме у нас есть некоторые клиенты Flex. Они не могут правильно обработать коды состояния кроме 200, таким образом, мы сделали, чтобы они отправили специальный параметр со своими запросами, который говорит нашим серверам всегда отправлять 200, даже когда это не надлежащий ответ.
418: Я - заварной чайник
Из http://www.ietf.org/rfc/rfc2324.txt текстовый управляющий протокол кофейника Hyper (HTCPCP/1.0)
500 Внутренних Ошибок Сервера возвращаются в Aida/Web когда Ваше повышение веб-приложения исключение. Поскольку это - приложение Smalltalk, окно исключения повышено на сервере (при выполнении его headfull), в то время как пользователь добрался 500 и короткий стек.
На сервере можно затем открыть полный отладчик и попытаться решить проблему, в то время как сервер продолжает работать, конечно. Другая хорошая вещь состоит в том, что окно исключения с полным стеком ожидает Вас, пока Вы не приходите.
Заключение: 500 благословение, не кошмар!
Don't forget about 503 - Service Unavailable. This one is essential for site downtime. Especially where Search Engines are concerned.
Say you're taking the site down for a few hours for maintenance or upgrade work. By directing all requests to a friendly page that returns a 503 code, it tells spiders to "try again later".
If you simply display a "Temporarily Down" page but still return 200 OK, the spider may index your error pages or, worse, replace existing indexing with this "new" content.
This could seriously impact your SEO rankings, especially if your a large, popular site.