首页 开发编程 正文

php怎么打出日历 一次完整的http请求过程是怎样的

客户端输入URL客户端检测缓存:请求报文包含:a)请求行用来说明请求类型(get\post\delete等)、要访问的资源(URI)以及使用的HTTP版本(1.0还是1.1)b)首部(header)HOST将指出请求的目的地;c)空行d)请求实体3.提取请求首部HOST通过DNS域名解析获取服务IP(DNS缓存\递归等)4.通过IP与...

php怎么打出日历,一次完整的http请求过程是怎样的?

Http请求的一次详解:

客户端输入URL

客户端检测缓存:

有缓存且较新,客户端直接读取本地缓存进行资源展示;

有缓存但是不新,准备http请求包,发送至服务端进行缓存校验;

备注:http1.0中Expire、http1.1中是Cache-Control根据发起http请求:

请求报文包含:a) 请求行用来说明请求类型(get\post\delete等)、要访问的资源(URI)以及使用的HTTP版本(1.0还是1.1)b) 首部(header)HOST将指出请求的目的地;User-Agent由浏览器来定义,自动发送;Connection:通常设置为keep-Alive, 长连接;其他首部包括等。c) 空行d) 请求实体

3. 提取请求首部HOST通过DNS域名解析获取服务IP(DNS缓存\递归等)

4. 通过IP与默认端口创建TCP连接,进行http请求报文数据发送,其中重点就三次握手进行描述:

客户端向服务端发送syn=1,seq=client请求的ID;服务端向客户端发送syn=1,seq=服务端请求的ID,ack=客户端请求的ID+1;客户端向服务端发送syn=0,seq=客户端请求的ID+1,ack=服务端请求的ID+1,data\data…

5. 服务端程序接受请求,定向到请求路径处理请求:

服务器对请求报文进行解析,并获取请求的资源及请求方法等相关信息,根据方法,资源,首部和可选的主体部分对请求进行处理

元数据:请求报文首部 <method> <URL> <VERSION> HEADERS格式name:value <request body> 示例: Host: www.chuyuni.cn 请求的主机名称 Server: Apache/2.4.7

HTTP常用请求方式:MethodGET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS

6.访问资源:

服务器获取请求报文中请求的资源web服务器,即存放了web资源的服务器,负责向请求者提供对方请求的静态资源,或动态运行后生成的资源

资源放置于本地文件系统特定的路径:DocRoot DocRoot → /var/www/html /var/www/html/images/logo.jpg http://www.magedu.com/images/logo.jpg web服务器资源路径映射方式: (a) docroot (b) alias (c) 虚拟主机docroot(d) 用户家目录docroot

7. 返回处理结果,准备http响应:

响应报文包含:a) 状态行:http版本(1.1或者1.0),状态码200:请求正常处理304:返回上次请求资源未作改动,验证浏览器的缓存机制400:请求参数错误401:客户端无权访问,要去输入用户名\密码之类的授权信息403:禁止访问(读写权限等影响)404:请求的资源不存在500:服务内部错误502:网关错误503:临时过载或者维护,导致服务端无法正常处理请求b) 首部报文支持的语言\编码格式\等,注意If-Modified-Since:只有当所请求的内容在指定的日期之后又经过修改才返回它,否则返回304“Not Modified”应答,用于服务端缓存校验c) 空行d) 响应报文实体

8. 通过建立的tcp连接来返回相关的http响应报文及http状态信息,然后根据实际情况看是否关闭连接(Connection的keep-alive)

9. TCP连接关闭经历4次握手

客户端主动关闭连接放发送FIN进入FIN_WAIT1状态

服务端发最后的data和ack客户端接收进入CLOSEWAIT状态,客户端进入接受ACK进入FINWAIT2状态

服务端主动发FIN,客户端接受FIN并发送ack进入TIMEWAIT状态

服务器端正式关闭连接进入close状态

10. 客户端拿到http响应的报文信息,经过一系列前端处理过程最终将请求的资源进行展示。

作者:夕阳雨晴,欢迎关注我的头条号:偶尔美文,主流Java,为你讲述不一样的码农生活。

PHP获取当前日期所在星期?

代码如下: // 获取指定日期所在星期的开始时间与结束时间 function getWeekRange($date){ $ret=array(); $timestamp=strtotime($date); $w=strftime('%u',$timestamp); $ret['sdate']=date('Y-m-d 00:00:00',$timestamp-($w-1)*86400); $ret['edate']=date('Y-m-d 23:59:59',$timestamp+(7-$w)*86400); return $ret; } // 获取指定日期所在月的开始日期与结束日期 function getMonthRange($date){ $ret=array(); $timestamp=strtotime($date); $mdays=date('t',$timestamp); $ret['sdate']=date('Y-m-1 00:00:00',$timestamp); $ret['edate']=date('Y-m-'.$mdays.' 23:59:59',$timestamp); return $ret; } // 以上两个函数的应用 function getFilter($n){ $ret=array(); switch($n){ case 1:// 昨天 $ret['sdate']=date('Y-m-d 00:00:00',strtotime('-1 day')); $ret['edate']=date('Y-m-d 23:59:59',strtotime('-1 day')); break; case 2://本星期 $ret=getWeekRange(date('Y-m-d')); break; case 3://上一个星期 $strDate=date('Y-m-d',strtotime('-1 week')); $ret=getWeekRange($strDate); break; case 4: //上上星期 $strDate=date('Y-m-d',strtotime('-2 week')); $ret=getWeekRange($strDate); break; case 5: //本月 $ret=getMonthRange(date('Y-m-d')); break; case 6://上月 $strDate=date('Y-m-d',strtotime('-1 month')); $ret=getMonthRange($strDate); break; } return $ret; }

powerquery语言m函数转换日期格式?

PHP 中的 strtotime() 函数可以实现

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。

strtotime(time,now)

time 规定要解析的时间字符串。

now 用来计算返回值的时间戳。如果省略该参数,则使用当前时间。

成功则返回时间戳,否则返回 FALSE。在 PHP 5.1.0 之前本函数在失败时返回 -1。

怎么把所有网页设置在同一个页面?

方法一:

1、将 xx.html 修改为 page-xx.php 上传到你当前使用的主题目录中;2、在WordPress后台创建别名为 xx 的页面后发布,大功告成。

注意:创建的页面别名一定要与page-后面一样。或者在步骤1中将xx改为你的页面ID。

方法二:

1、将 xx.html 修改为page-template-xx.php 然后再该文件头部添加:

然后上传到你当前使用的主题目录中;2、在WordPress后台创建别名为 xx 的页面并选择页面模板为第一步中创建的 xx页面模板,然后发布,大功告成。

如果你添加的页面是首页,可以在 设置 > 阅读 > 首页显示 中设置将此页面设置为首页。

关于css、JS、图片等外部文件

如果你的页面有引用CSS、JS以及图片,例如:sample.css、sample.js、sample.jpg,可以将这些文件一并复制到主题目录下,然后引用地址改为:

如果有视频等,同上面方法。

如果你想了解更多:

2017.11.04 新增:

上面介绍了将WordPress转换为Page(页面)的方法,下面介绍转换为首页、分类、标签、文章等页面的方法:

front-page.php:这个文件是首页,如果没有则使用上面方法二中在后台设置为首页的页面;home.php:文档归档页面,通常1中都没有使用这个显示首页;index.php:1、2都没有使用这个显示首页;single.php:文章模板文件;404.php:404页面文件;page.php:页面模板文件,支持 page-$id (即页面 ID)或 page-$slug (即页面别名);category.php:分类归档模板文件,支持 category-$id 或category-$slug ;tag.php:标签归档模板文件,支持 category-$id 或category-$slug ;author.php:作者归档模板文件,支持 category-$id 或 category-$slug;date.php:日期归档模板文件;archive.php:如果主题没有7-10之中的任一文件,那么都会用此模板文件显示对应内容,当此模板文件也不存在时,则使用index.php显示,支持 archive-$id 或archive-$slug。

header.php、footer.php、sidebar.php等文件一般都是“页面部分”模板文件,即:页眉、页脚、边栏。

如果你能看懂英文,详细可参考官方文档:

WordPress模板文件等级介绍(官方)

WordPress获取主题目录里的文件和目录

ios如何添加农历及法定节假日订阅?

(需要网络支持)

1、iPhone5桌面上打开设置

2、设置选项栏里选择邮件、通讯录、日历选项

3、之再账户选项里选择添加账户

4、之还要账户信息设置里拉下面有其点击进入

5、其选项里找日历设置选项添加已订阅日历

选项输入服务器地址里输入:iweek.me/m/ical/nong.php?starty=2012&county=3(代表订阅2012年-2014年农历)

PS:2012显示农历开始年份3显示几年农历两数字按需编辑编辑点击下步(出现无法使用SSL连接用理会直接点击继续)

6、之需要验证服务器信息添加完成即看订阅账户信息成功

本文转载自互联网,如有侵权,联系删除