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. VRRP概念、工作原理

    VRRP是一种路由容错协议,也可以叫做备份路由协议,可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台. 控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器, 它负责转发 ...

  2. jstat命令查看JVM 的GC状态

    转载于   https://www.cnblogs.com/alter888/p/10407952.html jstat命令可以查看堆内存各部分的使用量,以及加载类的数量.命令的格式如下: jstat ...

  3. 徐州I

    #include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a;i<=b;++i) #defi ...

  4. Nginx重写请求后将url?后的参数去除

    2019独角兽企业重金招聘Python工程师标准>>> 使用?结尾     注意,关键点就在于"?"这个尾缀.重定向的目标地址结尾处如果加了?号,则不会再转发传递 ...

  5. vue+elementUI实现权限的部门管理

    回头看写过的项目,发现以前感觉有难度的地方,现在想想很简单,在此记录一下,不对的地方欢迎吐槽!!! 复制代码 1.实现效果 2.需求分析 主要用于平台各个部门不同权限的操作,将指定的账号放到对应的权限 ...

  6. Github作为Maven仓库

    新建发布构件项目 新建一个普通的maven项目,坐标为 创建一个类: 接着在pom文件中添加: <distributionManagement> <repository> &l ...

  7. Eclipse中获取html jsp 标签的属性提示信息方法

    操作方法: windows------preferences----------搜索 html----------找到 html Source这项---------找到 content assist ...

  8. 在Jetson TX2上安装caffe和PyCaffe

    caffe是Nvidia TensorRT最支持的深度学习框架,因此在Jetson TX2上安装caffe很有必要.顺便说一句,下面的安装是支持python3的. 先决条件 在Jetson TX2上完 ...

  9. zabbix 数据库分区表配置

    下载 pwd /usr/local/zabbix/share/zabbix/externalscriptswget http://cactifans.hi-www.com/zabbix/partiti ...

  10. H - Food HDU - 4292 网络流

    题目   You, a part-time dining service worker in your college’s dining hall, are now confused with a n ...