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

天河定制型网站建设长沙 做网站

天河定制型网站建设,长沙 做网站,企业qq收费标准,艺术学院网站模板实验目的 1. 处理一个 http 请求 2. 接收并解析 http 请求 3. 从服务器文件系统中获得被请求的文件 4. 创建一个包括被请求的文件的 http 响应信息 5. 直接发送该信息到客户端 具体内容 一、C 程序来实现 web 服务器功能。 二、用 HTML 语言编写两个 HTML文件#xff0c;并…实验目的 1. 处理一个 http 请求 2. 接收并解析 http 请求 3. 从服务器文件系统中获得被请求的文件 4. 创建一个包括被请求的文件的 http 响应信息 5. 直接发送该信息到客户端 具体内容 一、C 程序来实现 web 服务器功能。 二、用 HTML 语言编写两个 HTML文件并制作两个网页来验证 web 服务器能否成功运行。 三、验证处理http请求和应对错误请求显示错误信息两种情况。 实验过程 用HTML 语言编写制作三个简易网页1. 主页包括欢迎信息和一个跳转链接2. 跳转页包含一个图片和提示信息3. 404错误处理页当跳转到无法访问的地址时就来到这个页面。 编写C代码使用Boost.Asio库用来处理 TCP 连接和数据的读写。 使用Boost.Filesystem获取文件的扩展名和检查文件是否存在。监听8888端口的访问以及实现一些获取返回信息和跳转页面的逻辑。然后编译链接运行 ​​​​​​​Linux运行在虚拟机环境中先通过ifconfig获取局域网内的IP192.168.146.138然后在物理机上运行浏览器在地址栏中输入192.168.146.138:8888进入主页依次测试跳转和输入错误地址的情况。 关键代码讲解 主要处理逻辑代码首先它读取请求行方法、路径和协议然后根据路径找到相应的文件。如果文件不存在它会返回一个 404 错误页面如果文件存在它会返回文件的内容。主函数中只需创建了一个 TCP 接受器然后进入一个无限循环接受新的连接并处理请求。 void handle_request(tcp::socket socket) {try {boost::asio::streambuf request;boost::asio::read_until(socket, request, \r\n);std::string method, path, protocol;std::istream request_stream(request);request_stream method path protocol;if (path /) {path /index.html;}std::string full_path root_dir path;std::ifstream file(full_path, std::ios::binary);boost::asio::streambuf response;std::ostream response_stream(response);if (!file) {// Open the 404.html filestd::ifstream file_404(root_dir /404.html, std::ios::binary);if (!file_404) {response_stream HTTP/1.0 500 Internal Server Error\r\n;response_stream Connection: close\r\n\r\n;std::cout Response: 500 Internal Server Error std::endl;} else {response_stream HTTP/1.0 404 Not Found\r\n;response_stream Content-Type: text/html\r\n;response_stream Connection: close\r\n\r\n;response_stream file_404.rdbuf();std::cout Response: 404 Not Found std::endl;}} else {response_stream HTTP/1.0 200 OK\r\n;response_stream Content-Type: get_content_type(full_path) \r\n;response_stream Connection: close\r\n\r\n;response_stream file.rdbuf();std::cout Response: 200 OK, Content-Type: get_content_type(full_path) std::endl;}boost::asio::write(socket, response);socket.shutdown(tcp::socket::shutdown_both);} catch (boost::system::system_error e) {if (e.code() ! boost::asio::error::eof) {throw; // Rethrow if its not the expected exception.}// Handle EOF exception here if necessary.std::cout Connection closed by client. std::endl;} } 运行示例 1当输入IP:8888实现访问主页。 2当点击“Next Page”会转到下一个界面展示预设好的内容。 3当输入一个错误的网址时例如aaa.html将会显示404界面。 相关代码 BJTU_CS_Learning/computernetwork at main · JJLi0427/BJTU_CS_Learning (github.com)
http://www.dnsts.com.cn/news/73735.html

相关文章:

  • 微信公众号设计与布局小说网站怎么做seo
  • 西安网站建设哪些公司好天津企业网站模板建站哪家好
  • 西安免费网站建站模板成都市住房和城乡建设局电话
  • 邵东建设公司网站哪家好免费软件加速器
  • 手机网站活动策划方案监控网站建设需要多少钱
  • 网站模板下载之后如何修改怎么注册公司企业邮箱
  • 湖北强涛建设工程有限公司网站虚拟主机wordpress多站点
  • 宝塔系统怎么建设网站免费自动回收的传奇手游
  • 公司做网站所上传的产品图片长尾关键词爱站网
  • 泉州seo网站管理怎么把网页里的视频提取出来
  • 网站备案连接怎么做微平台推广多少钱
  • 大连网站建设动态win10 建网站
  • app与网站的区别室内设计哪个学校最好
  • 工信部 网站备案 上传电子做网站要服务器和什么软件
  • 专业的网站建站公司谷歌seo快速排名优化方法
  • 百货店怎么做网站送货世界500强企业有哪些
  • 牙科网站建设宁波seo推荐
  • 专业网站建设价格最优关键字排名优化公司
  • 长安网站建设多少钱东莞大岭山俪仁妇产医院
  • 做网站超速云河北省建设厅注册中心网站首页
  • 什么网站可以做软件有哪些内容吗o2o网站建设咨询
  • 网站域名有了 网站如何建设logo智能设计
  • 展示系统 网站模板免费下载wordpress 无法登录
  • 庆阳北京网站建设汉字叔叔花了多少钱做网站
  • 即墨市城乡建设局网站三明北京网站建设
  • discuz下载官网网站优化外包价格
  • 电子商务网站设计与维护论文东莞网站推广技巧
  • 什么网站可以做字体效果好淘宝店铺怎么运营起来
  • 公司网站维护怎么做如何网站开发语言
  • 精品网站建设费用 搜搜磐石网络做花语的网站