js如何发起Method=CONNECT的http请求

bravility
  • 239

1.http协议中支持以下方法

clipboard.png

2.XMLHttpRequest不支持connect的method

xmlHttp=null;
if (window.XMLHttpRequest)
  {// code for IE7, Firefox, Opera, etc.
  xmlHttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE6, IE5
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlHttp!=null)
  {
  xmlHttp.open("CONNECT", "http://www.w3school.com.cn/example/xdom/note.xml", false);
  xmlHttp.send(null);
  xmlDoc=xmlHttp.responseText;

  xmlHttp.open("CONNECT", "http://www.w3school.com.cn/example/xdom/demo_dom_http.asp", false);
  xmlHttp.send(xmlDoc);
  document.write(xmlHttp.responseText);
  }
else
  {
  alert("Your browser does not support XMLHTTP.");
  }

clipboard.png

3.问题:JavaScript或php等语言中,如何发起method=connect的http请求?

回复
阅读 3.8k
3 个回答

个人感觉可能是因为connect是一个双向传输的方法,而ajax这种异步的请求没办法做到双向数据传输(只能在发起请求时传输数据

如果要实现类似的操作,我觉得你可以考虑使用web scoket吧。

谢邀。你也知道XMLHttpRequest属于运行环境提供的Web API,不支持CONNECTTRACKTRACE。所以如果你是问浏览器怎么发,那是发不出去的。如果你是问JavaScript怎么发,可以从服务器上发,比如nodejs

CONNECT 方法是给代理用的,比如你设置HTTPS代理,那个发给代理服务器的就是 CONNECT 方法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏