HTTP 要求与相应
HTTP 要求的构成的四部份:
1 动词 途径 协定/版本
2 Key1: value1
2 Key2: value2
2 Key3: value3
2 Content-Type: application/x-www-form-urlencoded
2 Host: www.baidu.com
2 User-Agent: curl/7.54.0
3
4 要上传的数据
- 关于以上各部份内容的碎碎念:
1.要求最多包含四部份,起码包含三部份。(也就是说第四部份能够为空)
2.第三部份永远都是一个回车(n),用于离开第二部份和第四部份,必不可少
3.经常使用动词有 GET猎取 POST猎取时还传数据 PUT替代一切 PATCH部份替代 DELETE删除等,平常只猎取数据不上传就用GET,当要上传数据时就用POST,除此之外另有HEAD、OPTIONS等
4.这里的途径包含「查询参数」,但不包含「锚点」,假如你没有写途径,那末途径默以为 /
5.第 2 部份中的 Content-Type 标注了第 4 部份的花样,二者是一致的
- 用 Chrome 发要求
1.翻开 Network
2.地点栏输入网址
3.在 Network 点击,检察 request,点击「view source」,肯定要点不然看不到,这里只会显现要求的前三部份。
4.假如有要求的第四部份,那末在 FormData 或 Payload 内里能够看到
HTTP 相应的构成的四部份:
1 协定/版本号 状况码 状况诠释
2 Key1: value1
2 Key2: value2
2 Content-Length: 17931
2 Content-Type: text/html
3
4 要下载的内容
- 关于以上各部份内容的碎碎念:
1.状况码要背,详情请点击这
2.第 2 部份中的 Content-Type 遵照 MIME 范例,而且还标注了第 4 部份的花样,二者是一致的。
- 用 Chrome 检察相应
1.翻开 Network
2.输入网址
3.选中第一个相应
4.检察 Response Headers,点击「view source」,肯定要点不然看不到,点击后你能看到相应的前两部份
5.检察 Response 或许 Preview,你会看到相应的第 4 部份
关于JS操纵要求与相应的一些小笔记
用JS发要求
//猎取登录页面
//建立AJAX对象
var r = new XMLHttpRequest()
//设置要求要领和要求地点
r.open('GET','/login',true)
//注册相应函数
r.onreadystatechange = function(){
console.log('state change',r)
}
//发送要求
r.send()
JS能够设置恣意要求 header 吗?
第一部份 request.open('get','/xxx')
第二部份 request.setHeader('content-type','x-www-form-urlencoded')
第四部份 request.send('a=1&b=2')
JS能够设置恣意相应 header 吗?
第一部份 request.status/request.statusText
第二部份 request.getResponseHeader()/request.getAllResponseHeaders()
第四部份 request.responseText