1、Web服务器

web 服务器一词可以代指硬件或软件,或者是它们协同工作的整体。

在这里插入图片描述 基本上,当浏览器需要一个托管在网络服务器上的文件的时候,浏览器通过 HTTP 请求这个文件。当这个请求到达正确的 web 服务器(硬件)时,HTTP 服务器(软件)收到这个请求,找到这个被请求的文档(如果这个文档不存在,那么将返回一个 404 响应),并把这个文档通过 HTTP 发送给浏览器。

<font color=blue>web 服务器提供了 HTTP(Hypertext Transfer Protocol,超文本传输协议)支持。正如它的名字暗示,HTTP 明确提出了如何在两台计算机间传输超文本(链接的 web 文档)。

协议是一套为了在两台计算机间交流而制定的规则。HTTP 是一个文本化的(textual),无状态的(stateless)协议。

2、Python

2.1 简介

https://www.python.org/

Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
  • Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。 在这里插入图片描述

2.2 安装

https://www.python.org/downloads/windows/

在这里插入图片描述

2.3 使用

2.3.1 http.server(命令)

Python中自带了简单的服务器程序,能较容易地打开服务。 在python3中将原来的SimpleHTTPServer命令改为了http.server,使用方法如下:

cd test
python -m http.server

# 如果不使用默认端口,可在开启时附带端口参数
python -m http.server 8001

# (-b 绑定ip,不指定的话默认是本机ip)
python -m http.server -b 127.0.0.1 

# 下面的命令使用一个特定的目录:
python -m http.server --directory /tmp/

命令行执行如下:

http://127.0.0.1:8000

开启成功,则会输出“Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) …”,表示在本机8000端口开启了服务。 在这里插入图片描述

浏览器访问如下: 可以使用http://127.0.0.1:8000/查看www目录下的网页文件,若无index.html则会显示目录下的文件。

http://127.0.0.1:8000

在这里插入图片描述 如果需要后台运行,可在命令后加"&"符号,Ctrl+C不会关闭服务,如下:

python -m http.server &

如果要保持服务,则在命令前加nohup以忽略所有挂断信号,如下:

nohup python -m http.server 8001

2.3.2 socketserver

import http.server
import socketserver

PORT = 8000

Handler = http.server.SimpleHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()
  • 代码执行如下: 在这里插入图片描述
  • 浏览器访问如下:
http://127.0.0.1:8000

在这里插入图片描述

2.3.3 flask

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。 Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

https://flask.net.cn/ 在这里插入图片描述

  • 安装库
pip install flask
  • app.py
from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello, World!'

if __name__ == '__main__':
	app.run()
  • 脚本代码执行如下:

在这里插入图片描述

  • 浏览器访问如下:
http://127.0.0.1:5000

在这里插入图片描述 或者通过如下命令执行脚本文件app.py。

flask run

在这里插入图片描述

2.3.4 fastapi

FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。 FastAPI 可与 NodeJS 和 Go 并肩的极高性能(归功于 Starlette 和 Pydantic)。 FastAPI 框架,高性能,易于学习,高效编码,生产可用

https://fastapi.tiangolo.com/zh/ 在这里插入图片描述

  • 安装库
pip install fastapi
pip install fastapi[all]
pip install uvicorn 
  • main.py
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

通过如下命令执行脚本文件:

uvicorn main:app --reload

运行结果如下: 在这里插入图片描述 浏览器访问如下:

http://127.0.0.1:8000

在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭ 如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O??? 如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡) 感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!