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
   87   88   89   90   91   92   93   94   95   96   97