这是我参与「第五届青训营 」伴学笔记创作活动的第4天
一、本堂课重点内容:
- 本堂课的知识要点有哪些?
本课堂重点介绍了http的基础知识,分别介绍了HTTP的基本特点,报文结构,发展历程,常见应用场景以及实际应用等。
二、详细知识点介绍:
- 本堂课介绍了哪些知识点?
- HTTP的含义:HTTP全名为Hyper Text Transfer Protocol即超文本传输协议,是属于应用层基于TCP协议的传输协议。
- HTTP的特点:HTTP传输通过请求和响应两个行为进行工作,同时HTTP是简单可扩展且无状态。
- 协议的发展:HTTP/0.9响应只有hTML文档,不支持其他文档类型;HTTP/1.0增加了Header和状态码,同时支持多种文档类型,使传输更为智能;HTTP/1.1增加了链接复用缓存内容协商等功能,进一步完善功能体系;HTTP/2增加了二进制协议、压缩header、服务器推送等功能;HTTP协议将不断完善改进,实现有效地信息传输。
- 状态码: 200:客户端请求成功;301:资源被永久转移其他URL;302:临时跳转;401:未经授权;404:请求资源不存在,输入错误地URL;500:服务器内部发生了不可预期地错误;504:网关/代理的服务器无法在规定时间内获得想要的响应。
三、实践练习例子:
- 实战-node篇 使用标准库HTTP/HTTPS;
const https=require('https');
https.get('https://test.com?api_key=DEMO_KEY',(resp)=>{
let data=
resp.on('data',(chunk) =>{
data +=chunk;
});
resp.on('end',() =>{
console.log(JSON.parse(data).explanation);
});
}).on('error',(err) =>{
console.log("Error:"+err.message);
});
- 实战-axios篇
axios.defaults.baseURL ="https://api.example.com";
axios.interceptors.request.use(function(config){
return config;},
function(err0r){
return Promise.reject(error);});
axios({
method:'get',
url:'http://test.com',
responseType:'stream',}).then(function(response){
response.data.pipe(fs.createWriteStream('X.jpg'))
});
四、课后个人总结:
- 本课程讲解了HTTP的基础知识,对HTTP的工作流程有了进一步了解;其中印象最为深刻的是实战篇,通过讲解的例子了解AJAX的FETCH、XHR,node、axios基本流程和基础代码。
五、引用参考: