
HTTP协议
深度Java
这个作者很懒,什么都没留下…
展开
-
Fiddler+夜神模拟器进行APP抓包
Fiddler+夜神模拟器进行APP抓包作者:霞落满天需求:对公司APP进行抓包获取详细的接口信息,这是现在开发必备的。工具:Fiddler抓包,夜神模拟器 模拟手机 安装APP1.下载Fiddlerhttps://www.telerik.com/download/fiddlerFiddler正是在这里帮助您记录计算机和Internet之间传递的所有HTTP和HTTPS通信...原创 2020-01-14 18:31:15 · 40235 阅读 · 15 评论 -
HTTP中的缓存
HTTP典型应用于能通过采用缓存技术而提高性能的分布式信息系统。HTTP/1.1协议包括的许多使缓存尽可能的工作的元素。因为这些元素与协议的其他方面有着千丝万缕的联系,而且他们相互作用、影响,因此有必要单独的来介绍基本的缓存设计。如果缓存不能改善性能,他将一无用处。HTTP/1.1中缓存的目的是为了在很多情况下减少发送请求,同时在许多情况下可以不需要发送完整响应。前者减少了网络回路(译注:一个请求转载 2012-03-25 22:33:32 · 4270 阅读 · 0 评论 -
Http与RPC通信协议的比较
OSI网络结构的七层模型各层的具体描述如下: 第七层:应用层 定义了用于在网络中进行通信和数据传输的接口 - 用户程式;提供标准服务,比如虚拟终端、文件以及任务的传输 和处理; 第六层:表示层 掩盖不同系统间的数据格式的不同性; 指定独立结构的数据传输格式; 数据的编码和解码;加密和解密;压缩和 解压缩 第五层:会话层 管理用户会话和对话; 控制用户间逻辑连接的建原创 2011-11-09 10:51:33 · 38064 阅读 · 1 评论 -
几个重要的RFC
RFC目录 权威无须解释http://www.ietf.org/rfc/ RFC中文目录 http://man.chinaunix.net/develop/rfc/default.htm 几个常用的RFC参考:RFC1945 超文本传输协议--HTTP/1.0 RFC2616超文本传输协议--HTTP/1.1 对 RFC2068的补充RFC3920可扩展的消息和出席信息协议 (XMPP): 核心协原创 2011-11-21 11:54:53 · 3079 阅读 · 0 评论 -
HTTP协议中的Tranfer-Encoding:chunked编码解析
当不能预先确定报文体的长度时,不可能在头中包含Content-Length域来指明报文体长度,此时就需要通过Transfer-Encoding域来确定报文体长度。 通常情况下,Transfer-Encoding域的值应当为chunked,表明采用chunked编码方式来进行原创 2011-10-17 18:09:00 · 3809 阅读 · 0 评论 -
取消掉Transfer-Encoding:chunked
有时候,Web服务器生成HTTP Response是无法在Header就确定消息大小的,这时一般来说服务器将不会提供Content-Length的头信息,而采用Chunked编码动态的提供body内容的长度。进行Chunked编码传输的HTTP Response会在消息头部设置:原创 2011-10-17 18:04:37 · 11402 阅读 · 2 评论 -
HTTP长连接服务器端推技术
服务器推送(Server Push) 推送技术的基础思想是将浏览器主动查询信息改为服务器主动发送信息。服务器发送一批数据,浏览器显示这些数据,同时保证与服务器的连接。当服务器需要再次发送一批数据时,浏览器显示数据并保持连接。以后,服务器仍然可以发送批量数据,浏览器继续显示数据,依次类推。客户端拉曳(Client Pull) 在客户端拖曳技术中,服务器发送一批数据,在HTTP响应或文档头标记中插入原创 2008-11-20 17:15:00 · 19725 阅读 · 20 评论 -
使用 .NET 实现 Ajax 长连接
作者:http://www.cnblogs.com/cathsfz/ Ajax的长连接,或者有些人所说的Comet,就是指以XMLHttpRequest的方式连接服务器,连接后服务器并非即时写入相应并返回。服务器会保持连接并等待一个需要通知客户端的事件,该事件发生后马上将数据写入响应,这时候客户端就以相当“实时”的方式接收到事件通知。具体的通信模型,请参考这篇文章:《Comet:基于 HTTP 长转载 2008-11-20 17:41:00 · 23085 阅读 · 8 评论 -
Http环境下的保持连接方式
Http环境本身是一种无连接状态的架构,在这种架构下服务器只能是被动的接受客户端的请求,返回结果,而无法主动的给客户端发送数据。而在很多需要实时数据交互(比如Web IM)的场景中,我们却希望能及时得到服务器给我们返回的数据。此时,一种最为普遍的做法是:在客户端用定时器,定时去请求服务器的服务,来得到最新数据。而这样一来,很多时候却是在做无用功,频繁的请求也会无端的增加服务器和客户端在请求Web服转载 2008-11-20 17:43:00 · 26321 阅读 · 4 评论 -
HTTP响应头不缓存
Cache-Control:nocachePragma:no-cacheExpires:-1原创 2012-03-25 08:05:33 · 5787 阅读 · 0 评论 -
内容协商 (Content Negotiation)
大多数响应包含一个实体,此实体包含人类用户能理解的信息。通常,希望提供给用户相应于请求最容易得到的实体。对服务器和缓存来说,不幸的是,并不是所有的用户都对这个最容易得到的实体有喜好,并且并不是所有的用户代理(如web浏览器)都能一致的呈现这些实体。所以,HTTP提供了一些“内容协商”机制 — 当有多个可得的表现形式的时候,对特定的响应选择最好的表现形式的处理过程。注意:没有称做“格式协商”(译注:转载 2012-03-25 21:21:46 · 3426 阅读 · 0 评论 -
关于URL编码
参考:前端工程师的编码遭遇战http://ued.taobao.com/blog/2011/08/26/encode-war/細 談 URL 編碼关于URL编码作者: 阮一峰日期: 2010年2月11日一、问题的由来URL就是网址,只要上网,就一定会用到。一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网址“http://www.abc.转载 2012-03-25 22:26:04 · 2381 阅读 · 0 评论 -
apache的keepalive和keepalivetimeout(apache优化)
在APACHE的httpd.conf中,KeepAlive指的是保持连接活跃,类似于Mysql的永久连接。换一句话说,如果将KeepAlive设置为On,那么来自同一客户端的请求就不需要再一次连接,避免每次请求都要新建一个连接而加重服务器的负担。 KeepAlive的连接活跃时间当然是受KeepAliveTimeOut限制的。如果第二次请求和第一次请求之间超过KeepAliveTimeOut转载 2012-03-25 21:12:05 · 14769 阅读 · 1 评论 -
HTTP POST慢速DOS攻击初探
1. 关于HTTP POST慢速DOS攻击HTTP Post慢速DOS攻击第一次在技术社区被正式披露是今年的OWASP大会上,由Wong Onn Chee 和 Tom Brennan共同演示了使用这一技术攻击的威力。他们的slides在这里:http://www.darkreading.com/galleries/security/application-security/228400167/sl转载 2012-03-29 14:31:18 · 11425 阅读 · 0 评论 -
HTTP-REFERER伪造方法
什么是HTTP Referer简言之,HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。Referer其实应该是英文单词Referrer原创 2012-04-01 16:08:59 · 37686 阅读 · 1 评论 -
HTTP和SOAP完全就是两个不同的协议
HTTP只负责把数据传送过去,不会管这个数据是XML、HTML、图片、文本文件或者别的什么。而SOAP协议则定义了怎么把一个对象变成XML文本,在远程如何调用等,怎么能够混为一谈。 这样说两种协议: HTTP就是邮局的协议,他们规定了你的信封要怎么写,要贴多少邮票等。。。。 SOAP就是你们之间交流的协议,负责把你所需要表达的意思写在信纸上,原创 2007-03-21 22:12:00 · 31527 阅读 · 6 评论 -
HTTP 协议的通用头域via 的意义以及作用
列出从客户端到 OCS 或者相反方向的响应经过了哪些代理服务器,他们用 什么协议(和版本)发送的请求。 当客户端请求到达第一个代理服务器时,该服务器会在自己发出的请求里面 添加 Via 头部,并填上自己的相关信息,当下一个代理服务器 收到第一个代理 服务器的请求时原创 2012-11-01 12:10:45 · 4105 阅读 · 0 评论 -
HTTPS的七个神话(译文)
原文网址:http://blog.httpwatch.com/2011/01/28/top-7-myths-about-https/译文地址:http://www.ruanyifeng.com/blog/2011/02/seven_myths_about_https.html误解七:HTTPS无法缓存许多人以为,出于安全考虑,浏览器不会在本地保存HTTPS缓存。实际上,只要在HTTP头中使用特定命转载 2012-10-23 21:47:58 · 3189 阅读 · 0 评论 -
浅谈https\ssl\数字证书
在互联网安全通信方式上,目前用的最多的就是https配合ssl和数字证书来保证传输和认证安全了。本文追本溯源围绕这个模式谈一谈。名词解释首先解释一下上面的几个名词:https:在http(超文本传输协议)基础上提出的一种安全的http协议,因此可以称为安全的超文本传输协议。http协议直接放置在TCP协议之上,而https提出在http和TCP中间加上一层加密层。从发送端看,这一层负责把http的转载 2012-11-06 15:09:42 · 3918 阅读 · 0 评论 -
Comet:基于 HTTP 长连接的“服务器推”技术
周 婷 (zhouting@cn.ibm.com), 软件工程师, IBM 中国软件开发技术实验室 2007 年 8 月 31 日很多应用譬如监控、即时通信、即时报价系统都需要将后台发生的变化实时传送到客户端而无须客户端不停地刷新、发送请求。本文首先介绍、比较了常用的“服务器推”方案,着重介绍了 Comet - 使用 HTTP 长连接、无须浏览器安装插件的两种“服务器推”方案:基于 AJAX 的长原创 2008-11-20 17:44:00 · 12452 阅读 · 3 评论 -
YSLOW法则中,为什么yahoo推荐用GET代替POST?
原文:http://www.cnxct.com/use-get-for-ajax-requests-why/背景:上上周五,公司前端工程师培训,提到前端优化的一些技巧,当然不能少了yahoo yslow的优化法则。其中有这么一条“Use GET for AJAX Requests原创 2011-08-08 12:46:36 · 4012 阅读 · 2 评论 -
HTTP referer
<br />HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器籍此可以获得一些信息用于处理。比如从我主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出原创 2011-02-21 10:46:00 · 10303 阅读 · 0 评论 -
HTTP 状态代码
HTTP 状态代码<br />如果向您的服务器发出了某项请求要求显示您网站21kaiyun.com上的某个网页(例如,当用户通过浏览器访问您的网页时),那么,您的服务器会返回 HTTP 状态代码以响应该请求。<br />此状态代码提供了有关请求状态的信息。<br />一些常见的状原创 2010-08-06 22:26:00 · 5402 阅读 · 3 评论 -
Squid的refresh_pattern配置
refresh_pattern 大概是 squid 最有意思但最不好懂的配置参数了。记住refresh_pattern 只对后端没设置Expires过期时间的页面起作用,比如论坛页面;而对类似apache mod_expires 设置过的页面不起作用。说明之前,先将个原创 2011-07-14 10:51:59 · 5778 阅读 · 0 评论 -
Apache URL重定向避免网址结尾斜线问题
结尾斜线问题描述: 每个网主都曾受到结尾斜线问题的折磨,若在URL中没有结尾斜线,服务器就会认为URL无效并返回错误,因为服务器会根据/~quux/foo去寻找foo这个档案,而非显示这个目录。其实很多时候,这问题应留待用户自己加「/」去解决,但是用户会直接输入网址。 这原创 2011-07-14 12:04:46 · 6311 阅读 · 0 评论 -
负载均衡环境中和如何设置Expires和Etag
在负载均衡环境中(LVS, LoadBalance)为了减少浏览器数据的重复请求操作,一般需要设置 Http Header 的 Etage 和 Expires 告诉浏览器请求数据是否已过期。以下内容主要考虑Apache+squid 环境ETag Header是文件修改时间、文原创 2011-07-14 10:29:57 · 3283 阅读 · 0 评论 -
查看Firefox中的缓存
在firefox浏览器中可以在地址栏使用about:cache命令查看当前缓存。 Information about the Cache ServiceDisk cache deviceNumber of entries:333Maxi原创 2011-07-10 14:33:43 · 5326 阅读 · 0 评论 -
理解http响应头中的Date和Age
Date:Date头域表示消息发送的时间,时间的描述格式由rfc822定义。例如,Date: Mon, 04 Jul 2011 05:53:36 GMT。Age:当代理服务器用自己缓存的实体去响应请求时,用该头部表明该实体从产生到现在经过多长时间了。原创 2011-07-04 13:57:59 · 7943 阅读 · 0 评论 -
httpwatch的timechart 解析
从timeChart,我们可以一目了然的看到那些请求花费的时间较长,一般柱状的长短表示从请求到接受共花费的时间,我们重点需要优化那些柱状较长的部分,当然我们也可以点击time列,按请求时间排到序,直接找出请求时间最长的部分。 针对每一条柱状图,原创 2011-07-04 02:20:30 · 5737 阅读 · 0 评论 -
修改squid的Header中的X-Cache为Powered-By-LinuxTone
今天分析别人网站的时候,注意到国内的chinacache服务商的CDN加速,把squid默认的X-Cache修改为Powered-By-ChinaCache,如下图:以前注意了但是没去研究过,今天刚好有点空挡自己就来研究看看。我的squid版本:squid-2.6.STABLE23步骤:1。查找squid的源代码中包括X-Cache的文件:2。修改源代码文件:./src/HttpHeader.c原创 2011-06-30 15:04:00 · 6417 阅读 · 0 评论 -
HTTP协议之Chunked解析
在网上找了好一会,始终没发现有解析Chunked编码的文章,那就自己写一个吧,呵呵。网上使用Chunked编码的网站似乎并不是很多,除了那些使用GZip压缩的网站,例:google.com,还有就是大部分打开GZip压缩的PHP论坛。根据本人的理解,使用Chunked编码的主要好处就在于一些程序的运算出过程中,可以动态的输出内容。例如,要在后台处理一个小时的运算,但又不希望用户等原创 2007-03-21 20:30:00 · 6115 阅读 · 0 评论 -
HTTP Response中的Chunked编码
进行Chunked编码传输的HTTP Response会在消息头部设置:Transfer-Encoding: chunked表示Content Body将用Chunked编码传输内容。Chunked编码使用若干个Chunk串连而成,由一个标明长度为0的chunk标示结束。每个Chunk分为头部和正文两部分,头部内容指定下一段正文的字符总数(十六进制的数字)和数量单位(一般原创 2007-03-21 19:53:00 · 5825 阅读 · 0 评论 -
web高性能开发系列随笔
在BlogJava里写了一些关于高性能WEB开发的随笔,因为都是跟前端技术相关(html,http,js,css等),所以也贴到博客园来,吸收下人气。1、 HTTP服务器.2、性能测试工具推荐3、 图片篇.4、 如何加载JS,JS应该放原创 2011-07-18 15:32:25 · 2243 阅读 · 0 评论 -
BigPipe:高性能的“流水线技术”网页
原文地址:http://www.facebook.com/note.php?note_id=389414033919译文地址:http://isd.tencent.com/?p=2419作者:蒋长浩Facebook的网站速度做为最关键的公司任务之一。在2009年,我们原创 2011-07-18 15:26:54 · 2172 阅读 · 2 评论 -
HTTP中Get与Post的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认 为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。原创 2010-04-12 14:42:00 · 9375 阅读 · 19 评论 -
Squid下Http头信息优先级
no-cache>Expires>refresh_pattern>Last-Modified也就是讲,最前面的最重要,前面的生效后,后面的基本就失效了. 另外squid本身就能对比Last-Modified,但根据我的测试,Etag还是会要向源服务器发送请求头,来确认原创 2011-07-14 10:50:16 · 2824 阅读 · 0 评论 -
浅谈ETag
HTTP/1.1中有一个Etag,用来判断请求的文件是否被修改。为什么要使用Etag呢?Etag主要为了解决Last-Modified无法解决的一些问题1、一些文件也许会周期性的更改,但是他的内容并不改变(仅仅改变的修改时间),这个时候我们并不希望客户端认为这个文件被修改原创 2011-07-14 10:05:29 · 3661 阅读 · 3 评论 -
expires与etag控制页面缓存的优先级
expires指令控制HTTP应答中的“Expires”和“Cache-Control”Header头部信息,启动控制页面缓存的作用time:可以使用正数或负数。“Expires”头标的值将通过当前系统时间加上设定time值来设定。time值还控制"Cache-Contr原创 2011-07-13 14:16:27 · 5918 阅读 · 0 评论 -
Apache启用mod_expires模块
mod_expires可以减少10%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求。在使用之前,首先要确认一下”mod_expires”模组是否有启用.如果是自己安装Apache来架设网页主机的话,这里我们可以透过编辑Apach原创 2011-07-14 10:02:41 · 16388 阅读 · 2 评论 -
http响应Last-Modified和ETag以及Apache和Nginx中的配置
基础知识 1) 什么是”Last-Modified”? 在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记此文件在服务期端最后被修改的时间,格式类似这样: Last-Modified原创 2011-07-14 09:59:34 · 19709 阅读 · 0 评论