http协议与ajax初步

什么是http:

http是计算机通过网络通信的规则,使得浏览器向web服务器请求信息和服务
http是一种无状态协议(不建立持久的连接,服务器端不保留相关的信息,无记忆)
完整的http请求:有7个步骤
1建立tcp连接
2web浏览器向web服务器发送请求命令
3web浏览器发送请求头信息(在chrome下f12查看network中的headers)
4web服务器应答
5web服务器发送应答头信息
6web服务器向浏览器发送数据
7web服务器关闭tcp连接
 
一个http请求一般由4部分组成:
1http请求的方法或动作,比如是get还是post请求
2正在请求的url(请求的地址
3请求头,包含一些客户端环境信息,身份验证信息等
4请求体(请求正文,包含客户提交的查询字符串信息,表单信息等)
get:
一般用于信息获取,使用url传递参数,对所发送信息的数量也有限制,一般在2000个字符串
post:
一般用于修改服务器上的资源,对所发送信息的数量无限制
一个get请求执行一次和执行1万次是一样的
 
一个http响应由三部分组成:
1一个数字和文字组成的状态码,用来显示请求是成功还是失败,
2响应头,响应头也和请求头一样包含许多有用信息,例如服务器类型,日期时间,内容类型和长度
3响应体(响应正文,服务器传过来的字符串,http代码
 
http状态码由3位数字组成,首位数字定义了状态码的类型:
1xx:信息类,表示收到web浏览器请求,正在进一步处理中
2xx:成功,表示用户请求被争取接受,理解和处理例如:200
ok
3xx:重定向,表示请求没有成功,客户必须采取进一步动作
4xx:客户端错误,表示客户端提交的请求有错误,例如:404not
found。意味着请求中所引用的文档不存在
5xx:服务器错误,表示服务器不能完成对请求的处理 如:500
 
在ajax中常用的一些函数:
openmethodurlasync)第三个参数的默认值为true,一般不填写:
sendstring):将请求发送到服务器端,post请求填写参数
request.open(“get”,”get.php”,true);request.send()
request.open(“post”,”post.php”,true); request.send()
request.open(“post”,”create.php”,true);
request.setRequestHeader(“Contend-type”,”application/x-www=form-urlencoded”);
request.send(“name=王二狗&sex=”)
responseText:获得字符串形式的响应数据
responseXML:获得XML形式的响应数据(比较少)
status和statusText:以数字和文本形式返回HTTP状态码
getAllResponseHeader():获取所有响应暴投
getResponseHeader():查询响应中的某个字段的值
 
readystate属性:
0:请求未初始化,open还没有调用
1:服务器连接已建立,open已经调用了
2:请求已接受,也就是接收到了头信息
3:请求处理中,也就是接收到响应主体了
4:请求已完成,且响应已就绪,就是响应完成了
 
xmlhttprequest取得响应:
var reques=new XMLHttpRequest();
request.open("GET","get.php",true);
request.send():
request.onreadystatechange=function(){
if(request.readystate==4&&request.status==200){
//成功之后的函数
}

猜你喜欢

转载自www.cnblogs.com/yuan233/p/10284399.html