Press "Enter" to skip to content

Expect:100-continue

在使用curl做POST的时候, 当要POST的数据大于1024字节的时候, curl并不会直接就发起POST请求, 而是会分为俩步,

  1. 发送一个请求, 包含一个Expect:100-continue, 询问Server使用愿意接受数据
  2. 接收到Server返回的100-continue应答以后, 才把数据POST给Server
  

Filed in PHP应用, 随笔
with 16 Comments

PHP是无辜的

今天在微薄看到一个转帖, 题目触目惊心《PHP的echo为什么这么慢》,

点进去一看, 大意是说在PHP中echo一个500K的字符串, 会耗时几百ms,

然后作者说打开Apache的压缩以后呢, 速度就快了.

之后, 又看到一个同学, 从HTTP协议入手, 分析了chunked模式和直接传输模式, 意思可能是说, 和分段传输相关…

我在这里不是批评或者驳斥谁, 相关者莫要生气, 我只是害怕误导别人..

echo 一个500K的字符串, 速度慢, 这个和PHP没关系, 也和PHP的实现者C也没关系,, 关系在于IO, IO的速度限制了输出的速度,,

至于说Apache的压缩,,这个,,压缩了, 字符串变小了(字符串的压缩率很大), 自然也就快了(CPU换IO)….

最后, PHP真的很无辜, 和它真没关系..

Filed in PHP应用, 随笔
with 22 Comments

[转载]技术文化和惨淡命运 —— 怀念中国雅虎

很早就想写这么一篇文章了。我离开中国雅虎已经一年有余,在中国雅虎工作的那段时光是我最珍贵的回忆之一,和以前的同事吃饭聊天的时候也经常会怀念一下中国雅虎,怀念得多了,就觉得不如写篇文章好好回顾一下。很多事情虽然已经过去,但有些话不说出来,到底意难平。

转载说明 :我的紫色情结. –作者是我以前小组的同事

Filed in 转载, 随笔
with 38 Comments

AllowEncodedSlashes in Apache

对于Apache来说, 如果URL和PATH_INFO中出现%2f(/)或者%5c(\), 会被认为这是个不合法的请求, Apache将会直接返回404结束.

对于使用mod_rewrite做URL改写的情况来说, 可能会比较容易遇到这个问题.

解决的办法有两种.

1. 进行俩次encode, /变为%252f
2. 在apache的配置中增加: AllowEncodedSlashes On

具体可以参看:http://httpd.apache.org/docs/2.2/mod/core.html#allowencodedslashes

Filed in 随笔
with 2 Comments

Yaf-一个PHP扩展实现的PHP框架

快有一个月没有更新Blog了, 一来是最近项目比较紧张, 二来就是在忙着开发Yaf(Yet another Framework)

一直以来, 我研究PHP的内核, 虽然有文章不少, 但却鲜有一些借助这些研究成果而来的, 实际的东西, 也就无法让更多人学习到对Zend API的实际运用.

我思考了一段时间, 觉得有必要写一个扩展出来, 这个扩展要用到很多Zend API, 要用到很多在网上的PHP扩展开发中,鲜有叙及的部分(比如, 实现类/接口, 继承, 自动加载,等等), 让更多的PHP扩展开发者可以借鉴.

最后, 考虑到目前有很多PHP框架, 而这些框架中也有很多很优秀的代表, 比如Zend Framework(因为Yaf是依照Zf来的, 所有特指一下). 这些框架, 运用了很多PHP5以后的新技术, 那么, 如果用扩展写一个类似于她们的框架, 除了能达到我之前想要的扩展教程的目标, 又能很大程度上解决, 框架的性能问题..

至于, 为什么叫Yaf, 是我实在想不到更好的名字了, 就借鉴了Yacc的命名方法, 取名为(yet another framework)

注意, 目前Yaf2.0已经开发完成, 完全新的体系架构和设计. 经过系统的测试, 并且已经在公司多条产品线应用. 请大家暂停使用1.0, 2.0会在文档准备充足后放出.

Filed in PHP应用, PHP源码分析, 随笔
with 53 Comments

终于搞定了IE6下的显示

之前就有博友跟我说, 我的blog在IE6下页面乱了.

一直懒得弄, 今天有点时间, 打算调整下.

找了半天, 罪魁祸首原来是我给pre设置的左边框, 具体原因我还不知道.. 有知道同学, 指点我一下… hack以后,,就好了:

pre {
 border-left: 15px corlor solid;
_border-left:none; //可恶的IE6
}

每当这个时候, 我就会忠心的感谢发现这些css Hack的先驱们….

Filed in 随笔
with 12 Comments

shell下发推脚本

Be Lazy, 懒得能不动鼠标, 就不愿动鼠标..

今天在推上看到有人的下面缀着”via bash”, 好奇怎么做到, 找来推的API, 其实挺简单..

直接上代码, 不解释了, 只是有几点解释下

1. 如果是VPN, 不用代理, 就取消-x选项
2. 脚本直接从STDIN读取内容,内容需要是UTF-8编码, 如果你的终端不是, 那请在脚本中添加iconv
3. 做到完全脚本浏览/发推也是可以的.
4. 新浪微薄也有REST API, 理论上也是可以这么搞的.

Filed in Linux/Unix, 随笔
with 10 Comments