Web----网络通讯部分

一、TCP和UDP的区别

TCP是一种面向连接的协议,它在传输数据之前会建立一条专用的通信连接。这意味着在数据传输过程中,两台计算机之间会有一条稳定的数据传输通道。因此,TCP可以保证数据传输的可靠性,但会带来一定的延迟。
UDP是一种无连接的协议,它不会建立专用的通信连接。每个数据包都是独立的,可以直接传输。因此,UDP的传输速度比TCP快,但不能保证数据传输的可靠性。
TCP和UDP都是来自于传输层的协议。传输层位于应用层和网络层之间,负责位于不同主机中进程之间的通信。

二、TCP的可靠性实现

TCP的可靠性是通过滑动窗口协议来实现的。在传输数据之前,发送端会设定一个窗口大小,表示最多可以发送多少数据。接收端在收到数据之后,会发送一个确认信息告诉发送端已经收到了多少数据。发送端收到确认信息后,就可以继续发送数据了。如果发送端在规定时间内没有收到确认信息,就会重新发送数据。这样就可以保证数据的可靠传输。

三、OSI的7层模型

应用层----表示层----会话层----传输层----网络层----数据链路层----物理层

四、当你在浏览器中输入一个URL并按下回车键,浏览器会经历多个步骤来将网页渲染到屏幕上。以下是详细的过程:

1.URL 解析:

浏览器解析输入的URL,提取出协议(如http、https)、域名(如example.com)、路径(如/index.html)、查询参数等。

2.DNS 解析:

浏览器通过DNS协议将域名解析为IP地址。
如果DNS缓存中有相应的IP地址,则直接使用;否则,向DNS服务器发送查询请求,获取对应的IP地址。

3.建立TCP连接:

浏览器与服务器建立TCP连接。对于HTTP协议,通常是通过三次握手完成的。
如果是HTTPS,还需要进行TLS握手来建立安全连接。

4.发送HTTP请求:

浏览器构建HTTP请求报文,包括请求行(如GET /index.html HTTP/1.1)、请求头(如Host: example.com)和可选的请求体。
通过TCP连接将HTTP请求发送到服务器。

5.服务器处理请求:

服务器接收到请求后,处理请求并生成响应。
响应包括状态行(如HTTP/1.1 200 OK)、响应头(如Content-Type: text/html)和响应体(即网页内容)。

6.接收HTTP响应:

浏览器接收到HTTP响应后,检查状态码,如果是200 OK,则开始处理响应体中的内容。

7.解析HTML:

浏览器解析HTML文档,构建DOM树。
同时,浏览器解析CSS,生成CSSOM(CSS Object Model)。
解析JavaScript,执行脚本,可能会修改DOM树或CSSOM。

8.构建渲染树:

将DOM树和CSSOM结合,构建渲染树。

9.布局(Layout):

根据渲染树计算每个节点的布局(位置和大小),即浏览器的回流过程。

10.绘制(Painting):

将布局好的元素绘制到屏幕上,完成网页渲染。

11.交互:

处理用户输入和事件,如点击、滚动等。

五、HTTP与HTTPS

HTTP(超文本传输协议):规定web服务端和客户端的数据传输格式 
HTTPS(超文本传输安全协议):是HTTP加上TLS/SSL协议构成的可加密传输的网络协议

六、Ajax的介绍

1.Ajax:是一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。

2.Ajax应用程序的优势:

1.通过异步模式,提升了用户体验
2.优化了浏览器和服务器之间的传输,减少了不必要的数据往返,减少了带宽占用
3.Ajax引擎在客户端运行,承担了一部分本来服务器承担的工作,减少了大量用户量下的服务器负载

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值