[计算机网络]httpserver--如何解析HTTP请求报文

2016-11-07
阅读 5 分钟
4.7k
在上一篇文章中,讲述了如何编写一个最简单的server,但该程序只是接受到请求之后马上返回响应,实在不能更简单。在正常的开发中,应该根据不同的请求做出不同的响应。要做到上述的功能,首先要解析客户端发来的请求报文。

[计算机网络]简易http server程序

2016-11-02
阅读 6 分钟
2.3k
HTTP服务器,就是一个运行在主机上的程序。程序启动了之后,会一直在等待其他所有客户端的请求,接收到请求之后,处理请求,然后发送响应给客户端。客户端和服务器之间使用HTTP协议进行通信,所有遵循HTTP协议的程序都可以作为客户端。

[PHP源码阅读]count函数

2016-06-01
阅读 3 分钟
1.9k
在PHP编程中,在遍历数组的时候经常需要先计算数组的长度作为循环结束的判断条件,而在PHP里面对数组的操作是很频繁的,因此count也算是一个常用函数,下面研究一下count函数的具体实现。

[PHP源码阅读]array_pop和array_shift函数

2016-05-30
阅读 2 分钟
3.5k
上篇文章介绍了PHP添加元素到数组的函数,那么当然有从数组中删除元素。array_pop和array_shift只从数组的头或尾删除一个元素。经过阅读源码,发现这两个函数的实现都是调用了同一个函数--_phpi_pop来实现从数组中删除一个数组元素的功能。因此解读时将这两个函数一并讲了。

[PHP源码阅读]array_push和array_unshift函数

2016-05-27
阅读 2 分钟
4.1k
array_push函数将array参数看做一个栈,将传递进来的变量压倒array的尾部。array的长度随着被压进去的变量个数增加。下面的代码有意义的效果:

[PHP源码阅读]empty和isset函数

2016-05-26
阅读 5 分钟
4.5k
近日被问到PHP中empty和isset函数时怎么判断变量的,刚开始我是一脸懵逼的,因为我自己也只是一知半解,为了弄懂其真正的原理,赶紧翻开源码研究研究。经过分析可发现两个函数调用的都是同一个函数,因此本文将对两个函数一起分析。

[PHP源码阅读]trim、rtrim、ltrim函数

2016-05-25
阅读 2 分钟
2.6k
trim系列函数是用于去除字符串中首尾的空格或其他字符。ltrim函数只去除掉字符串首部的字符,rtrim函数只去除字符串尾部的字符。 我在github有对PHP源码更详细的注解。感兴趣的可以围观一下,给个star。PHP5.4源码注解。可以通过commit记录查看已添加的注解。 trim {代码...} 参数说明 character_mask默认是" tnr0x0B"等...

[PHP源码阅读]explode和implode函数

2016-05-20
阅读 5 分钟
3.9k
explode和implode函数主要用作字符串和数组间转换的操作,比如获取一段参数后根据某个字符分割字符串,或者将一个数组的结果使用一个字符合并成一个字符串输出。在PHP中经常会用到这两个函数,因此有必要了解一下其原理。

[PHP源码阅读]strpos、strstr和stripos、stristr函数

2016-05-11
阅读 4 分钟
3k
我在github有对PHP源码更详细的注解。感兴趣的可以围观一下,给个star。PHP5.4源码注解。可以通过commit记录查看已添加的注解。 strpos {代码...} 如果offset指定了,查找会从offset的位置开始。offset不能为负数。 返回needle第一次出现在haystack的位置。如果在haystack中找不到needle,则返回FALSE。 needle,如果nee...

【性能为王】从PHP源码剖析array_keys和array_unique

2016-02-25
阅读 8 分钟
5k
之前在[译]更快的方式实现PHP数组去重这篇文章里讨论了使用array_flip后再调用array_keys函数替换直接调用array_unique函数实现数组去重性能较好。由于原文没有给出源码分析和测试的结果,导致给读者造成迷惑,在此说声抱歉。为了解开读者的疑惑,笔者承诺了会补上源码的分析,于是花了一些时间去研究PHP的源码,现在此...

[PHP源码阅读]strlen函数

2016-02-24
阅读 1 分钟
2.9k
文章来自:[链接] 我在github有对PHP源码更详细的注解。感兴趣的可以围观一下,给个star。PHP5.4源码注解。可以通过commit记录查看已添加的注解。 strlen函数说明。 {代码...} 在这篇文章,我们可以知道strlen函数是通过Zend Engine定义的。函数的定义可以在这里查看。 在这里也给出函数的源码: {代码...} 该文章讲到,...