计算机网络分层的原因
1.易于实现和维护,因为层与层之间是相互独立的,各层之间不会受到干扰。
2.便于标准化的制定。
计算机五层协议
应用层,运输层,网络层,数据链路层,物理层。
URI和URL的区别
uri:唯一标识一个资源
url:提供资源的路径
DNS的工作流程(假设要浏览百度这个网站)
1.在浏览器中输入百度的域名,操作系统会检查本地的host文件中是否有这个域名,如果有就先调用这个ip地址,完成域名解析。
2.如果没有,就会访问本地dns解释器缓存,有的话,就完成解析。
3.如果没有,就访问本地dns解释器服务器,如果有的话,就完成解析,没有,就向根域名服务器发起查询请求。
4.根域名服务器会告诉本地域名服务器去哪个顶级域名服务器查询。
5.顶级域名服务器会告诉本地域名服务器向哪个权限域名服务器发起请求。
6.权限域名服务器会告诉本地域名服务器对应的ip地址。
7.本地域名服务器完成解析。
TCP和UDP有什么区别
安全链接:TCP安全,UDP不安全。
消耗资源:TCP消耗资源多,UDP消耗资源少。
传输速度:TCP传输速度慢,UDP传输速度快。
是否面向连接:TCP面向连接,UDP不面向连接。
TCP协议如何保证可靠性传输
通过校验和,序列号,超时重传,拥塞避免,流量控制等方法。
为什么客户端发出第四次挥手的确认报文之后,还要等2msl才能断开连接?
1.把本次的数据全部传送完毕,避免本次的报文段出现在下一次连接中。
2.考虑丢包问题,如果第四次发送的报文,在传输过程中丢失了,如果服务端没有收到确认ack就会重发第三次的数据报文。
HTTP1.0,HTTP1.1和HTTP1.2的区别?
传输形式:HTTP1.2采用二进制形式传输,而HTTP1.X都是基于文本形式传输的。
多路复用:HTTP1.2支持一个request对应一个id,一条连接上可以有多个request。
header压缩:在HTTP1.X中,header头携带了大量的信息,在http1.2中header头使用了不同的编码格式减少了header的大小.
HTTP1.0和HTTP1.1
host域:他们使用的host域不同。
长连接:http1.1支持长连接和流水线操作。
Session,Cookie和Token的主要区别?
Cookie是存储在客户端的,其中包含了用户信息,当客户端向服务端发送请求时,服务端会向客户端发送一个Cookie用来保存用户信息,当下次客户端再访问服务端时,会带上Cookie,用来确认身份。
Session是存储再服务端,Session是通过Cookie实现的,当客户端浏览器第一次访问服务端时,服务端会向浏览器发送一个sessionid,将sessionid放在cookie里面,存在客户端浏览器。
token
客户端在浏览器第一次访问服务端时,服务端会生成一串字符作为token传给客户端,等到下一次访问的时候,就无需验证用户名和密码。
在浏览器端输入url地址到显示主页的过程
1.对输入到浏览器的url地址进行dns解析,将域名地址转化为ip地址。
2.和目的服务器建立tcp连接。
3.向目的服务器发送http请求。
4.服务器处理请求并返回http报文。
5.浏览器解析并渲染页面。