Jaka jest różnica między BaseHTTPServer i SimpleHTTPServer? Kiedy i gdzie należy ich używać?Jaka jest różnica między BaseHTTPServer i SimpleHTTPServer? kiedy i gdzie go użyć?
11
A
Odpowiedz
10
BaseHTTPServer
to biblioteka serwera HTTP. Rozumie protokół HTTP i pozwala twojemu kodowi obsługiwać żądania. Nie ma żadnej "logiki" na własną rękę. SimpleHTTPServer
jest zbudowany na podstawie BaseHTTPServer
i obsługuje żądania w podobny sposób, jak robią to zwykłe serwery HTTP, tj. Obsługują pliki z systemu plików. W większości przypadków będziesz potrzebował tylko BaseHTTPServer
, jako podstawy do wdrożenia jakiegoś serwera programistycznego dla aplikacji internetowej.
Jeśli jesteś zainteresowany pracą w aplikacji internetowej, a nie pisaniem serwera HTTP, prawdopodobnie szukasz interfejsu WSGI. Pozwala pisać aplikacje internetowe bez zależności od konkretnego serwera. Istnieje również wiele frameworków, które upraszczają ten proces.
Trzeba dodać, że SimpleHTTPServer również jest całkiem przydatny. Po prostu odpalaj z $ python -m SimpleHTTPServer, a serwujesz swoje pliki za pomocą HTTP! –
Tworzę proste web gui dla mojej aplikacji i nie chcę używać frameworków takich jak twisted itp. czy można używać wsgi z wbudowanym serwerem http? – Sriram
Istnieje serwer WSGI bazujący na 'BaseHTTPServer' w' wsgi.simple_server'. Ale zaletą WSGI jest to, że możesz użyć dowolnego serwera WSGI, który chcesz. Możesz użyć na przykład serwera WSGI od CherryPy, a nawet Twisted, bez pisania kodu CherryPy lub Twisted. –