主要目的:梳理一下http的运行原理
梳理动机:面试的时候总会被问到-从输入url到页面加载完成发生了什么?透过现场看本质都是在考察http的运行原理。
梳理过程:
一、页面内容来源与哪里?(浏览器页面里的内容是怎么来的)
答案:服务器(web服务器)
那web内容有哪些?很简单:比如:文本文件、html文件、各种图片、各种音视频文件、各种网关等
二、怎么获取各种各样的内容的?(web浏览器以怎么的方式获取web资源)
答案:http
三、http 又是怎样获取服务器资源的呢?
答案:
图例:
文例:
客户端向服务器发送http请求,服务器会在http响应中返回所请求的数据。
那么这么一来一往,其实叫事务。那么她们是怎么通信的呢?哦,原来是通过报文
四、报文是如何传输控制协议?(就是如何建立TCP/IP链接的)
浏览器从 URL 中解析出服务器的主机名,通过DNS(域名服务)将服务器主机名转换成服务器IP地址,如果有url中有端口号,也会解析出来,此时就会建立一条与web服务器的tcp链接,浏览器向服务器发送一条http请求报文,服务器返回一条http响应报文,关闭连接。
到这里其实就明白了从输入url到页面加载完成发生了什么 其中核心思想,剩下的只是一些细节的补充。
一张图看一下http网络协议栈
https再来简单了解一下
HTTPS 就是在 HTTP 和 TCP 之间插入了一个(称为 TLS 或 SSL 的)密码加密层
至此,http的运行原理就已经浅析完了,至于http好多细节知识点,可以参考http权威指南。