Page 92 - 6734
P. 92
клас обробника запитів
def handle(self): # обробляє запити
(перевизначений)
print self.client_address # показати адресу
клієнта
x=self.request.recv(255) # отримати рядок
#x=read(self.request) # або
print 'Client:', x
time.sleep(10) # затримка (для тестування
багатопотоковості)
self.request.sendall(x) # надіслати рядок
#write(self.request,x) # або
self.request.close() # закрити з'єднання з
клієнтом
# створити багатопотоковий TCP сервер з обробником
MyClientHandler
server = SocketServer.ThreadingTCPServer(('', 50007),
MyClientHandler) # порт 50007 або порт 0 (довільний
незайнятий порт)
try:
server.serve_forever() # обробляти запити вічно
except KeyboardInterrupt: # якщо натиснуто Ctrl-C
server.shutdown() # зупинити сервер
CGI HTTP сервер
Веб-сервер — це програма, яка приймає HTTP-запити від
клієнтів (зазвичай веб-браузерів) і видає їм HTTP-відповіді, як
правило, з HTML-сторінкою. Протокол передачі гіпертексту HTTP
описує HTTP-повідомлення, які складаються зі стартового рядка
(тип повідомлення), заголовків (параметри транзакції HTTP) і
необов’язкового тіла (наприклад із даними HTML). HTTP-
повідомлення можна переглянути, наприклад, у браузері Firefox 61
в меню веб-розробка/мережа. Приклад HTTP-запиту типу GET до
ресурсу /hello.html.
91