1. http是一种无状态协议
2. http请求:四部分组成
① http 请求的方法或动作,如:GET / POST
② 正在请求的URL,总得知道请求的地址是什么
③ 请求头,包含一些客户端环境信息,身份验证信息等
④ 请求体,也就是请求正文,可以包含客户提交的查询字符串信息、表单信息等
注意:请求头与请求体一般来说有一个空行,空行表示请求头结束,开始请求体
3. GET 与 POST
① GET:一般用于信息获取
使用URL传递参数 对所发送信息的数量也有限制,一般在2000个字符
注意:GET 请求一般来说是安全的,因为一般GET 主要用于来获取信息,而不是修改信息,换句话说,GET一般用来查询信息,查询不会影响数据本身,而不是修改操作,因为所有的变量名和值都显示在url中,所以对所有人可见,正是因为用url来传递参数,所以数量有限制,一般来说,在2000个字符左右。
② POST:一般用于修改服务器上的资源
对所发送信息的数量无限制
4. HTTP 响应:3部分组成
① 一个数字和文字组成的状态码,用来显示请求成功还是失败
② 响应头,和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等
③ 响应体,也就是响应正文
注意:响应头与响应体一般来说有一个空行,空行表示响应头结束,开始响应体
5. HTTP 状态码
1xx:信息类,表示收到Web浏览器请求,正在进一步的处理
2xx:成功,表示用户的请求被正确的接收,理解和处理。例如:200 OK
3xx:重定向,表示请求没有成功,客户必须采取进一步的动作
4xx:客户端错误,表示客户端提交的请求有错误,例如:404 NOT Found,意味着请求中所引用的文档不存在
5xx:服务器错误,表示服务器不能完成对请求的处理:如:500
6. XMLHttpRequest 取得响应
responseText:获得字符串形式的相应数据
responseXML:获得XML形式的相应数据
status和statusText:以数字和文本形式返回HTTP状态码
getAllResponseHeader():获取所有的响应报头
getResponseHeader():查询响应中某个字段的值
7. readyState 属性
0:请求未初始化,open还没有调用
1:服务器连接已建立,open已经调用了
2:请求已接收,也就是接收到头信息了
3:请求处理中,也就是接收到响应主体了
4:请求已完成,且响应已就绪,也就是响应完成了