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

  • 宿康宝身份证号怎么修改(宿康宝身份证号填错了怎么修改)

    宿康宝身份证号怎么修改(宿康宝身份证号填错了怎么修改)

  • iphone怎么通过蓝牙共享网络(iphone怎么通过蓝牙传到电脑)

    iphone怎么通过蓝牙共享网络(iphone怎么通过蓝牙传到电脑)

  • win11任务栏怎么放到侧面(win11任务栏怎么隐藏)

    win11任务栏怎么放到侧面(win11任务栏怎么隐藏)

  • 抖音怎么看对方注销了(抖音怎么看对方有没有关注你)

    抖音怎么看对方注销了(抖音怎么看对方有没有关注你)

  • 小米mix2s要不要系统升级

    小米mix2s要不要系统升级

  • 微信怎样转发别人的朋友圈(微信怎样转发别人的语音)

    微信怎样转发别人的朋友圈(微信怎样转发别人的语音)

  • 笔记本电脑连接打印机不能打印什么原因(笔记本电脑连接显示器,关上笔记本盖子)

    笔记本电脑连接打印机不能打印什么原因(笔记本电脑连接显示器,关上笔记本盖子)

  • 电脑qq提示音怎么静音(电脑qq提示音怎么设置)

    电脑qq提示音怎么静音(电脑qq提示音怎么设置)

  • 微视红包怎么没了(微视为啥没红包了)

    微视红包怎么没了(微视为啥没红包了)

  • 魅族17上市时间(魅族20价格)

    魅族17上市时间(魅族20价格)

  • 微信滴滴什么时候付款(微信滴滴出行什么时候付款)

    微信滴滴什么时候付款(微信滴滴出行什么时候付款)

  • 华为畅享10与10e有什么不同(华为畅享10与10e手机壳有什么不同)

    华为畅享10与10e有什么不同(华为畅享10与10e手机壳有什么不同)

  • 怎么知道来电是转接的(怎么知道来电是骚扰电话)

    怎么知道来电是转接的(怎么知道来电是骚扰电话)

  • vivo快应用是什么软件(vivo手机快应用有什么作用)

    vivo快应用是什么软件(vivo手机快应用有什么作用)

  • 苹果手机怎样删除桌面上的软件(苹果手机怎样删除app软件)

    苹果手机怎样删除桌面上的软件(苹果手机怎样删除app软件)

  • 苹果手机怎么设置天气位置(苹果手机怎么设置门禁卡NFC)

    苹果手机怎么设置天气位置(苹果手机怎么设置门禁卡NFC)

  • 电脑怎么连续选择(电脑怎么连续选中照片)

    电脑怎么连续选择(电脑怎么连续选中照片)

  • OPPO k5有谷歌服务框架吗(oppok5自带谷歌商店嘛)

    OPPO k5有谷歌服务框架吗(oppok5自带谷歌商店嘛)

  • 手机相机实况在哪里(手机相机实况在哪里找)

    手机相机实况在哪里(手机相机实况在哪里找)

  • 线下支付送流量在哪看(线下支付送流量是真的吗)

    线下支付送流量在哪看(线下支付送流量是真的吗)

  • 苹果音乐怎么永久免费(苹果怎么让音乐始终播放)

    苹果音乐怎么永久免费(苹果怎么让音乐始终播放)

  • 微信文件怎么打印(微信文件怎么打包)

    微信文件怎么打印(微信文件怎么打包)

  • 微博经常访问怎么删除(微博经常访问怎么隐藏)

    微博经常访问怎么删除(微博经常访问怎么隐藏)

  • mac 无法开机(mac无法开机的原因)

    mac 无法开机(mac无法开机的原因)

  • ps填充颜色快捷键(照片填充颜色怎么弄)

    ps填充颜色快捷键(照片填充颜色怎么弄)

  • 捐赠支出增值税
  • 企业成立多久能注销
  • 无息贷款合同要按手印吗
  • 什么不属于损益类的会计项目
  • 滴滴发票抬头怎么填
  • 饭店采购食材没发票
  • 工会经费可以支付哪些费用
  • 独立核算的生产车间是法律主体吗
  • 小规模纳税人的税率是多少(含国、地税)
  • 电子发票怎么红冲步骤视频
  • 网络招聘合同
  • 开发票与实际金额不符属于什么
  • 所得税报表怎么申报
  • 留抵税额怎么计算
  • 电子承兑汇票怎么打印出来
  • 存货跌价准备如何结转
  • 职工教育经费不提可以吗
  • 公司章程认缴时效是多久
  • 科技服务业是怎么分类的
  • 5000以下的固定资产当月一次性扣除怎么申报
  • 出售提完折旧的固定资产怎么记账
  • 什么是要约的撤销
  • linux gcc命令详解
  • 动态路由协议rip配置实验心得
  • 隐藏资源管理器窗口
  • launcher process
  • php axios
  • 残疾人增值税即征即退政策2020
  • 政府搬迁补偿款怎么算
  • 特殊性税务处理弥补亏损限额
  • 接受捐赠旧的固定资产以什么价格入帐
  • wordpress portfolio
  • uniapp image mode
  • php静态方法调用
  • 公司投资资金
  • 资产负债表和利润表的利润不一致
  • YOLOv8(n/s/m/l/x)&YOLOv7(yolov7-tiny/yolov7/yolov7x)&YOLOv5(n/s/m/l/x)不同模型参数/性能对比(含训练及推理速度)
  • 前端开发从入门到放弃
  • 微信小程序在哪里找?
  • nginx跨域配置详解
  • 职工教育经费是否可以抵扣进项税
  • 实现自己的http server loop_in_codes C++博客
  • 精灵图的使用
  • 公司没业务可以暂停营业吗
  • 个人独资企业法主要内容
  • mysql常见报错
  • 招标押金有规定吗
  • 固定资产增加
  • 火车票可以抵扣进项吗
  • 人力资源劳务外包需要什么资质证书
  • 企业税预缴在哪里
  • 贴现的概念及计算公式
  • 餐饮企业餐具计入什么科目
  • 缴纳印花税如何写分录
  • 办公室装修费计入长期待摊费用
  • 进项税额已经抵扣会计分录
  • 公司名下没有车可以办油卡吗
  • 事业单位项目结算审计报告
  • 会议费报销管理办法
  • 应交税费中应交税金包含个税吗
  • 季度盈利弥补以前年度亏损的账务处理
  • 税金及附加有啥
  • 利润分配审计案例
  • 发票提前开能入费用吗?
  • dwm exe是什么
  • windows 8 build
  • 如何设置win10默认程序
  • win8怎么连接宽带账号密码
  • retail版win10
  • vs2012怎么样
  • 设计一个windows
  • 用javascript写简单网页
  • 重庆市国家税务局电子税务局官网
  • 打印发票需要什么信息
  • 公务员考试税局
  • 加油发票如何抵扣
  • 北京国税局电话客服热线
  • 税收负担与税负转嫁
  • 按月申报印花税如何计税
  • 我国公益性企业有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设