Подход Python к веб-сервисам и/или обработке GET и POST

StackOverflow https://stackoverflow.com/questions/2114847

Вопрос

Я уже некоторое время работаю с Python.Недавно я занялся Sockets с Twisted, который был полезен для изучения Telnet, SSH и передачи сообщений.Я хотел взять идею и реализовать ее в веб-моде.Неделя поисков, и все, что я действительно могу сделать, это создать ресурс, который обрабатывает GET и POST для себя.И мне говорят, что это плохая практика.

Итак, вопросы, которые у меня возникли через неделю:
* Являются ли другие варианты, такие как Tornado и Standard Python Sockets, лучшим (или более популярным) подходом?
* Стоит ли действительно использовать отдельные ресурсы в операциях Twisted GET и POST?
* Какой ресурс подойдет для начала в этой области разработки на Python?

Мой опыт работы с языками C, Java, HTML/DHTML/XHTML/XML, а моя основная система (даже домашняя) – Linux.

Это было полезно?

Решение

Я бы не рекомендовал создавать собственный веб-сервер и обрабатывать необработанные вызовы сокетов для создания веб-приложений;гораздо разумнее просто написать свои веб-сервисы как приложения wsgi и использовать существующий веб-сервер, будь то что-то вроде Tornado или Apache с mod_wsgi.

Другие советы

Если то, что вы делаете, больше похоже на веб-сайт, чем на API, рассмотрите возможность использования обычной веб-инфраструктуры, например Джанго.

Я постараюсь ответить на ваши различные вопросы индивидуально.

Являются ли другие варианты, такие как торнадо и стандартные розетки Python лучшим (или более популярным) подходом?

В наши дни фреймворки WSGI являются, безусловно, самыми популярными вариантами.Они могут дать вам доступ к GET и POST Примитивы, но часто обертывают их достаточным синтаксическим сахаром, чтобы быстро вытащить вас на гонки.

Розетками для htt мало кто занимается.Чтобы дать вам представление, одна из наиболее популярных http-библиотек: Запросы изначально завернутый urrllib2 до недавнего времени.

Стоит ли действительно использовать отдельные ресурсы в операциях Twisted GET и POST?

Я не могу об этом говорить, поскольку я не разработчик Twisted.Кажется, это язык сам по себе.

Какой ресурс подойдет для начала в этой области разработки Python?

Для обработки GETs и POSTs, Вебоб вероятно, это хорошее место для начала.

Для более подробного контекста: webob оборачивает базовые примитивы Python, поступающие из WSGI (рифмуется со словом «виски»).WSGI — это интерфейс между веб-приложениями и серверами, мало чем отличающийся от компьютерная графика.

ПЭП 3333, документ, определяющий стандарт WSGI, — действительно хорошая отправная точка, если вас интересуют подробности http.

Чуть ниже в стеке можно увидеть несколько серверов WSGI, которые стоит проверить.Облачные варианты платформы как услуги (PaaS), такие как Google App Engine и Хероку позаботится о деталях за вас.С другой стороны, существуют специализированные серверы wsgi, такие как пушка и Торнадо, с последним вы уже знакомы.

Если вы хотите просто сделать что-то, посмотрите Бутылка, Колба, Джанго, или любой другой замечательный веб-фреймворк Python.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top