
http协议
alex8046
十年磨一贱。
展开
-
XMLHttpRequest().readyState的五种状态详解
在《Pragmatic AJAX中文问题 A Web 2.0 Primer 》中偶然看到对readyStae状态的介绍,感觉这个介绍很实在,摘译如下:0: (Uninitialized) the send( ) method has not yet been invoked. 1: (Loading) the send( ) method has been invoked, req转载 2014-10-29 16:16:15 · 21564 阅读 · 0 评论 -
AJAX POST&跨域 解决方案 - CORS
跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作,所以跨域能力也算是前端工程师的基本功之一。 和大多数跨域的解决方案一样,JSONP也是我的选择,可是某天PM的需求变了,某功能需要改成支持POST,因为传输的数据量比较大转载 2015-09-06 21:05:53 · 401 阅读 · 0 评论 -
跨域 XMLHttpRequest 请求
跨域 XMLHttpRequest 请求普通网页能够使用XMLHttpRequest对象发送或者接受服务器数据, 但是它们受限于同源策略. 扩展可以不受该限制. 任何扩展只要它先获取了跨域请求许可,就可以进行跨域请求。注意:页面内容脚本不能直接发起跨域请求. 然而, 任何一个页面内容脚本都可以发送消息给父扩展,请求父扩展发起一次跨域请求。关于使用这一技术的例子,请参照con转载 2015-09-06 21:01:41 · 1357 阅读 · 0 评论 -
探讨跨域请求资源的几种方式
什么是跨域JSONPproxy代理corsxdr 由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域。具体可以查看下表(来源) JSONP 这种方式主要是通过动态插入一个script标签。浏览器对script的资源引用没有同源限制,同时资源加载到页面后会立即执行(没有阻塞的情况下)。1 2转载 2015-09-06 21:03:51 · 858 阅读 · 0 评论 -
你真的会使用XMLHttpRequest吗?
看到标题时,有些同学可能会想:“我已经用xhr成功地发过很多个Ajax请求了,对它的基本操作已经算挺熟练了。” 我之前的想法和你们一样,直到最近我使用xhr时踩了不少坑儿,我才突然发现其实自己并不够了解xhr,我知道的只是最最基本的使用。于是我决定好好地研究一番xhr的真面目,可拜读了不少博客后都不甚满意,于是我决定认真阅读一遍W3C的XMLHttpRequest标准。看完标准后我如同醍醐转载 2016-04-15 10:50:25 · 1544 阅读 · 0 评论 -
XHR 实例 GET 和 POST 异步和同步
1.实现Ajax先来创建个XHR对象的实例:var xhr = function(){ if (window.XMLHttpRequest) { return new XMLHttpRequest(); }else{ return new ActiveObject('Micrsorf.XMLHttp'); }}();con转载 2016-07-14 15:13:29 · 7961 阅读 · 0 评论 -
让你完全理解base64是怎么回事
HTTP将BASE64-编码用于基本认证和摘要认证,在几种HTTP扩展中也使用了该编码。Base-64编码保证了二进制数据的安全Base-64编码可以将任意一组字节转换为较长的常见文本字符序列,从而可以合法地作为首部字段值。Base-64编码将用户输入或二进制数据,打包成一种安全格式,将其作为HTTP首部字段的值发送出去,而无须担心其中包含会破坏HTTP分析程序的冒号、换行符或二进转载 2016-07-14 16:18:07 · 4309 阅读 · 0 评论 -
HTTPS科普扫盲帖
为什么需要httpsHTTP是明文传输的,也就意味着,介于发送端、接收端中间的任意节点都可以知道你们传输的内容是什么。这些节点可能是路由器、代理等。举个最常见的例子,用户登陆。用户输入账号,密码,采用HTTP的话,只要在代理服务器上做点手脚就可以拿到你的密码了。用户登陆 --> 代理服务器(做手脚)--> 实际授权服务器在发送端对密码进行加密?没用的,虽然别转载 2016-07-14 17:09:58 · 396 阅读 · 0 评论 -
SSL/TLS协议运行机制的概述
作者: 阮一峰日期: 2014年2月 5日互联网的通信安全,建立在SSL/TLS协议之上。本文简要介绍SSL/TLS协议的运行机制。文章的重点是设计思想和运行过程,不涉及具体的实现细节。如果想了解这方面的内容,请参阅RFC文档。一、作用不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。(1)转载 2016-07-14 17:12:05 · 298 阅读 · 0 评论 -
解析ajax核心XMLHTTPRequest对象的创建与浏览器的兼容问题
XMLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始。了解XMLHttpRequest 对象就先从创建XMLHttpRequest 对象开始,在不同的浏览器中创建XMLHttpRequest 对象使用不同的方法:先看看IE创建XMLHttpRequest 对象的方法(方法1): var xmlhtt转载 2015-09-09 16:41:59 · 546 阅读 · 0 评论 -
ajax中的get和post说明
一.谈Ajax的Get和Post的区别 Get方式: 用get方式可传送简单数据,但大小一般限制在1KB下,数据追加到url中发送(http的header传送),也就是说,浏览器将各个表单字段元素及其数据按照URL参数的格式附加在请求行中的资源路径后面。另外最重要的一点是,它会被客户端的浏览器缓存起来,那么,别人就可以从浏览器的历史记录中,读取到此客户的数据,比如帐号和密码等。因此转载 2015-07-15 15:41:41 · 533 阅读 · 0 评论 -
图说浏览器的缓存原理及缓存方式说明(1)
首先,我们从表面上研究开始。一、从浏览器打开一个页面,是怎么一个过程?1.用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件;2.浏览器开始载入html代码,发现<head>标签内有一个<link>标签引用外部CSS文件;3.浏览器又发出CSS文件的请求,服务器返回这个CSS文件转载 2015-03-28 15:57:23 · 2967 阅读 · 0 评论 -
根据Request获取客户端IP
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr() ,这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为http://www.xxx.com/ 的URL时,用request.getRemot转载 2015-02-16 17:29:33 · 738 阅读 · 0 评论 -
图解SSL/TLS协议
一、SSL协议的握手过程开始加密通信之前,客户端和服务器首先必须建立连接和交换参数,这个过程叫做握手(handshake)。假定客户端叫做爱丽丝,服务器叫做鲍勃,整个握手过程可以用下图说明(点击看大图)。握手阶段分成五步。第一步,爱丽丝给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。第二步,鲍勃确认转载 2015-03-27 14:26:24 · 608 阅读 · 0 评论 -
理解RESTful架构
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我们必转载 2015-03-27 14:40:14 · 378 阅读 · 0 评论 -
HTTPS的七个误解(译文)
误解七:HTTPS无法缓存许多人以为,出于安全考虑,浏览器不会在本地保存HTTPS缓存。实际上,只要在HTTP头中使用特定命令,HTTPS是可以缓存的。微软的IE项目经理Eric Lawrence写道:"说来也许令人震惊,只要HTTP头允许这样做,所有版本的IE都缓存HTTPS内容。比如,如果头命令是Cache-Control: max-age=600,那么这个网页转载 2015-03-27 14:35:44 · 389 阅读 · 0 评论 -
HTTP协议详解
什么是HTTP协议协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器 目前我们使用的是HTTP/1.1 版本Web服务器,浏览器,代理服务器当我们打开浏览器,在地址栏中输入URL,然后我们就看到了网页。 原理是怎样的呢?转载 2015-03-09 17:58:50 · 343 阅读 · 0 评论 -
图说浏览器的缓存原理及缓存方式说明(2)
这里列举一下,有哪些方法阻止使用浏览器缓存。IFRAME我有一个主页面包含iframe框架,iframe加载一个ajax操作json的页面。当第一次打开这个主页面的时候,iframe中页面读取json数据是最新的,当数据库中修改了数据再刷新主页面的时候,iframe中页面的数据没有从数据库中取得最新的数据。这类问题,在FF中的解决方法可以参考How to get ifr转载 2015-03-28 16:04:04 · 475 阅读 · 0 评论 -
HTTP Keep-Alive模式
1、什么是Keep-Alive模式?我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能转载 2015-03-28 16:10:00 · 421 阅读 · 0 评论 -
浏览器缓存机制
浏览器缓存机制,其实主要就是HTTP协议定义的缓存机制(如: Expires; Cache-control等)。但是也有非HTTP协议定义的缓存机制,如使用HTML Meta 标签,Web开发者可以在HTML页面的节点中加入标签,代码如下:html code上述代码的作用是告诉浏览器当前页面不被缓存,每次访问都需要去服务器拉取转载 2015-03-28 16:05:52 · 372 阅读 · 0 评论 -
web缓存之浏览器缓存浅析
什么是web缓存所谓缓存就是再copy一份数据的副本(可能是html页面,图片,文件),根据副本的存放位置不同,又可分为不同的缓存策略,比如浏览器缓存,就是将文件存储再客户端,再访问相同的URL时首先检查副本是否时最新的,如果足够新的话,直接使用副本,不会再请求服务器,这样可以减少服务器请求数量,使用户获得更好的体验。浏览器缓存浏览器缓存,主要是HTTP协议定义的缓存,转载 2016-07-18 11:17:47 · 433 阅读 · 0 评论