[ ArcGIS 10 API for Javascript 系列 ] - 默认的HTTP请求方式

 

      ArcGIS API for JavaScript默认方式HTTP请求是GET方式, 而不是Post方式。

 

HTTP为长URL请求时,GET将无法使用,而必须采用Post的方式。Esri默认的http请求方式是GET。对于这种应用,如:以缓冲后的几何为参数的QueryTask,此情况下就需要使用POSTProxy来处理这种情况。

具体Proxy Page的使用可以参考:http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/gmaps/help/google_start.htm#topics/ags_proxy.html ,一直有个疑问为什么Esri不使用post方式做为http请求,而使用get方式。

 

初步原因:

   1、缓存:浏览器对GET方式请求的资源可以进行缓存,而对POST方式不缓存资源。

   2、跨域访问:使用scriptiframe等方式跨域,都是属于GET方式的http请求,而使用Xhr方式的Ajax是无法实现跨域。这样POST无法跨域。

   3header头:POST方式 发送相同数据的请求,其header要比GET方式要大的多。

 

综合上面各种因素,考虑到ArcGIS Server实际的应用场景。Esri选择Get方式为Http默认的请求方式也在情理之中。

 

 

posted @ 2010-12-08 11:08  爱图--UpdooGIS  阅读(928)  评论(0编辑  收藏  举报