当前位置: 首页 > news >正文

酒店网站案例教育网站集群建设申请

酒店网站案例,教育网站集群建设申请,北京网站建设服务,wordpress文本悬停变色本教程的知识点为#xff1a;操作系统 1. 常见的操作系统 4. 小结 ls命令选项 2. 小结 mkdir和rm命令选项 1. mkdir命令选项 压缩和解压缩命令 1. 压缩格式的介绍 2. tar命令及选项的使用 3. zip和unzip命令及选项的使用 4. 小结 编辑器 vim 1. vim 的介绍 2. vim 的工作模式 … 本教程的知识点为操作系统 1. 常见的操作系统 4. 小结 ls命令选项 2. 小结 mkdir和rm命令选项 1. mkdir命令选项 压缩和解压缩命令 1. 压缩格式的介绍 2. tar命令及选项的使用 3. zip和unzip命令及选项的使用 4. 小结 编辑器 vim 1. vim 的介绍 2. vim 的工作模式 3. vim 的末行模式命令 4. vim 的常用命令 获取进程编号 1. 获取进程编号的目的 2. 获取当前进程编号 3. 获取当前父进程编号 4. 小结 线程执行带有参数的任务 1. 线程执行带有参数的任务的介绍 2. args参数的使用 3. kwargs参数的使用 4. 小结 1. s锁的概念 2. s锁示例 3. 避免s锁 4. 小结 端口和端口号的介绍 1. 问题思考 2. 什么是端口 3. 什么端口号 4. 端口和端口号的关系 HTTP 协议 1. HTTP 协议的介绍 2. HTTP 协议的作用 3. 浏览器访问web服务器的通信过程 4. 小结 静态Web服务器-返回固定页面数据 1. 开发自己的静态Web服务器 2. 静态Web服务器-返回固定页面数据的示例代码 3. 小结 静态Web服务器-返回指定页面数据 静态Web服务器-面向对象开发 1. 以面向对象的方式开发静态Web服务器 2. 静态Web服务器-面向对象开发的示例代码 3. 小结 静态Web服务器-命令行启动动态绑定端口号 修改闭包内使用的外部变量 1. 修改闭包内使用的外部变量 2. 小结 装饰器 1. 装饰器的定义 property属性 1. property属性的介绍 2. 装饰器方式 3. 类属性方式 4. 小结 深拷贝和浅拷贝 1. 浅拷贝 2. 深拷贝 3. 浅拷贝和深拷贝的区别 4. 总结 匹配多个字符 1. 匹配多个字符 示例1* 示例2 示例3? 完整笔记资料代码https://gitee.com/yinuo112/Backend/tree/master/Python/嘿马python高级进阶全体系教程/note.md 感兴趣的小伙伴可以自取哦~ 全套教程部分目录 部分文件图片 静态Web服务器-返回固定页面数据 学习目标 能够写出组装固定页面数据的响应报文 1. 开发自己的静态Web服务器 实现步骤: 编写一个TCP服务端程序获取浏览器发送的http请求报文数据读取固定页面数据把页面数据组装成HTTP响应报文数据发送给浏览器。HTTP响应报文数据发送完成以后关闭服务于客户端的套接字。 2. 静态Web服务器-返回固定页面数据的示例代码 import socketif __name__ __main__:# 创建tcp服务端套接字tcp_server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 设置端口号复用, 程序退出端口立即释放tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)# 绑定端口号tcp_server_socket.bind((, 9000))# 设置监听tcp_server_socket.listen(128)while True:# 等待接受客户端的连接请求new_socket, ip_port tcp_server_socket.accept()# 代码执行到此说明连接建立成功recv_client_data new_socket.recv(4096)# 对二进制数据进行解码recv_client_content recv_client_data.decode(utf-8)print(recv_client_content)with open(static/index.html, rb) as file:# 读取文件数据file_data file.read()# 响应行response_line HTTP/1.1 200 OK\r\n# 响应头response_header Server: PWS1.0\r\n# 响应体response_body file_data# 拼接响应报文response_data (response_line response_header \r\n).encode(utf-8) response_body# 发送数据new_socket.send(response_data)# 关闭服务与客户端的套接字new_socket.close()3. 小结 编写一个TCP服务端程序 tcp_server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 循环接受客户端的连接请求while True:conn_socket, ip_port tcp_server_socket.accept()获取浏览器发送的http请求报文数据 client_request_data conn_socket.recv(4096)读取固定页面数据把页面数据组装成HTTP响应报文数据发送给浏览器。 response_data (response_line response_header \r\n).encode(utf-8) response_body conn_socket.send(response_data)HTTP响应报文数据发送完成以后关闭服务于客户端的套接字。 conn_socket.close()静态Web服务器-返回指定页面数据 学习目标 能够写出组装指定页面数据的响应报文 1. 静态Web服务器的问题 目前的Web服务器不管用户访问什么页面返回的都是固定页面的数据接下来需要根据用户的请求返回指定页面的数据 返回指定页面数据的实现步骤: 获取用户请求资源的路径根据请求资源的路径读取指定文件的数据组装指定文件数据的响应报文发送给浏览器判断请求的文件在服务端不存在组装404状态的响应报文发送给浏览器 2. 静态Web服务器-返回指定页面数据的示例代码 import socketdef main():# 创建tcp服务端套接字tcp_server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 设置端口号复用, 程序退出端口立即释放tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)# 绑定端口号tcp_server_socket.bind((, 9000))# 设置监听tcp_server_socket.listen(128)while True:# 等待接受客户端的连接请求new_socket, ip_port tcp_server_socket.accept()# 代码执行到此说明连接建立成功recv_client_data new_socket.recv(4096)if len(recv_client_data) 0:print(关闭浏览器了)new_socket.close()return# 对二进制数据进行解码recv_client_content recv_client_data.decode(utf-8)print(recv_client_content)# 根据指定字符串进行分割 最大分割次数指定2request_list recv_client_content.split( , maxsplit2)# 获取请求资源路径request_path request_list[1]print(request_path)# 判断请求的是否是根目录如果条件成立指定首页数据返回if request_path /:request_path /index.htmltry:# 动态打开指定文件with open(static request_path, rb) as file:# 读取文件数据file_data file.read()except Exception as e:# 请求资源不存在返回404数据# 响应行response_line HTTP/1.1 404 Not Found\r\n# 响应头response_header Server: PWS1.0\r\nwith open(static/error.html, rb) as file:file_data file.read()# 响应体response_body file_data# 拼接响应报文response_data (response_line response_header \r\n).encode(utf-8) response_body# 发送数据new_socket.send(response_data)else:# 响应行response_line HTTP/1.1 200 OK\r\n# 响应头response_header Server: PWS1.0\r\n# 响应体response_body file_data# 拼接响应报文response_data (response_line response_header \r\n).encode(utf-8) response_body# 发送数据new_socket.send(response_data)finally:# 关闭服务与客户端的套接字new_socket.close()if __name__ __main__:main()3. 小结 获取用户请求资源的路径 request_list client_request_conent.split(” ”, maxsplit2)request_path request_list[1]根据请求资源的路径读取请求指定文件的数据 with open(static request_path, rb) as file:file_data file.read()组装指定文件数据的响应报文发送给浏览器 response_data (response_line response_header \r\n).encode(utf-8) response_bodyconn_socket.send(response_data)判断请求的文件在服务端不存在组装404状态的响应报文发送给浏览器 try:# 打开指定文件,代码省略...except Exception as e:conn_socket.send(404响应报文数据)静态Web服务器-多任务版 学习目标 能够写出多线程版的多任务web服务器程序 1. 静态Web服务器的问题 目前的Web服务器不能支持多用户同时访问只能一个一个的处理客户端的请求那么如何开发多任务版的web服务器同时处理 多个客户端的请求? 可以使用多线程比进程更加节省内存资源。 多任务版web服务器程序的实现步骤: 当客户端和服务端建立连接成功创建子线程使用子线程专门处理客户端的请求防止主线程阻塞。 把创建的子线程设置成为守护主线程防止主线程无法退出。 2. 静态Web服务器-多任务版的示例代码 import socket import threading# 处理客户端的请求def handle_client_request(new_socket):# 代码执行到此说明连接建立成功recv_client_data new_socket.recv(4096)if len(recv_client_data) 0:print(关闭浏览器了)new_socket.close()return# 对二进制数据进行解码recv_client_content recv_client_data.decode(utf-8)print(recv_client_content)# 根据指定字符串进行分割 最大分割次数指定2request_list recv_client_content.split( , maxsplit2)# 获取请求资源路径request_path request_list[1]print(request_path)# 判断请求的是否是根目录如果条件成立指定首页数据返回if request_path /:request_path /index.htmltry:# 动态打开指定文件with open(static request_path, rb) as file:# 读取文件数据file_data file.read()except Exception as e:# 请求资源不存在返回404数据# 响应行response_line HTTP/1.1 404 Not Found\r\n# 响应头response_header Server: PWS1.0\r\nwith open(static/error.html, rb) as file:file_data file.read()# 响应体response_body file_data# 拼接响应报文response_data (response_line response_header \r\n).encode(utf-8) response_body# 发送数据new_socket.send(response_data)else:# 响应行response_line HTTP/1.1 200 OK\r\n# 响应头response_header Server: PWS1.0\r\n# 响应体response_body file_data# 拼接响应报文response_data (response_line response_header \r\n).encode(utf-8) response_body# 发送数据new_socket.send(response_data)finally:# 关闭服务与客户端的套接字new_socket.close()# 程序入口函数def main():# 创建tcp服务端套接字tcp_server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 设置端口号复用, 程序退出端口立即释放tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)# 绑定端口号tcp_server_socket.bind((, 9000))# 设置监听tcp_server_socket.listen(128)while True:# 等待接受客户端的连接请求new_socket, ip_port tcp_server_socket.accept()print(ip_port)# 当客户端和服务器建立连接程创建子线程sub_thread threading.Thread(targethandle_client_request, args(new_socket,))# 设置守护主线程sub_thread.setDaemon(True)# 启动子线程执行对应的任务sub_thread.start()if __name__ __main__:main()3. 小结 当客户端和服务端建立连接成功创建子线程使用子线程专门处理客户端的请求防止主线程阻塞。 while True:conn_socket, ip_port tcp_server_socket.accept()# 开辟子线程并执行对应的任务sub_thread threading.Thread(targethandle_client_request, args(conn_socket,))把创建的子线程设置成为守护主线程防止主线程无法退出。 # 开辟子线程并执行对应的任务sub_thread threading.Thread(targethandle_client_request, args(conn_socket,))sub_thread.setDaemon(True) # 设置守护主线程sub_thread.start()
http://www.dnsts.com.cn/news/74689.html

相关文章:

  • 网站域名登录建设企业网站作用
  • 如何建立一个网站卖东西网站侧栏设计
  • 开发手机应用网站网站开发英文
  • 北京建设部网站 信息中心网站用ps下拉效果怎么做的
  • 河北搜恒不给做网站微信广告朋友圈投放
  • 两性做受技巧视频网站wordpress 百度云网盘
  • 仪征建设局网站查域名是否注册
  • 锦州网站优化律师网站设计
  • 河南省住房和城乡建设厅查询网站首页谷歌建站
  • 网站专题策划方案书如何在iis下建设网站
  • 公司网站 自己是空间服务商 cmswordpress数据库创建
  • 百合网 网站 开发淘宝网站的建设目标是
  • 临沧网站搭建企业内部网站设计
  • 公司网站开发和设计 怎么开票厦门百城建设有限公司网站
  • 有关应用网站企业邮箱注册步骤
  • 四平网站建设哪家好网站根目录怎么写
  • 女人吃男人做床视频网站WordPress5.1后台常规没有备案
  • 吴中网站建设好看的界面设计
  • 中文网站建设开发wordpress后台菜单如何修改
  • 长春做网站好的公司网站每年维护费用
  • 宜春公司做网站网站可以用中国二字做抬头吗
  • 遵义网站建设有限公司关于com的网站
  • 惠州住房和城乡建设局网站绵阳网站建设价格
  • 成品网站源码68w68有哪些可以做任务的网站
  • 营销型网站的设计步骤做网站自己申请域名还是建站公司
  • 有哪些网站是静态网站网站建设与管理软件
  • 电脑网站制作软件注册网约车主需要什么条件
  • 做自媒体网站需要注册什么公司万网发布网站
  • 大兴网站建设公司网站如何做静态化
  • 十大免费建站程序wordpress琪歌 wordpress