1、浏览器中输入url地址 ->> 显示主页的过程
- DNS解析域名,通过DNS地址解析获取相应的IP地址
- TCP连接,通过IP地址找到对应的服务器,然后建立TCP连接
- 向服务器发送HTTP请求
- 服务器处理请求并回传
- 浏览器解析渲染页面
- 连接结束
- 浏览器内核
就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。
- DNS过程、特点
先是检查浏览器缓存有没有对应的IP地址,然后检查hosts文件,然后DNS过程
1、客户端提出域名解析请求,并将该请求发送给本地域名服务器
2、本地域名服务器接收到请求后,先查询本地缓存,有,直接返回
3、没有,则把请求发给根域名服务器请求解析,根域名服务器会给本地域名服务器LDNS一个所查询的主域名服务器地址
4、本地域名服务器向上一步返回的主域名服务器发送请求
5、接受请求的主域名服务器查找并返回这个域名对应的Name Server地址,name server就是网站注册的域名服务器
6、Name server根据映射关系表找到目标IP,返回给LDNS
7、LDNS缓存这个域名和对应的IP
8、LDNS把解析结果返回给用户
特点:
- 每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。
- DNS命名用于Internet等TCP/IP网络中,通过用户友好的名称查找计算机和服务。
- DNS是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库。
- http和https区别
HTTPS协议 是对http报文内容加密的协议
HTTPS协议的本质就是HTTP + SSL
- Ssl过程
- 客户端向服务器发出加密通信的请求
- 服务器收到客户端请求后,向客户端发出回应
- 客户端收到服务器回应以后验证服务器证书
- 服务器最后收到客户端回复,利用已知的加解密方式进行解密。
整个过程使用了混合加密的方式(对称加密+非对称加密)
1.非对称加密用于加密三个随机值组成的密钥,客户端用服务器的公钥对其加密,服务器用自己的私钥对其解密,这个密钥就是三个随机值组成的密钥。
2.而密文的传输是对称加密的
- tcp和udp区别
Tcp传输控制协议,面向连接,传输可靠,通过三次握手建立连接,四次挥手关闭连接,有流量控制和拥塞控制,只能一对一传输
Udp用户数据报协议,传送数据之前不需要先建立连接,传输不可靠
- TCP的长连接和短连接
所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持
短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接
- Tcp如何保障可靠性
Tcp在传递数据之前,会有三次握手建立连接,而且在数据传递时,有确认机制,重传机制,拥塞控制机制等,数据传完后,还会断开连接来节约系统资源
- 三次握手四次挥手,四次挥手为什么要等两个时间周期?
三次握手:1、客户端发送一段带有syn标志的TCP报文 ,请求建立新连接
- 服务端发送带有syn、ack标志的数据包,正常接收,同意创建新连接
- 客户端发送带有ack标志的数据包,确认收到服务器同意连接的信号
四次挥手:1、客户端发送一个FIN,表示请求释放连接
- 服务器收到这个FIN,返回一段TCP报文,标记为为ACK,表示接收到释放连接的请求
- 服务器关闭与客户端链接,发送一段TCP报文,标记为为FIN,ACK,表示已经做好了释放连接的准备
- 客户端发回ACK报文确认,表示接收到服务器准备好释放连接
- 为了保证客户端发送的最后一个ACK报文段能够到达服务器
- 防止已经失效的报文段
- 为什么三次握手、四次挥手
三次握手:双方确认自己与对方的发送与接收都是正常的,建立可靠的通信
四次握手:双方确认对方的关闭信号,不能单方面停止服务
- get和post的区别、post和put区别,http请求的方法
本质上并没有区别,实际上都是TCP连接,在http协议中,对不同的请求设置不同的类别进行管理。单纯获取资源的请求就规定为get,修改服务器资源的请求就规定为post,并且也对他们的请求报文的格式做出相应的要求
get和post:
后退或者刷新:get无害,post数据会被重新提交
Get安全性较差,post更安全因为参数不会被保存在浏览器历史或者web服务 器日志中
Get提交的数据大小有限制,post方法提交的数据没有
GET 请求的请求信息是放置在 URL 的而, POST 是放置在请求数据中
post和put:put请求:如果两个请求相同,后一个会把第一个请求覆盖(put用来改资源)
Post请求:后一个请求不会把第一个请求覆盖(post用来增资源)
- http请求方式
请求流程/模型:请求/响应
请求方法8种:get、post、put、delete、options、trace、connect、head
- http常见状态码
1XX:通知/消息响应
2XX:成功响应 200 OK:正常处理并返回
3XX:重定向 302 Found:临时移动
4XX:客户端错误 400:错误请求
404 Not Found:无法找到请求的资源/未找到
403 Forbidden:禁止访问
5XX:服务器错误 500:内部服务器错误
503:Server Unavailable:服务器超负载或者停机维护,无法处理请求/服务不可用
502:bad gateway :网关错误
502什么原因导致:连接超时,向服务器发送请求,服务器当前链接太多,服务器方面无法给予正常的响应
504:网关超时
- http头结构
通用报头、请求报头、响应报头、实体报头
- TCP头部字段
源端口号、目的端口号、数据序号、确认序号、偏移、保留位、6个标志位、窗口字段
- TCP拥塞控制算法
慢启动:拥塞窗口指数增长,发送一个数据报文段,2个,4个
拥塞避免:拥塞窗口线性增长,到24,恢复慢启动
快重传:就是发送方尽快进行重传,而不是等超时计时器超时再重传
快恢复:发送方收到三个重复确认,执行快恢复算法