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

南京市公共建设管理中心网站中国建筑网官网app

南京市公共建设管理中心网站,中国建筑网官网app,有关网站开发的参考文献,东莞网站制作与网站建设静态Web服务器-返回固定页面数据学习目标能够写出组装固定页面数据的响应报文1. 开发自己的静态Web服务器实现步骤:编写一个TCP服务端程序获取浏览器发送的http请求报文数据读取固定页面数据#xff0c;把页面数据组装成HTTP响应报文数据发送给浏览器。HTTP响应报文数据发送完…静态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)whileTrue:# 等待接受客户端的连接请求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) # 循环接受客户端的连接请求whileTrue: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 socketdefmain():# 创建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)whileTrue:# 等待接受客户端的连接请求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响应报文数据)
http://www.dnsts.com.cn/news/16260.html

相关文章:

  • 空壳网站清理福州网站快速排名
  • 怎么样推广自己的网站wordpress字体插件
  • 分类信息网站建设专职石碣镇网站仿做
  • 东莞网站建设的方案为什么php导入数据库会乱码
  • 做网站服务器用谁的鹤壁建设网站推广公司电话
  • 潍坊网站制作熊掌号互联网有多少网站
  • 网站右侧返回顶部wordpress 搜索 分类
  • 绿地建设集团网站福州志愿者官方网站怎么做
  • 加强网站建设的建议好的高端企业网站建设公司
  • 找外包公司做网站网站集群系统建设
  • 网站有利于seo的细节越南的网站建设
  • 单位网站建设需要哪些技术百度青岛代理公司
  • php企业网站通讯录管理系统组织建设六个方面内容
  • 沈阳网站网页珠海建设网站官网
  • 微信h5商城网站金诚信矿业建设集团有限公司网站
  • 昆明网站seo服务网站开发 周期
  • mc做弊端网站抖音代运营协议书范本
  • 网页制作与网站建设技术详解子网站建设工作室
  • 公司的网站设计方案基层网站建设作用
  • 邯郸做网站的公司哪家好网站注册空间
  • 如何在阿里云做网站广告设计公司宣传册
  • mvc网站开发之美建筑兼职网
  • 许昌定制网站建设代理WordPress添加在线商店
  • 用html制作个人网站源代码免费开通网站
  • 云南网站建设哪家公司好企业网站推广形式有
  • 视频素材网站推荐沙田仿做网站
  • 做网站优化步骤怎么做网站收录
  • 一个不懂技术的人如何做网站怎样进网站空间
  • 网站做联盟收入东凤镇做网站公司
  • 手机网站无法访问的解决方法中国建设部官方网站资格证查询