HTTP请求和Ajax的学习

1、无记忆的请求,请求结束后不会保留请求的记忆

2、HTTP请求过程

1、建立TCP连接
2、Web浏览器向服务器发送请求命令
3、Web浏览器发送请求头信息
4、Web服务器应答
5、Web服务器发送应答头信息
6、Web服务器想浏览器发送数据
7、Web服务器关闭TCP连接

3、HTTP请求

GET请求:一般用于信息获取
        使用url传递参数
        对发送的信息的数量有限制,一般在2000字符
        幂等:每次只是GET,没有修改服务器上的信息     

POST请求:一般用于修改服务器上的资源
         对发送的信息的数量无限制

4、HTTP相应

1、数字和文字组成的状态吗,显示请求是成功还是失败。客户端不知道请求的成功
2、响应头:和请求头一样包含服务端的信息,如服务器类型,内容类型和长度
3、相应正文

5、HTTP状态码

1XX:信息类,表示收到Web浏览器的请求,处理中;
2XX:成功:表示用户请求被正确接收,理解和处理  200 OK
3XX: 重定向:表示请求没有成功,客户要采取进一步动作
4XX:客户端错误,表示客户端提交的请求有错误。 404 NOTFound,意味着请求中引用的文档不存在    
5XX:服务器错误,表示服务器不能完成对请求的处理  500

6、简单的例子

request.open('GET','get.php',true);
request.send();

request.open('POST','post.php',true);
request.send();


request.open('POST','create.php',true);
request.setRequestHeader('Context-type','application/x-www-form-urlencoded');
request.send("name=王二狗&sex=男");
//用于提交表单,setRequestHeader放在open和send中

7、XMLHttpRequest取得响应

responseText:获得字符串形式的响应数据
responseXML:获得XML形式的响应数据
status和statusText:以数字和文本形式返回HTTP状态码
getAllResponseHeader():获取所有的响应报头
getResponseHeader():获取响应中某个字段的值
readyState属性
0:请求未初始化,open还没有调用
1:服务器连接已建立,open已经调用了
2:请求已接收,接收到头信息了
3:请求处理中,接收到响应主体了
4:请求已完成,且响应已就绪,响应完成了
var request = new XMLHttpRequest();
request.open('GET','get.php',true);
request.send();
request.onreadyState() = function() {
if(request.readyState === 4 && request.status ===200){
    //do sth    
}
}

原文地址:https://www.cnblogs.com/JoeChan/p/4524114.html