• 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引擎在客户端运行,承担了一部分本来服务器承担的工作,减少了大量用户量下的服务器负载

  • 相关阅读:
    使用MySQL如何查询一年中每月的记录数
    c-const修饰指针-day16
    【2023年11月第四版教材】软考高项极限冲刺篇笔记(1)
    入门力扣自学笔记116 C++ (题目编号636)
    (49)其他的性能测试场景
    高手系列!数据科学家私藏pandas高阶用法大全 ⛵
    学习servlet【续】
    SpringBoot 集成RabbitMQ 实现钉钉日报定时发送功能
    【input 身份证号】星号 代替,input 切割成 多个 小格格(类似)
    运放专题:虚短、虚短
  • 原文地址:https://blog.csdn.net/chenDR333/article/details/139340466