1.HTTP协议
HTTP(超文本传输协议) HTTP是一个基于请求与响应模式的、无状态的、应用层的协议,
绝大多数的Web开发,都是构建在HTTP协议之上。
url : 统一资源定位符
建立链接的主要步骤叫做 三次握手
http请求由三部分组成,分别是:请求行、请求头部、请求包体(正文)
HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文
2.AJAX
Ajax:现在允许浏览器与服务器通信而无须刷新当前页面的技术. 不需要刷新整个页面,只刷新局部页面的一种异步通讯技术;
Ajax技术的核心
XMLHttpRequest对象
// IE9及以上
const xhr = new XMLHttpRequest()
// IE9以下
const xhr = new ActiveXObject('Mricosoft.XMLHTTP')
常用方法
1.open(methad, URLn,async)
建立与服务器的连接
method参数指定请求的HTTP方法,典型的值是GET 或POST
URL参数指定请求的地址
async参数指定是否使用异步请求,其值为 true或false
2.send(content)发送请求
content参数指定请求的参数
3.setRequestHeader(header.value)
设置请求的头信息,把首部设置为所提供的值。在设置首部之前必须先调用openoe
4.onreadystatechange(e)
指定回调函数
就绪状态码 readystate
0
XML.HttpRequest对象没有完成初始化
1
XMLHttpRequest对象开始发送请求
2
XMLHttpRequest对象的请求发送完成
3
XMLHttpReauest,对象开始读取响应,还没有结束
4
XMLHt.tpReauest,对象读取响应结束
状态码status
200
服务器响应正常口
400
无法找到请求的资源
403
没有访问权限
404
访问的资源不存在
500
服务器内部错误
responseText
ajax对象中的responseText成员
就是用来记录服务端给我们的响应体内容的
所以我们就用这个成员来获取响应体内容就可以
3.传输内容类型content-type
协议规定post提交的数据,必须包含在消息主体中entity-body中,但是协议并没有规定数据使用什么编码方式。开发者可以自己决定消息主体的格式。
数据发送出去后,需要接收的服务端解析成功,
一般服务端会根据content-type字段来获取参数是怎么编码的,然后对应去解码。
application/x-www-form-urlencoded
在最开始的请求方式中,请求参数都是放在url中,表单提交的时候,都是以key=&value=的方式写在url后面。这也是浏览器表单提交的默认方式。
multipart/form-data
此种方式多用于文件上传,表单数据都保存在http的正文部分,各个表单项之间用boundary分开。application/json
现在越来越多的应用使用application/json,用来告诉服务端消息主体是序列化的json字符串。由于json规范的流行,各大浏览器都开始原生支持JSON.stringfy.
4. get请求与post请求区别
- 参数大小区别
- 参数类型区别
- 安全性区别