HTTP实用指南|青训营笔记

86 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第11天

HTTP

一、什么是HTTP协议

超文本传输协议,是应用层协议,基于TCP协议,进行请求响应,简单可扩展,也是无状态协议

1.协议分析

发展:起初是为了解决通信诉求,响应只有HTML文档————>增加header,状态码,支持多种文档类型————>链接复用,缓存,内容协商————>二进制协议,压缩header,服务器推送

2.状态码

200---请求成功
301---资源被永久转移到其他url
302---临时调转
401---请求未经授权
404---请求资源不存在,可能是输入了错误的url
500---服务器内部发生了不可预期的错误
504---网关或代理服务器无法在限定时间内获得想要的响应

3.cookie

Cookie实际上是一小段的文本信息(key-value格式)。 客户端向服务器发起请求,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。 客户端浏览器会把Cookie保存起来。

HTTP2:连接都是永久的,流控制

HTTPS:即是HTTTP经过TSL/SSL加密 有对称加密和非对称加密

4.静态资源

CDN:通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务

登录---非同源皆跨域

解决跨域的方案:

1.代理服务器:同源策略是浏览器的安全策略,不是http的

2.CORS

3.iframe:有诸多不便

网络优化

CND加速主要是加速静态资源,如网站上面上传的图片、媒体,以及引入的一些Js、css等文件。 CND加速需要依靠各个网络节点,例如100台CDN服务器分布在全国范围,从上海访问,会从最近的节点返回资源,这是核心。 CND服务器通过缓存或者主动抓取主服务器的内容来实现资源储备。

HTTP2

CDN加速

代码优化

稳定性

重试机制,缓存,数据安全

WebScoket 常用于即时通讯,延迟低