URL解析过程:
- 域名解析,全球总共13台根域名服务器,维护域名与ip对应的表
- 发起TCP的3次握手,成功建立TCP连接后发起http请求
- 服务器响应http请求
- 浏览器解析htm代码,并请求html代码中的资源(如js、css、图片等)
- 断开TCP连接
- 浏览器对页面进行渲染呈现给用户
公钥私钥关系
-
公钥加密,私钥解密
-
接受别人的消息(对方要保证你能看到),别人用你的公钥加密后再发给你
-
私钥签名,公钥验证签名
-
发消息给别人(比人要保证是你发的),你先用自己的私钥签名,比尔用你的公钥解密验证签名

HTTP
- 超文本传输协议,是一个无状态的协议,HTTP 服务器不会保存关于客户的任何信息。
工作过程:
-
地址解析获取服务器ip地址
-
结合本机自己的信息,封装成HTTP请求数据包
-
封装成TCP包,建立TCP连接(TCP的三次握手)
-
客户机发送请求命令
建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可内容。
-
服务器响应
服务器接到请求后,给予相应的响应信息,其格式为一个状态行,有信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
实体消息是服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据
- 服务器关闭TCP连接
加密方式:
- 散列函数Hash:
常见的有 MD5、SHA1、SHA256,该类函数特点是函数单向不可逆、对输入非常敏感、输出长度固定,针对数据的任何修改都会改变散列函数的结果,用于防止信息篡改并验证数据的完整性; 在信息传输过程中,散列函数不能单独实现信息防篡改,因为
明文传输,中间人可以修改信息之后重新计算信息摘要,因此需要对传输的信息以及信息摘要进行加密;
-
对称加密:通信方式是1对1; 对称加密的优势是信息传输1对1,需要共享相同的密码,服务器和 N 个客户端通信,需要维持 N 个密码记录
-
非对称加密:公钥私钥成对出现。公钥加密的信息只能私钥解开,私钥加密的信息只能公钥解开
TLS(Transport Layer Security)/SSL

- 使用:在生成HTTP包之后,先进入SSL数据算法加密然层,之后再打包成TCP包
- 算法种类:散列函数 Hash、对称加密和非对称加密
HTTPS
- 超文本传输安全协议,需要配置 TLS/SSL证书进行数据加密
缺点:
- 增加延时,HTTPS协议握手阶段比较费时,对网站的相应速度有负面影响
- 加载时间延长近50%,增加10%到20%的耗电,消耗较多的CPU资源
- SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用
- HTTPS连接服务器端资源占用高很多,支持访客稍多的网站需要投入更大的成本
DNS 协议
- 域名系统。
UDP 协议
- 用户数据报协议, 无连接安全性更低,因为没有tcp的三次握手
- 应用:
Websocket
- 持久化协议,是HTML5的东西
- 建立在TCP协议上,或者说借用了HTTP的协议来完成一次握手,当服务器完成协议升级后(HTTP->Websocket),服务端就可以主动推送信息给客户端啦。
- 标识符:ws/wss
- 特点:性能开销小、通信效率高
- 传统方案:
- Ajax轮循: 浏览器隔个几秒就发送一次请求,询问服务器是否有新信息
- 长连接(long pull): 客户端发起连接后,没消息,就一直不返回Response给客户端。直到有消息才返回
get和post的区别
网络错误码
2xx 请求成功,绿色标识
3xx 重定向
4xx 请求错误
- 404:服务器找不到请求的页面
- 403: 禁止访问,服务器拒绝访问
5xx 请求错误
- 500:Inter Server Error,服务器执行请求时发生错误
- 502:错误网关 服务器作为网关或代理,从服务器无法收到无效响应
->>> 博客原文 <<<-