世界时间查询服务器(一)
一 本服务器实现的基本业务功能介绍
1 首先将服务器启动起来
2 在浏览器输入如下URL
3 就会进入世界时间查询系统的主页
4 比如,您想查询北京时间,那么就在输入框中输入北京,点击查询或者按下回车,系统会自动帮您查询。(查询结果如下),红线标注的部分,您可以进行一些地方特色的查询,一些美食,旅游攻略。
比如:若您想知道咱老北京有哪些美食,您可以点击,北京美食攻略(系统会为您自动查询)
比如,您出差英国伦敦,我们有伦敦美景导航
以上是服务器目前拥有的简单基本功能,还需完善。
二 设计思路:
首先,基于TCP , socket api 搭建一个通用的http服务器,其核心流程为:
那么要解析http请求报文,并且要构造http响应报文,就要知道http报文格式,以下简单的罗列了http报文格式,具体格式请参考《unix网络编程》或者用费德勒抓包工具抓个包来研究一下:
其中,请求报文格式中的首行包括(方法(get或者post),URL,版本号),中间用空格隔开,那么解析的时候,就可以以空格来进行解析。header 是以键值对来存储,每个键值对以‘ :’来分割,body和header部分用空行隔开。
请求报文:
响应报文:
三 页面生成详解
对于页面的生成,分为静态页面和动态页面两种;对于get请求,并且没有query_string,我们则生成静态页面,如果有query_string,则根据query_string来生成不同的动态页面,那么对于post方法,,生成的一定是动态页面,根据body来生成动态页面。
对于动态页面的生成,我们采用了CGI 技术来实现,CGI最大的优点就是“解耦合”,并且可用任何编程语言来实现,但是cgi也有缺点:对于cgi技术,每个请求都必须创建一个子进程,对于创建子进程的开销我们也是知道的,所以用 cgi 写的服务器,对于处理高并发情况下的请求就会出现处理不过来的情况。
四 源码
github链接:
https://github.com/superWangxinrui/hello-world/tree/master/%E4%B8%96%E7%95%8C%E6%97%B6%E9%97%B4%E6%9F%A5%E8%AF%A2%E7%B3%BB%E7%BB%9F
五 项目测试
https://blog.csdn.net/superwangxinrui/article/details/81841766
世界时间查询服务器(一)相关推荐
- 如何查看服务器最后修改时间,查询服务器上所有数据库的最后更新时间
我们可以通过以下语句查询单个数据库中所有表的创建日期.最后更新日期:select * from sys.tables 同时也可以通过以下语句查询服务器上所有在线的数据库:select * from s ...
- 为什么梦幻西游服务器名字有显示但是区名字没有了,梦幻西游开区时间查询
查看最新开的区请查看 梦幻西游开区时间查询: 点击进入查询开区时间:然后输入区的名字就可以知道开区的时间了: 梦幻西游开了10多年了,出了几百个区,经过了不停的洗礼,不停的合老区,开新区,不停的转换, ...
- 我的世界 服务器内切换账号密码是多少,我的世界OP查询玩家账号密码 两种解决方式...
我的世界OP查询玩家账号密码 两种解决方式.我的世界服务器中OP想要查询玩家账号登录密码也不是不可以的,但是一般需要插件协助才能完成.目前两种方式可以实现密码查询. 我的世界服务器OP怎么查询玩家密码 ...
- IBM、dell、hp、lenovo服务器故障报修、技术支持、服务器保修时间查询地址、电话...
最近机房服务器硬件故障率有点高,经常需要查询服务器保修相关的信息.对相关资料做了一下统计,方便以后使用: 1:DELL 服务器 : PowerEdge 服务器: 服务时间:周一至周日全天 询服务电话: ...
- php mysql 时间戳查询_mysql中时间查询函数(包括时间戳)
mysql中时间查询函数(包括时间戳) 这些函数都是MySQL自带的,可以直接使用在PHP写的MySQL查询语句中哦 1-CURDATE()或CURRENT_DATE()和CURTIME()或CURR ...
- 时间更新服务器推荐 - NTP时间同步服务器集群:ntp.api.bz
时间更新服务,是微软操作系统windows中自带的一个和世界时间自动保持同步更新的服务,平常大家可能关注的不多,但有时候如果需要寻找准确时间的时候,避免去网站上搜索"格林尼治世界" ...
- 我的世界怎么设置服务器维护中,我的世界服务器
发布时间:2016-08-26 我的世界游戏中我们会遇到关于服务器的问题,怎么对服务器进行重启呢?今天跟大家介绍的这款我的世界工具是一款比较实用的辅助,可以检测服务器状态,而且有查找问题和快速重启服务 ...
- 怎么修改服务器上的分数,教资成绩查询服务器爆了?这里有个小技巧教你!
原标题:教资成绩查询服务器爆了?这里有个小技巧教你! 由于查询人数太多,服务器可能很卡,但我们可以采取另一种方法查到成绩,仔细看仔细学:我们不去查询成绩的页面,我们打开报名页面,点面试报名,可能会看到 ...
- 怎么卡我的世界服务器物品,我的世界怎么卡服务器物品 | 手游网游页游攻略大全...
发布时间:2015-10-20 我的世界大版本已经更新到了1.8版本,最新版为我的世界1.8.8,很多朋友进入新版后想要联机,但没有找到合适的服务器,今天小编给大家带来的是我的世界1.8服务器地址大全 ...
最新文章
- Behave step matcher
- 【控制】《多智能体系统的动力学分析与设计》徐光辉老师-第8章-有输入时滞的二阶多智能体系统的多一致
- 删除表格数据后自动刷新_表格中一键即可删除重复数据,你居然还用逐条排查?...
- php禁止国外访问,wordpress 禁止国外ip访问
- qdialog 返回值_python-PyQt QDialog返回响应是或否
- 离线地图显示连接服务器未打开,如何在uwp中使用OSM离线地图?没有可用的互联网连接时出现问题...
- 实验9:Problem D: 从点到面
- 一个链表创建、反转、打印的C语言代码
- Markdown列表
- endnote一打开就自动关闭_【EndNote文献管理】5分钟快速上手Endnote
- Git1天打卡 day13-查看仓库文件改动状态
- yapi接口管理工具
- 工具善其事,必先被苦逼的其器所钝伤然后打磨之才能利其器
- 大脑--物质与意识之综合体,是物质有双重现象(物性与灵性)的实证
- hook系统调用(一):爬取MSDN官网上的API调用并改为自己的API(c++正则表达式的应用)
- PS色彩算法理解记录 1 Darken Lighten
- nand flash外部引脚相关描述
- Redis安装、配置与相关优化
- 电脑数据丢失如何恢复?
- MySQL——数据的操作(增,删,改,查)