09 2013 档案
摘要:HTTP通信是由TCP/IP承载的,HTTP紧挨着TCP,位于其上层,所以HTTP事务的性能很大程度上取决于底层TCP通道的性能。 HTTP事务的时延 如图: HTTP事务的时延有以下几种主要原因。 (1)客户端首先需要根据URI确定Web服务器的IP地址和端口号。如果最近没有对URI中的主机名进行访问,通过DNS解析系统将URI中的主机名转换成一个IP地址可能要花费数十秒的时间。 (2)接下来,客户端会向服务器发送一条TCP连接请求,并等待服务器回送一个请求接受应答。每条新的TCP连接都会有连接建立时延。这个值通常最多只有一两秒种,但如果有数百个HTTP事务的话,这个值会快...
阅读全文
摘要:报文的组成部分 报文由三部分组成:对报文进行描述的起始行(start line)、包含属性的首部(header),以及可选的、包含数据的主体(body)部分。 请求报文格式 响应报文格式 HTTP方法 主要的HTTP方法有:方法描述是否包含主体GET从服务器获取一份文档否HEAD只从服务器获取文档的首部否POST向服务器发送需要处理的数据是PUT将请求的主体部分存储在服务器上是TRACE对可能经过代理服务器传送到服务器上去的报文进行追踪否OPTIONS决定可以在服务器上执行哪些方法否DELETE从服务器上删除一份文档否 另外,HTTP1.1允许扩...
阅读全文
摘要:URL中的限制字符: 在URL中,有几个字符被保留起来,有着特殊的含义。有些字符不在定义的US-ASCII可打印字符集中。还有些字符会与某些因特网网关和协议产生混淆,因此不赞成使用。 下面这些字符是URL中的限制字符,在将其用于保留用途之外的场合时,要在URL中对其进行编码。 字符保留/受限%保留作为编码字符的转义标志/保留作为路径组件中分隔路径段的字界符.保留在路径组件中使用..保留在路径组件中使用#保留作为分段定界符使用?保留作为查询字符串定界符使用;保留作为参数字界符使用$ , +保留@ & =在某些方案的上下文中有特殊的含义,保留{ } | \ ^ ~ [ ]由于各种传输Ag.
阅读全文
摘要:HTTP协议版本: 1、HTTP/0.9:HTTP的1991原型版本称为HTTP/0.9。这个协议有很多严重的缺陷,只应该用与与老客户端的交互。HTTP/0.9只支持GET方法,不支持多媒体内容的MIME类型,各种HTTP首部,或者版本号。HTTP/0.9定义的初衷是为了获取简单的HTML对象,它很快就被HTTP/1.0取代了。 2、HTTP/1.0:1.0是第一个得到广泛使用的HTTP版本。HTTP/1.0添加了版本号、各种HTTP首部,一些额外的方法,以及对多媒体对象的处理。HTTP/1.0使得包含生动图片的Web页面和交互式表格成为可能,而这些页面和表格促使万维网为人们广泛地接受...
阅读全文
摘要:最近园子有一篇文章:因为所谓的代码性能不高而被离职的程序员,评论者挺多,简单谈谈我的看法,大家就当中秋假日茶余饭后的消遣吧。 该文大致是说了一件因代码性能问题而被离职的事,作者还贴了一段代码在文中,致于代码到底有没有性能问题,有多大性能问题,在评论中好多朋友都给出了自己的看法,有的甚至重构了代码。大约得出的结论如下:代码性能、规范和逻辑上不那么完美,有一定优化空间,代码原因只是被离职的原因之一,还可能因为办公室政治。 由于已经快一年没写.NET代码了,加上水平本来就有限,对作者的代码本身我不作评论,我只谈谈技术之外的一点看法,那就是:技术不是工程师能力的全部。 从该文作者回复的评论:...
阅读全文
摘要:Sublime Text 2是那种让人会一眼就爱上的编辑器,不仅GUI让人眼前一亮,功能更是没的说,拓展性目前来说也完全够用了,网上介绍软件的文章和推荐插件的文章也不少,而且很不错,大家可以去找找自己需要的。 之前想设置什么都是直接在网上搜,但最近想调行距,这个把我给难住了,软件上的设置没找到,网上搜也没有,最后的最后在Sublime的官方论坛找到了,个人觉得行距还是很影响视觉体验的,看看下面的对比图就知道了: 看来想驾驭好这软件不弄清楚配置文件是不行了,周末找了时间把配置文件的每条配置信息都加上了中文注释,现在贴出来和大家共享,里面有解释不清楚的也欢迎大家伙来互相讨论:) Pref...
阅读全文
摘要:一、数组排序 题目链接:http://hero.pongo.cn/Question/Details?ExamID=92&ID=94&bsh_bid=281776595题目详情: 给定一个包含1-n的数列,我们通过交换任意两个元素给数列重新排序。求最少需要多少次交换,能把数组排成按1-n递增的顺序,其中,数组长度不超过100。 例如: 原数组是3,2,1, 我们只需要交换1和3就行了,交换次数为1,所以输出1。 原数组是2,3,1,我们需要交换2和1,变成1,3,2,再交换3和2,变为1,2,3,总共需要的交换次数为2,所以输出2。 分析: 通过示例可以看出,可以用数组的第一项跟
阅读全文