位置: IT常识 - 正文

使用python搭建一个简易的Web服务(如何搭建python)

编辑:rootadmin
使用python搭建一个简易的Web服务 介绍

推荐整理分享使用python搭建一个简易的Web服务(如何搭建python),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:如何搭建python项目架构,用python搭建的网站有哪些,如何搭建python项目架构,如何搭建python编程环境,如何搭建python编程环境,如何搭建python开发环境?(用自己的语言陈述),python 搭建,python 搭建,内容如对您有帮助,希望把文章链接给更多的朋友!

简单的说,web服务器就是机器上监听了本地的IP和端口的一个进程,当有客户的请求进来时,它会响应客户的请求并返回相应的信息。客户端和服务端之间的通信基于HTTP协议,客户端可以是浏览器或者任何支持HTTP的应用。我们平时访问网页或手机APP里接受服务端的数据,都是通过这样的方式。

下面这张图是一个客户端和服务端交互的过程

用户在浏览器输入网址向web服务器发出一个请求,web服务器收到请求后返回Hello, world!给浏览器,用户就能在浏览器上看到文字。

代码实现

我们来用Python实现这样一个简单的web服务器。代码如下

import socketHOST, PORT = '', 8888listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)listen_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)listen_socket.bind((HOST, PORT))listen_socket.listen(1)print('Serving HTTP on port %s ...' % PORT)while True: client_connection, client_address = listen_socket.accept() request = client_connection.recv(1024) print(request.decode("utf-8")) http_response = """\HTTP/1.1 200 OKHello, World!""" client_connection.sendall(http_response.encode("utf-8")) client_connection.close()使用python搭建一个简易的Web服务(如何搭建python)

上面的代码监听本地的8888端口,收到客户端的请求后,在控制台打印出请求的头部和内容,并返回响应的头部和内容给客户端。

运行上面的代码

root@ubuntu:~# python server.pyServing HTTP on port 8888 ...

打开浏览器,访问http://localhost:8888/,会在浏览器看到如下的页面

同时在程序的控制台会有如下的输出

GET / HTTP/1.1Host: localhost:8888Connection: keep-aliveCache-Control: max-age=0Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8Accept-Encoding: gzip, deflate, brAccept-Language: en-US,en;q=0.8

 这就是客户端请求的头部信息。

HTTP协议是TCP协议上层的协议,因此在实现HTTP交互之前,客户端和服务端先要创建TCP连接。创建TCP连接就要用到socket模块。创建TCP连接由客户端发起,为接受客户端的TCP连接请求,服务器端需要经历以下几步:

创建socket调用bind绑定到指定的IP和端口调用listen监听端口调用accept接受客户端的请求

至此一个TCP连接创建完成,接下来就可以进行数据的收发。

好了,以上就是一个最简单的web服务器。

本文链接地址:https://www.jiuchutong.com/zhishi/299328.html 转载请保留说明!

上一篇:【java web篇】MyBatis之Mapper代理(javaweb官方文档)

下一篇:英雄联盟轮播图手动轮播(英雄联盟轮转模式2020时间表)

  • 上海公交车可以微信支付吗(上海公交车可以刷两次吗)

    上海公交车可以微信支付吗(上海公交车可以刷两次吗)

  • 淘宝盖楼怎么玩(淘宝盖楼攻略)

    淘宝盖楼怎么玩(淘宝盖楼攻略)

  • 微软是啥(微软是啥意思有什么作用)

    微软是啥(微软是啥意思有什么作用)

  • 微信浏览有痕迹在哪(微信浏览痕迹他人可看吗)

    微信浏览有痕迹在哪(微信浏览痕迹他人可看吗)

  • 抖音搜索次数达上限(抖音 搜索次数)

    抖音搜索次数达上限(抖音 搜索次数)

  • 抖音狂点爱心有什么用(抖音点爱心有钱吗)

    抖音狂点爱心有什么用(抖音点爱心有钱吗)

  • 短信被拉黑后发消息过去会显示什么(短信被拉黑后发消息对方是否看得到)

    短信被拉黑后发消息过去会显示什么(短信被拉黑后发消息对方是否看得到)

  • 华为p40是双卡还是单卡(华为p40双卡还可以插内存卡吗)

    华为p40是双卡还是单卡(华为p40双卡还可以插内存卡吗)

  • airpods可以连接笔记本吗(airpods可以连接ipad吗)

    airpods可以连接笔记本吗(airpods可以连接ipad吗)

  • 苹果鼠标充电不亮灯怎么知道充满了(苹果鼠标充电不能用怎么办)

    苹果鼠标充电不亮灯怎么知道充满了(苹果鼠标充电不能用怎么办)

  • 条件式转接开启是什么意思(什么是条件式转接)

    条件式转接开启是什么意思(什么是条件式转接)

  • 接视频没声音怎么回事(打视频接视频都没有声音怎么办呀?)

    接视频没声音怎么回事(打视频接视频都没有声音怎么办呀?)

  • 苹果官网发货要多久(苹果官网发货要过海关吗)

    苹果官网发货要多久(苹果官网发货要过海关吗)

  • 新概念计算机包括什么(新概念计算机包括量子计算机吗)

    新概念计算机包括什么(新概念计算机包括量子计算机吗)

  • cad修改文字的快捷键(cad修改文字的快捷键命令)

    cad修改文字的快捷键(cad修改文字的快捷键命令)

  • 笔记本键盘不能用了怎么回事(笔记本键盘不能用了,是锁住什么了吗)

    笔记本键盘不能用了怎么回事(笔记本键盘不能用了,是锁住什么了吗)

  • nfc需要一直打开吗(nfc要常开吗)

    nfc需要一直打开吗(nfc要常开吗)

  • 微信不删除不拉黑怎么拒收对方信息(微信不删除不拉黑怎么拒收信息)

    微信不删除不拉黑怎么拒收对方信息(微信不删除不拉黑怎么拒收信息)

  • vivox20多大运存(vivox20运行内存是4g还是6g)

    vivox20多大运存(vivox20运行内存是4g还是6g)

  • 手机大文件能清理吗(手机大文件清理里哪些可删)

    手机大文件能清理吗(手机大文件清理里哪些可删)

  • 米8能用27w的充电器吗(米8能用多少a的充电线)

    米8能用27w的充电器吗(米8能用多少a的充电线)

  • 电脑pin怎么设置(电脑PIN怎么设置?)

    电脑pin怎么设置(电脑PIN怎么设置?)

  • qq号可以改吗(qq号可以改吗?纯数字的)

    qq号可以改吗(qq号可以改吗?纯数字的)

  • 为什么腾讯视频不能投屏(为什么腾讯视频打不开)

    为什么腾讯视频不能投屏(为什么腾讯视频打不开)

  • vue生成视频闪退(vue视频刚刚出炉还在处理中)

    vue生成视频闪退(vue视频刚刚出炉还在处理中)

  • 进口关税计算公式 案例
  • 股权转让产生的印花税
  • 无进项开票税点
  • 专票没有抵扣联可以作废吗
  • 建筑企业外管证有效期
  • 个体户一季度不超过30
  • 回单一定要在开户行打吗
  • 基本户注销后还可以再开吗
  • 冲减上年度收入的会计分录
  • 契税的计税金额是什么
  • 内含增长率的推导
  • 房产税细节
  • 分摊材料成本差异的会计处理
  • 销售产生的增值税
  • 装修改造费用按多少年摊销
  • 房屋征收服务中心是干什么的
  • 私人转公账可以吗
  • 出口退税对企业利润的影响
  • 营改增后工程税收怎么计算
  • 房产赠与税如何征收2021
  • 营改增后固定资产报废处置收入计税
  • 营业成本包括费用类吗
  • 基金会可以投资企业吗
  • 小微企业季度所得税怎么计算
  • 小规模季度划分
  • 事业单位事业收入和经营收入要上缴财政
  • 企业的不征税收入用于支出所形成的资产,其计算的折旧
  • 小规模减免增值税政策
  • 小型微利企业普惠性税收减免政策执行期限
  • 企业生产销售白酒取得的下列款项中,应并入
  • 房子按季度收取租金,怎么交房产税
  • 政府的扶持资金是否缴税
  • 外贸公司进出口权办理流程
  • 股东车辆保险费会计分录
  • sdstat.exe - sdstat是什么进程 有什么用
  • 海关进口增值税怎么认证抵扣
  • PHP:pcntl_setpriority()的用法_PCNTL函数
  • php.ini详解
  • 房改转移什么意思
  • php数组函数有哪些
  • 服务业增值税加计扣除账务处理
  • ant design vue 表单
  • 成功解决用英语怎么说
  • ip a命令详解
  • 税务局清税
  • 企业处置固定资产发生的净损失应计入
  • 基本户往一般户转钱有限制吗
  • 怎么安装vue-cli脚手架
  • php怎么装
  • dedecms配置
  • 一般户可以付款吗
  • 增值税发票抵扣联的作用
  • 不抵扣勾选的发票在哪里查看
  • 筹建期间的费用计入什么费用
  • 商誉在资产负债表中如何体现
  • sql解析执行顺序
  • 多计提的工资怎么调账
  • 股权转让低于净资产的税怎么算
  • 工程挂靠取得的收入怎么做账?
  • 发票金额比实际支付金额大
  • 股权投资如何记账
  • 管理费用如何做分录
  • 收到发票就是付款了吗
  • 会计上有哪些
  • 删除重复记录mysql
  • .ccc是什么文件
  • xp输入法图标不显示图片
  • 果粉必修课 盘点Mac OS X系统发展史
  • win10开机黑屏进入不了系统界面
  • linux磁盘结构
  • centos7安装中文包
  • linux制作
  • jquery操作
  • mac的命令
  • angular ...
  • angular jsx
  • 国家税务总局在哪
  • 个体户需要报个税的综合所得吗
  • 正外部性与负外部性的定义
  • 北京市税务局热搜
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设