一、Web应用

二、Web框架

三、wsgiref模块

 

一、Web应用

  1、什么是Web应用?

  Web应用程序是一种可以通过Web访问的应用程序,特点是用户很容易访问,只需要有浏览器即可,不需要安装其他软件。

  2、Web应用程序的模式

  应用程序有两种模式,即C/S、B/S两种,C/S是客户端/服务器端程序,这类程序一般独立运行;而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助谷歌,火狐等浏览器来运行。Web应用程序一般是B/S模式。在网络编程的意义下,浏览器是一个socket客户端,服务器是一个socket服务端。

  3、实例

import socket   # 导入模块

def handle_request(client):
    request_data = client.recv(1024)  # 接收数据
    print('request data:',request_data)
    client.send('HTTP/1.1 200 OK\r\n\r\n'.encode('utf8'))  # 发送请求
    client.send("<h1 style='color:blue'>Hello world</h1>".encode('utf8')) 


def main():
    sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 实例化
    sock.bind(('localhost',8800)) # 指定连接的服务器及端口
    sock.listen(5)  # 监听

    while True:
        print('waiting....')
        connection,address = sock.accept()  # 收到数据
        handle_request(connection)  #处理连接
        connection.close()  # 关闭连接

if __name__ == '__main__':
    main()

   注意: 

报文格式:

请求/响应首行
请求/响应头
请求头
请求头
...

请求/响应体(如user=cc&pwd=123)# 注意:只有POST请求才会有请求体,请求头与请求体之间使用“\r\n\r\n”进行区分,其余请求首行、请求头之间均用“\r\n”分隔

b'GET / HTTP/1.1\r\nHost: 127.0.0.1:8080\r\nConnection: keep-alive\r\nCache-Control: max-age=0\r\nUpgrade-Insecure-Requests: 1\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.134 Safari/537.36 Vivaldi/2.5.1525.40\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: zh-CN,zh;q=0.9\r\n\r\n'


b'POST / HTTP/1.1\r\nHost: 127.0.0.1:8080\r\nConnection: keep-alive\r\nContent-Length: 15\r\nCache-Control: max-age=0\r\nOrigin: http://127.0.0.1:8080\r\nUpgrade-Insecure-Requests: 1\r\nContent-Type: application/x-www-form-urlencoded\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.134 Safari/537.36 Vivaldi/2.5.1525.40\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3\r\nReferer: http://127.0.0.1:8080/\r\nAccept-Encoding: gzip, deflate, br\r\nAccept-Language: zh-CN,zh;q=0.9\r\n\r\nuser=cc&pwd=123'
View Code

相关文章:

  • 2021-09-14
  • 2021-08-05
  • 2021-05-05
  • 2022-12-23
  • 2022-01-17
  • 2022-12-23
  • 2021-10-10
猜你喜欢
  • 2022-12-23
  • 2021-11-07
  • 2021-05-18
  • 2022-12-23
  • 2021-09-30
  • 2020-01-05
相关资源
相似解决方案