03 返回静态文件的高级web框架

服务器server端python程序(高级版):

 import socket
server=socket.socket()
server.bind(("127.0.0.1",8888))
server.listen() # 客户端请求每次都是独立不记录状态的无连接的,因此每个资源都会进行请求,要一直监听随时建立连接 while 1:
conn,client_addr=server.accept()
# 获取每次请求的文件路径
http_request=conn.recv(1024).decode("utf-8")
path=http_request.split("\r\n")[0].split(" ")[1]
print("path>>>",path)
# 每次返回数据都必须先发送格式协议
conn.send("HTTP/1.1 200 ok \r\n\r\n".encode())
# 判断客户端请求的文件路径,返回相应的数据
if path=="/": #“/”代表的是根目录,访问要默认返回的文件
with open("高级版.html","rb")as f:
conn.send(f.read())
elif path=="/index.css":
with open("index.css","rb")as f:
conn.send(f.read())
elif path=="/index.png":
with open("index.png","rb")as f:
conn.send(f.read())
elif path=="/index.js":
with open("index.js","rb")as f:
conn.send(f.read())
elif path=="/favicon.ico": #“/favicon.ico”代表的根目录下的favicon.ico文件(网页显示的title前边的图标)
with open("favicon.ico","rb")as f:
conn.send(f.read())
# 断开本次连接,进行资源回收
conn.close()

客户端浏览器访问:

在浏览器地址栏直接输入地址端口:127.0.0.1:8888

index文件html:

 <!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="index.css">
<link rel="icon"href=" favicon.ico">
<title>高级版</title>
</head>
<body>
<div id="d1">
<h1>高级版的页面:本html页面引用了外部本地css样式和js代码(本地图片)</h1>
</div>
<img src="静态文件高级版.png" alt="本地图片" title="本地图片">
</body>
<script src="index.js"></script>
</html>

03 返回静态文件的高级web框架的更多相关文章

  1. 05 返回静态文件的多线程web框架

    05 返回静态文件的多线程web框架 服务器server端python程序(多线程版): import socket from threading import Thread,currentThrea ...

  2. 04 返回静态文件的函数web框架

    04 返回静态文件的函数web框架 服务器server端python程序(函数版): import socket server = socket.socket() server.bind((" ...

  3. 06 返回静态文件的映射(函数/多线程)web框架

    06 返回静态文件的映射(函数/多线程)web框架 服务器server端python程序(函数版): import socket server = socket.socket() server.bin ...

  4. web框架的本质

    一 web框架的本质及自定义web框架 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,基于请求做出响应,客户都先请求,服务端做出对应的响 ...

  5. web 框架的本质及自定义web框架 模板渲染jinja2 mvc 和 mtv框架 Django框架的下载安装 基于Django实现的一个简单示例

    Django基础一之web框架的本质 本节目录 一 web框架的本质及自定义web框架 二 模板渲染JinJa2 三 MVC和MTV框架 四 Django的下载安装 五 基于Django实现的一个简单 ...

  6. django基础一之web框架的本质

    一 web框架的本质及自定义web框架 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,基于请求做出响应,客户都先请求,服务端做出对应的响 ...

  7. day 52 Django基础一之web框架的本质

    Django基础一之web框架的本质   django第一天 本节目录 一 web框架的本质及自定义web框架 二 模板渲染JinJa2 三 MVC和MTV框架 四 Django的下载安装 五 基于D ...

  8. 01.Django基础一之web框架的本质

    一 web框架的本质及自定义web框架 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,基于请求做出响应,客户都先请求,服务端做出对应的响 ...

  9. day 65 Django基础一之web框架的本质

      Django基础一之web框架的本质   django第一天 本节目录 一 web框架的本质及自定义web框架 二 模板渲染JinJa2 三 MVC和MTV框架 四 Django的下载安装 五 基 ...

随机推荐

  1. kubernetes1.30集群部署+dashboard+heapster

    v2.1 1.系统配置 1.1.禁用防火墙.禁用selinux #防火墙禁用 systemctl stop firewalld systemctl disable firewalld #SELinux ...

  2. SQLI-LABS学习笔记(四)

    第十六关   和之前的关卡一样,修改闭合,无意义的关卡   ")闭合即可   第十七关   这题从源码上看发现     这里进行了两次查询   先查询了用户名是否存在   再查询密码是否匹配 ...

  3. XEP-0199 XMPP Ping

    原文来自:https://xmpp.org/extensions/xep-0199.html,只翻译了技术方面的内容. 摘要:这个规范定义了一个通过XML流发送应用级别pings的XMPP扩展协议.这 ...

  4. Excel中的clean函数

    纯属note. 之前经常用excel处理数据的时候,对长文本或网站上拉取的值都会用clean函数清除一些我们肉眼看不到的非打印字符. Excel官方介绍:clean 删除文本中的所有非打印字符. 此次 ...

  5. App《最美诗词》开发 -- Java后端(整合框架)

    本人一直是致力于Android开发,由于我们三位Android开发者 @老蔡 @不肯过江东 打算一起开发Android App<最美诗词>,需要服务器端的接口支持,所以便兼职做起了后端的代 ...

  6. Norwegian Wood

    0 前言 <挪威的森林>是村上春树很有名的一部小说,但我想大多数人阅读的时候都只是把书名当作一个符号,而不是作为故事去追究. 我国台湾知名文学评论家杨照先生说过:村上的书里有太多太多典故, ...

  7. Vim Configuration

    安装原生态的Vim之后,界面是这样的: 行号,没有:自动缩进,没有:括号匹配,没有~ 为了我们使用的方便,进行一些基本的配置: sudo vim /etc/vim/vimrc 进入配置界面: 如下图进 ...

  8. 洛谷P1217 回文质数

    题目描述 因为 151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数. 写一个程序来找出范围 [a,b] (5 \le a < b \le 100,000 ...

  9. 51 NOD 1049 最大子段和 动态规划 模板 板子 DP

    N个整数组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+-+a[j]的连续子段和的最大值.当所给的整数均为负数时和为0. 例如:-2,11,-4,13,-5,- ...

  10. 使用python绘制世界人口地图及数据处理

    本篇我们来说:下载和处理json格式的文件,并通过pygal中的地图工具来实现数据可视化 ------------------------------------------------------- ...