1、传输层协议tcp和udp
两种常用的传输层协议
TCP是面向连接的协议,而且是可靠的,必须经过三次握手才能建立起来,而UDP是一个无连接的协议,也不用建立连接,所以不算是可靠的。其他还有一些细节,一个字节流、一个数据报,还有正因为tcp可靠,所以代价就是性能会比较低,传输效率比较低,相反的udp就比较快一些。
应用场景:TCP协议适合于需要可靠传输的场景,例如文件传输、即时通讯等。而UDP协议适合于不需要可靠传输的场景,例如视频直播、音频传输等。
TCP(传输控制协议)和UDP(用户数据报协议)是两种常用的传输层协议,它们有以下几点区别:
-
连接:TCP协议是面向连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。TCP连接必须要经过三次握手来建立起来。而UDP是无连接的协议,不需要建立连接。
-
可靠性:TCP协议提供了可靠的数据传输,它有确认、窗口、重传、拥塞控制机制。而UDP协议不提供可靠的数据传输,它是一种无连接的协议。
-
传输方式:TCP协议是面向字节流的协议,它是基于TCP连接传输数据的。而UDP协议是面向数据报的协议,它是基于无连接传输数据的。
-
传输效率:TCP协议的传输效率较低,因为TCP协议需要建立连接、发送确认等操作,这些操作会占用大量的网络资源。而UDP协议的传输效率较高,因为它不需要建立连接,直接发送数据即可。
-
应用场景:TCP协议适合于需要可靠传输的场景,例如文件传输、即时通讯等。而UDP协议适合于不需要可靠传输的场景,例如视频直播、音频传输等。
总之,TCP协议和UDP协议是两种常用的传输层协议,它们在连接、可靠性、传输方式、传输效率和应用场景等方面都有所不同。在实际应用中,需要根据具体情况进行选择,并选择合适的传输协议。
2、浏览器输入一个域名到返回页面,都经历了什么
首先要对这个域名进行一个DNS解析,然后建立TCP连接(三次握手),发送HTTP请求,就轮到服务器来接收这个请求,并经过一系列复杂的处理后返回一个响应,浏览器接收这个响应解析HTML后就可以展示出来了。、
DNS解析:浏览器将解析输入的URL,首先检查其是否符合有效URL的规范。接下来,浏览器会通过DNS(Domain Name System)将域名解析为对应的IP地址。DNS解析过程可能涉及本地缓存、本地域名服务器、根域名服务器、顶级域名服务器和权威域名服务器。建立TCP连接:在获取到目标服务器的IP地址后,浏览器会向该服务器发送一个TCP连接请求。这个过程通常包括“三次握手”。发送HTTP请求:TCP连接建立后,浏览器会通过这个连接向服务器发送一个HTTP(Hypertext Transfer Protocol)请求。请求中包含了请求方法(例如:GET或POST)、请求的资源路径、HTTP版本、请求头(包含浏览器信息、语言、编码等信息)等。服务器处理请求:服务器接收到浏览器的请求后,会根据请求的资源路径查找对应的资源,并进行相关处理(例如执行服务器脚本、查询数据库等)。服务器响应:服务器处理完请求后,会生成一个HTTP响应,包含HTTP响应状态码(例如200表示成功),响应头(包含响应内容类型、编码等信息)和响应体(请求的资源内容,如HTML文档)。浏览器接收响应:浏览器收到服务器的响应后,会根据响应头信息解析响应体中的内容。如果响应内容是HTML文档,浏览器会进行下一步的解析和渲染。解析HTML:浏览器会对HTML文档进行解析,构建DOM(Document Object Model)树。在这个过程中,浏览器可能会遇到外部资源引用(如CSS、JavaScript、图片等),它会发起额外的HTTP请求来获取这些资源。渲染页面:浏览器根据DOM树和CSS样式计算出每个元素的布局位置和样式,然后进行页面渲染。同时,JavaScript代码可能会在这个过程中执行,进一步修改DOM树或CSS样式,改变页面的内容和表现。页面显示:在完成以上步骤后,浏览器将渲染好的页面展示给用户。
3、DNS协议
它是用来实现域名和IP地址的相互映射,就是一种应用层的协议
DNS(Domain Name System,域名系统)协议是一种应用层协议,用于实现网络中域名和IP地址的相互映射。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口,当前每级域名长度限制是63个字符,域名总长度则不能超过253个字符。
DNS协议的重要功能是将人类可读的域名(如,www.example.com)转换为机器可读的IP地址(如,192.0.2.44)。通过使用DNS协议,用户可以更方便地访问互联网,同时网络设备也可以根据IP地址进行网络连接和数据传输。
4、HTTP和HTTPS
http是一种超文本传输协议,是明文传输,用的端口是80,而https他还要申请证书,是一种加密传输协议,比http安全,端口用的是443
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
5、4层和7层网络模型
四层分网络接口层、网络层、传输层、应用层。它是用来描述互联网协议的模型。更关注网络通信的实现,
七层分为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,这个是用来描述开放系统互联网协议的,注重网络通信的标准化。
4层网络模型中的四个层次分别负责不同的任务,从上到下分别是:应用层负责应用程序的通信;传输层负责数据的传输和接收;网络互连层负责不同网络之间的通信;主机到网络层负责主机和网络之间的通信。
应用层负责应用程序的通信;
表示层负责数据的表示和转换;
会话层负责建立和维护网络连接;
传输层负责数据的传输和接收;
网络层负责不同网络之间的通信;
数据链路层负责数据的封装和解封装;
物理层负责数据的传输和接收。
6、OSI七层模型、TCP/IP四层模型、五层
七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
五层模型:物理层、数据链路层、网络层、传输层、应用层
四层模型:网络接口层、网络层、传输层、应用层。
7、http协议、状态码
建立连接过程:三次握手和四次挥手
1XX—5XX代表什么(http状态码),具体说几个
代表状态码:
500:服务器发生错误
404表示请求的资源不存在
403表示服务器拒绝请求,没有访问权限
400表示服务器无法理解请求的语法
300好像是重定向
200是请求成功的意思
1开头的见得比较少