HTTP协议

HTTP状态码 HTTP状态码,我都是现查现用。我以前记得几个常用的状态码,比如200,302,304,404,503。一般来说我也只需要了解这些常用的状态码就可以了。如果是做AJAX,REST,网络爬虫,机器人等程序。还是需要了解其他状态码。本文我花了一个多月的时间把所有的状态码都总结了下,内容太多,看的时候麻烦耐心点了。HTTP状态码的学习资料到处都有,但是都是理论上讲解。本文介绍HTTP协议中的HTTP状态码(HTTPStatusCode),会对大部分的状态码都进行了详细的实例讲解。要了解状态码,应该在实例中去理解状态码的意义,否则看了也会忘记的。什么是HTTP状态码HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事。状态码位于HTTPResponse的第一行中,会返回一个”三位数字的状态码“和一个“状态消息”。”三位数字的状态码“便于程序进行处理,“状态消息”更便于人理解。如下图,当客户端请求一个不存在的URL的时候,Web服务器会返回“HTTP/1.1404NotFound”告诉浏览器客户端。服务器无法找到所请求的URL。状态码分类HTTP状态码被分为五大类,目前我们使用的HTTP协议版本是1.1,支持以下的状态码。随着协议的发展,HTTP规范中会定义更多

HTTP代理 这次介绍代理服务器,代理服务器是HTTP协议中一个重要的组件,发挥着重要的作用。本文介绍一些HTTP代理服务器的概念和工作原理。什么是代理服务器Web代理(proxy)服务器是网络的中间实体。代理位于Web客户端和Web服务器之间,扮演“中间人”的角色。HTTP的代理服务器即是Web服务器又是Web客户端。Fiddler就是个典型的代理Fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888.当Fiddler退出的时候它会自动注销代理,这样就不会影响别的程序。代理的作用一,翻墙很多人都喜欢用Facebook,看youTube。但是我们在天朝,天朝有TheGreatofWall(长城防火墙),屏蔽了这些好网站。怎么办?通过代理来跳墙,就可以访问了。自己去寻找代理服务器很麻烦,一般都是用翻墙软件来自动发现代理服务器的。代理的作用二,匿名访问经常听新闻,说”某某某“在网络上发布帖子,被跨省追缉了。假如他使用匿名的代理服务器,就不容易暴露自己的身份了。http代理服务器的匿名性是指: HTTP代理服务器通

HTTP缓存机制 介绍HTTP协议中的缓存机制。HTTP协议提供了非常强大的缓存机制,了解这些缓存机制,对提高网站的性能非常有帮助。本文介绍浏览器和Web服务器之间如何处理"浏览器缓存",以及控制缓存的httpheader.本文会使用Fiddler来查看HTTPrequest和Response。在看本文的时候,请务必打开Fiddler来实践。缓存的概念缓存这个东西真的是无处不在,有浏览器端的缓存,有服务器端的缓存,有代理服务器的缓存,有ASP.NET页面缓存,对象缓存。数据库也有缓存,等等。http中具有缓存功能的是浏览器缓存,以及缓存代理服务器。http缓存的是指:当Web请求抵达缓存时,如果本地有“已缓存的”副本,就可以从本地存储设备而不是从原始服务器中提取这个文档。缓存的好处缓存的好处是显而易见的,好处有,1.减少了冗余的数据传输,节省了网费。2.减少了服务器的负担,大大提高了网站的性能3.加快了客户端加载网页的速度Fiddler可以方便地查看缓存的headerFiddler中把header都分门别类的放在一起,这样方便查看。如何判断缓存新鲜度Web服务器通过2种方式来判断浏览器缓存是否是最新的。第一种, 浏览器把缓存文件的最后修改时间通过 header ”

HTTP压缩 HTTP压缩是指:Web服务器和浏览器之间压缩传输的”文本内容“的方法。HTTP采用通用的压缩算法,比如gzip来压缩HTML,Javascript,CSS文件。能大大减少网络传输的数据量,提高了用户显示网页的速度。当然,同时会增加一点点服务器的开销。本文从HTTP协议的角度,来理解HTTP压缩这个概念。HTTP内容编码和HTTP压缩的区别HTTP压缩,在HTTP协议中,其实是内容编码的一种。在http协议中,可以对内容(也就是body部分)进行编码,可以采用gzip这样的编码。从而达到压缩的目的。也可以使用其他的编码把内容搅乱或加密,以此来防止未授权的第三方看到文档的内容。所以我们说HTTP压缩,其实就是HTTP内容编码的一种。所以大家不要把HTTP压缩和HTTP内容编码两个概念混淆了。HTTP压缩的过程1.浏览器发送Httprequest给Web服务器,request中有Accept-Encoding:gzip,deflate。(告诉服务器,浏览器支持gzip压缩)2.Web服务器接到request后,生成原始的Response,其中有原始的Content-Type和Content-Length。3.Web服务器通过Gzip,来对Response进行编码,编码

HTTP基本认证 http协议是无状态的,浏览器和web服务器之间使用“会话”技术来身份识别。php有session和cookie。本文主讲cookie。桌面应用程序(比如新浪桌面客户端,skydrive客户端)跟Web服务器之间是如何身份识别呢?什么是HTTP基本认证桌面应用程序也通过HTTP协议跟Web服务器交互,桌面应用程序一般不会使用cookie,而是把"用户名+冒号+密码"用BASE64编码的字符串放在httprequest中的headerAuthorization中发送给服务端,这种方式叫HTTP基本认证(BasicAuthentication)当浏览器访问使用基本认证的网站的时候,浏览器会提示你输入用户名和密码,如下图假如用户名密码错误的话,服务器会返回401如下图HTTP基本认证的过程第一步:客户端发送httprequest给服务器,第二步:因为request中没有包含Authorizationheader,服务器会返回一个401Unauthozied给客户端,并且在Response的header"WWW-Authenticate"中添加信息。第三步:客户端把用户名和密码用BASE64编码后,放在Authorizationheader中发送给服务器,认证成功。第四步

HTTP协议详解 网络发展大爆炸的时代,网络已经成为生活中不可缺少的一部分。台式电脑、ipad、手机登硬件不断更新,浏览网站,查看其中的信息,他们之间是按着什么原则交互信息的呢,这就是HTTP协议。无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要,因为它让我们理解了Web应用程序的内部工作。什么是HTTP协议协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器目前我们使用的是HTTP/1.1版本Web服务器,浏览器,代理服务器当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。原理是怎样的呢?实际上我们输入URL后,我们的浏览器给Web服务器发送了一个Request,Web服务器接到Request后进行处理,生成相应的Response,然后发送给浏览器,浏览器解析Response中的HTML,这样我们就看到了网页,过程如下图所示我们的Request有可能是经过了代理服务器,最后才到达Web服务器的。过程如下图所示代理服务器就是网络信息的中转站,有什么功能呢?1.提高访问速度,大多数的代理服务器都有缓存功能。2.突破限