利用python写一个简单的web东东,帮你梳理知识要点

135 篇文章 2 订阅
132 篇文章 1 订阅

前言

首先,这是网络编程的范围,所以要了解这部分的知识。

网络协议

首先,在网络上通信,我们需要相关的网络协议,如TCP/IP, UDP…等待。

当然,你可以说我从一个框架开始,并不想知道太多。没关系,但我相信你会愿意回顾一段时间的基础知识。

说到网络编程,您一定见过Socket,它转换成Socket。这是什么?我相信你和我第一次见到它时一样迷糊。我认为这不是一个好的翻译。我认为引用一段话是一个很好的解释。

Socket是网络编程的一个抽象概念。通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可。

然后,不管各种框架是什么,套接字模块通常直接用Python在网络编程中使用。具体的示例代码,我在书中随机找到伪代码并复制到下面。

过程如下:首先创建服务器,然后创建客户机。

然后他们开始参与发送和接收对话,直到连接终止。

当我们这样做时,我们需要打开两个命令行窗口,一个运行服务器程序,另一个运行客户机程序,这样我们就可以看到对话的效果。

在这里您应该有一个大致的概念:在网络上进行通信,需要通信的双方,以及网络协议,然后建立连接。
在这里插入图片描述

Web开发

网络当然是网络的一部分。

在Web应用程序中,服务器将Web页面传递给浏览器,实际上,它将Web页面的HTML代码发送给浏览器,以便浏览器能够显示它。浏览器和服务器之间的传输协议是HTTP,因此:
HTML是一种用来定义网页的文本,可以用HTML编写。

HTTP是一种通过网络传输HTML的协议,用于浏览器和服务器之间的通信。

HTTP协议似乎是Web开发中一个非常重要的协议。

对于HTTP协议的具体知识,我推荐一本书《图形化HTTP协议》。

因此,在Web应用程序中,通常很难接受HTTP请求、解析HTTP请求和发送HTTP响应。因此,如果您需要自己实现它,则必须使用TCP连接、HTTP原始请求和响应格式。据估计,您必须阅读大量相关规范。

WSGI

然而,大多数Web应用程序开发人员不愿意在这些繁重的工作上花费时间,所以WSGI应运而生。它的全称是Web服务器网关接口。

WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应
HTTP请求。

Python还有一个名为wsgiref的内置WSGI服务器,它是用纯Python编写的WSGI服务器的参考实现。所谓的“参考实现”是指该实现完全符合WSGI标准,但不考虑任何操作效率,仅用于开发和测试。

了解WSGI框架后,我们发现:实际上,Web应用程序是编写一个WSGI处理函数来响应每个HTTP请求。

但是当有更多的HTTP请求和url时,问题又出现了:如何处理url和处理函数之间的映射关系?

WSGI提供的接口虽然比HTTP接口高级了不少,但和Web
App的处理逻辑比,还是比较低级,我们需要在WSGI接口之上能进一步抽象,让我们专注于用一个函数处理一个URL,至于URL到函数的映射,就交给Web框架来做。

因此,Python内置的WSGI服务器当然不足以满足许多人的需求,但我们可以选择其他框架。

Web框架

目前,有许多Web框架运行在WSGI协议上。从个人经验来看:Flask为轻量级,Django为重量级,当然还有其他的,但我没有深入研究,您可以自己搜索。

有很多教程可以学习它们,如“Wolf Book”、“Flask Web开发实践:介绍、改进和初步分析”、“Dog Book”、“Flask Web开发:基于python的Web应用程序开发实践”等很好的参考书。

当然,这些框架也单独实现WSGI。

因为每个Web框架并不专门用于服务器的实现,所以这些WSGI服务器通常在开发和调试期间使用。在生产环境中部署时,您不会简单地使用Web框架附带的服务器。

用于真实环境的WSGI服务器

Gunicorn这可能是最受欢迎的一个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值