一般来说,服务器的模型有下面几种:
单进程单线程
多进程(一个请求对应一个进程,Apache 之类貌似就是这个)
多线程(一个请求对应一个线程,这个挺少见到的)
select / poll
epoll
它们的差别可以看这个,http://www.cnblogs.com/sharra/…
因为需要了解底层设备访问的原理,所以惯用高层应用语言的我,需要了…… 阅读全文
Tag Archives: HTTP
python http head 工具
群上闲聊,说道自己封装了一个 python 的 http head 工具
#!/usr/bin/env python
from socket import *
while True:
HOST = raw_input('> ')
if not HOST:
break
tcpCliSock = socket(AF_INET, SOCK_STREAM)
PORT = 80
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpCliSock.connect…… 阅读全文
在 HTTP 协议下分段下载文件
最近想要搞一个 linux 下的多线程下载工具,就像 wget 那样可以,只不过是多线程的,其中遇到一个问题,就是 http 如何分段下载,查找资料最后看到这里,http://www.rosoo.net/a/201006/…
假如一个文件有1000个字节,那么其范围就是0-999,则:
Range: bytes=500- 表示读取该文件的500-999字节,共500字节。
…… 阅读全文
PHP 发 UDP 包时出错
今天金泉给了一个问题,说线上的腾讯 SDK PHP 版本的跑起来报错,看了一下,调用的代码类似这样
<?php
require("inc/OpenApiV3.php");
// 应用基本信息
$appid = xxxxxx;
$appkey = 'xxxxxxx';
// OpenAPI的服务器IP
// 最新的API服务器地址请参考wiki文档: http://wiki.open.qq.com/wiki/API3.0%E6%96%…… 阅读全文
Apache ab 压力测试
apache 的 ab 真的是非常容易用,直接的说,就是下面这条命令就够了
C:Program FilesApache Software FoundationApache2.2bin>ab -n 100 -c 10 http://localhost/index2.html
这里我 index 的 html 文件就是 apache 的 it works 文件,在我的机子上,测试结果的吞吐率是 2000 多,应该算是比较低的一个数字了,对于…… 阅读全文
Apache 控制台输出
在 wamp 套装中,apache 的错误日志一般是放在这样的路径下,D:Documentscodewamplogs ,这个错误日志在大多数时候是可以帮助排查错误的,但是,如果在改写 httpd.conf 文件过程中出错了话,那么在 wamp 中启动 apache 是直接就启动不起来的,错误日志也没有,这个时候可以通过控制台,直接定位到 apache 的 httpd 程序,…… 阅读全文
一种特殊情况下的优酷广告过滤
最近在看优酷上的电视剧,烦了那个广告,于是想到过滤,一般来说,过滤优酷的广告,网上都有现成的方法,思路是改 hosts 干扰域名解析,这是屏蔽广告的常见思路,而且比较通用,另外,对付优酷的特殊情况,他会使用 flash 判断广告的播放情况,如果没有播放成功,那么会给一个提示,所以需要修改 flash 的一些相关文件,…… 阅读全文
浏览器对编码的确定
我们知道,在一次 HTTP 请求中,浏览器向 HTTP 服务器发起 HTTP request,然后服务器返回 response header,到目前为止,字符的编码都是 ANCII 的,所以都还好,不需要考虑什么解码问题,但是服务器紧跟着传回来的 response body 本质上就是一个字节流了,于是自然而然的就面临一个解码的问题,怎么处理这个问题是我一直…… 阅读全文