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>

最新文章

  1. MongoDB 搭建分片集群
  2. caffe网络模型各层详解(一)
  3. div模拟textarea
  4. 什么是Angular? 我们为什么要学习它?
  5. 操作系统:cpu调度 6-25
  6. 实现MySQL的Replication
  7. Load hlsl
  8. Linux——搭建PHP开发环境第三步:mysql
  9. [问题解决] ubuntu server12.04 按ctrl+alt+F1没用
  10. ASP.NET - 在线编辑器(FreeTextBox)
  11. Docker学习笔记 — Docker私有仓库搭建【转载】
  12. NOSQL EYE开源
  13. AngularJS的$rootScope和$scope联系和区别
  14. nodejs异步案例
  15. scan函数用法详解
  16. Flask 系列之 Blueprint
  17. C#关于xml文件和TreeView之间的转换解析
  18. mysql 5.6升级到5.7.22
  19. Zephyr的Power Management
  20. mysql 5.7多源复制(用于生产库多主库合并到一个查询从库)

热门文章

  1. 20199310《Linux内核原理与分析》第十五周作业 Linux安全实验
  2. Github第三方登录
  3. 【JAVA基础】09 Eclipse
  4. vuex vue-devtools 安装
  5. mac OS 安装 Node.js
  6. 如何在mysql中实现自然排序
  7. puppet报告系统Dashboard部署及配置详解
  8. SpringBoot:扩展SpringMVC、定制首页、国际化
  9. CC2530定时器
  10. 第九章:Python高级编程-Python socket编程