位置: 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时间表)

  • 苹果13芯片是多少纳米(苹果13芯片多少钱一个)

    苹果13芯片是多少纳米(苹果13芯片多少钱一个)

  • 苹果xr面容解锁突然不能用的原因(苹果xr面容解锁突然不能用了是怎么回事?)

    苹果xr面容解锁突然不能用的原因(苹果xr面容解锁突然不能用了是怎么回事?)

  • 苹果手机充电显示什么图标(苹果手机充电显示黄颜色)

    苹果手机充电显示什么图标(苹果手机充电显示黄颜色)

  • 小红书发布笔记被显示违规有什么影响(小红书发布笔记如何分类合集)

    小红书发布笔记被显示违规有什么影响(小红书发布笔记如何分类合集)

  • 快手我在他的通讯录里是什么意思(快手我在他的通讯录里有个爱心)

    快手我在他的通讯录里是什么意思(快手我在他的通讯录里有个爱心)

  • 微信视频手机发烫的原因(微信视频手机发热)

    微信视频手机发烫的原因(微信视频手机发热)

  • OPPO手机如何备份数据(oppo手机如何备份照片)

    OPPO手机如何备份数据(oppo手机如何备份照片)

  • p30滤镜怎么开(华为p30滤镜在哪里开)

    p30滤镜怎么开(华为p30滤镜在哪里开)

  • 微信更换实名后原来的信息还有吗(微信更换实名后有什么影响)

    微信更换实名后原来的信息还有吗(微信更换实名后有什么影响)

  • 美图秀秀照片上面怎么加文字?(美图秀秀照片上怎么编辑文字)

    美图秀秀照片上面怎么加文字?(美图秀秀照片上怎么编辑文字)

  • boss直聘怎么改微信号(boss直聘怎么修改学历)

    boss直聘怎么改微信号(boss直聘怎么修改学历)

  • 顾客好评怎么发圈(顾客好评怎么发文案)

    顾客好评怎么发圈(顾客好评怎么发文案)

  • airpods一代续航多久(airpods一代续航问题)

    airpods一代续航多久(airpods一代续航问题)

  • 屏幕换tp是什么意思(换过tp得屏幕坏处)

    屏幕换tp是什么意思(换过tp得屏幕坏处)

  • ui图像的斜率代表什么(ui图像和iu图像的斜率)

    ui图像的斜率代表什么(ui图像和iu图像的斜率)

  • 太阳能手表停了怎么办(太阳能手表停了要晒多久)

    太阳能手表停了怎么办(太阳能手表停了要晒多久)

  • 苹果11pro港版支持电信吗(11pro港版支持双卡吗)

    苹果11pro港版支持电信吗(11pro港版支持双卡吗)

  • paat00是什么手机(paam00是什么手机型号吗)

    paat00是什么手机(paam00是什么手机型号吗)

  • 华为mate30pro夜景模式怎么设置(华为mate30pro夜景教程)

    华为mate30pro夜景模式怎么设置(华为mate30pro夜景教程)

  • 怎么缩短视频长度(怎么把长视频加快缩短成短时间的)

    怎么缩短视频长度(怎么把长视频加快缩短成短时间的)

  • 手机qq怎么查看屏蔽的人(手机qq怎么查看别人撤回的消息)

    手机qq怎么查看屏蔽的人(手机qq怎么查看别人撤回的消息)

  • 电脑文件怎么保存到桌面(电脑文件怎么保存)

    电脑文件怎么保存到桌面(电脑文件怎么保存)

  • 小爱语音引擎有什么用(小爱语音引擎有什么作用)

    小爱语音引擎有什么用(小爱语音引擎有什么作用)

  • 不修改退款原因能退款吗(不修改退款原因怎么办)

    不修改退款原因能退款吗(不修改退款原因怎么办)

  • 手机qq电话怎么关闭麦克风(手机qq电话怎么转到电脑上)

    手机qq电话怎么关闭麦克风(手机qq电话怎么转到电脑上)

  • Windows 10“显示最常用的应用”按钮灰色不可用怎么办(windows10显示未激活怎么办)

    Windows 10“显示最常用的应用”按钮灰色不可用怎么办(windows10显示未激活怎么办)

  • 城市公交算国企吗
  • 企业准备注销了怎么恢复
  • 股东个人财产转让协议
  • 转让股份的印花税怎么交
  • 城建税和教育费附加可以税前扣除吗
  • 买交强险需要把车开过去吗
  • 内部伙食费购买会计分录
  • 基本户借款 一般户可以还吗
  • 某项目全部投资资金的40%由银行贷款
  • 继续教育专项扣除金额
  • 小微企业所得税优惠政策最新2022
  • 工业企业成本核算的一般程序包括下列的
  • 开具有误拒收的增值税专用发票怎么办?
  • 待摊费用不要了怎么做账?
  • 企业委托银行收款,银行以办妥手续,而企业尚未收到凭证
  • 增值税晚交一个月会怎么样
  • 销售中有运费收入吗
  • 预提费用入账依据
  • 开了增值税发票不确认收入可以吗
  • 航天金税费用怎么做账
  • 专票开户行和账号必须填吗
  • 研发支出资本化支出在报表哪里
  • 注销怎么做账
  • 补缴去年的社保怎么做账
  • 事业单位收到投资的账务处理
  • 库存现金的定义及特征
  • 企业所得税年报过了申报期还能修改吗
  • 残保金每年什么时候申报缴纳
  • 鸿蒙系统智能设备怎么开启
  • 预付账款可以为负吗
  • linux输出结果
  • os x yosemite wifi断线怎么办?yosemite wifi掉线解决详细步骤
  • php mb_convert_encoding
  • 高新技术企业的研发费用加计扣除
  • 印花税和所得税需要计提吗
  • 收到供应商现金怎么入账
  • php设计模式六大原则
  • 高新技术企业税率15%
  • 企业的生产成本等于
  • 理财收益如何计税
  • 残保金政策建议
  • php调试函数
  • 电票怎么付给别人
  • html渐变色背景
  • 基础kl
  • 工程师模式有什么用
  • named-config
  • 减资资产负债表怎么填
  • db2diag命令
  • 企业所得税季报是填累计数吗
  • 取得不规范发票的处理
  • 实缴资本需要存放多久
  • 小企业长期债券投资损失应当计入
  • 医院发票丢失怎么补办
  • 公司会计日常工作内容
  • 库存商品怎么结转收入
  • 差旅费属于什么会计科目 会计分录
  • 以汽车投资作为投资项目
  • 未开票收入如何纳税申报
  • 车辆报废取得的收入增值税怎么算
  • 办公室装修费用怎么入账
  • 收到投资款如何做税务登记
  • 销售回款率怎么计算,麻烦知道的告诉我,11
  • 账务不实与账实不符
  • 物业服务企业管理
  • mysql数据库中储存的是
  • windows 11安全模式
  • xp系统本地连接启用不了
  • window8系统安装步骤
  • win8怎么打开word
  • 2021年win10累积更新
  • win81无线网络没有了
  • linux开发android好处
  • excel文档权限设置
  • cocos2dx-3.2+lua 常用代码
  • js中的flat
  • javascript document.execCommand() 常用解析
  • js混杂模式
  • 税务人员廉洁自律承诺书
  • 税务非正常户解除申请怎么写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设