一、完整的URL由以下几部分组成:
scheme:通信协议,常用的有:http/ftp。
host:主机,服务器(计算机)域名或IP地址
port:端口,整数,可选,省略时使用默认端口,http的默认端口是80.
path:路径,由零或多个“/”符号隔开的字符,一般用来表示主机的一个目录或者文件地址
query:查询,可选,用于给动态网页(如用CGI、ISAPI、PHP/ASP/JSP/ASP.NET等技术制作的网页)传递参数,用“&”符号隔开,每个参数的名和值用“=”符号隔开
fragment:信息片段、字符串,用于指定网络资源中的片段。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。
二、get请求和post请求的区别
(1)、get请求没有请求头,post请求要有请求头,请求会带上content—type告诉服务器post过去的数据格式和url的参数的数据一样
(2)、post发送的数据在请求体中,用户看不到;get发送的数据在地址栏中,用户能看到,不安全
(3)、涉及隐私数据的时候用 post 请求比较安全,发送大量数据的时候用 post,发送少量数据用get
三、XMLHttpRequest 返回值类型有xml和json
js解析xml格式
1、根据xml文本内容创建xml对象
function createXml(data){ if(!data){ return null; } var xml = null; try{ xml = new ActiveXObject("Microsoft.XMLDOM"); xml.loadXML(data); }catch(e){ try{ xml = (new DOMParser()).parseFromString(data) }catch(e){ return null; } }
2、获取元素节点的文本内容
function getNodeText(node){ if(window.ActiveXObject){ return node.text; }else{ if(node.nodeType = 1){ return node.textContent; } } }
3、获取元素的属性
function getNodeAttribute(node,attrName){ if(window.ActiveXObject){ return node.getAttributeNode(attrName); }else{ if(node.nodeType == 1){ return node.attributes[attrName] }else{ return undefined; } } }