My Blogs
🐠

My Blogs

Tags
Blog
Published
Mar 20, 2022
  1. 多角度深度理解printf函数
  1. 多种数据接口介绍
  1. 详述NOR Flash和NAND Flash区别
  1. 从浏览器输入网址开始深度剖析网络的连接过程(一)
    1. 从浏览器输入网址开始深入剖析网络的连接过程(一)_御风而行的蚂蚁的博客-CSDN博客
      本系列文章致力于从浏览器中输入网址(比如 http://www.lab.glasscom.com/ ,下文皆以此为例),一路追踪到显示出网页内容为止的整个过程中分析网络全貌。 本文为此系列文章的第一篇,主要从 Web 浏览器的角度出发,探索浏览器的工作方式,主要介绍到浏览器将数据委托出去为止。 目录 5、生成 HTTP 请求消息 6、查询服务器域名对应的 IP 地址 7、委托协议栈发送消息 通过在浏览器中输入网址(URL)到显示出网页内容,这一过程包含了浏览器和 Web 服务器之间的一系列交互。主要是: (1)浏览器:请给我 XXX(例如: http://www.lab.glasscom.com/ )网页的数据。 (2)Web 服务器:好的,这就是你要的数据。 具体来看就是: (1)浏览器向 Web 服务器(以访问 Web 服务器为例)发送请求。 (2)Web 服务器根据请求向浏览器发送响应。 在这一系列交互完成后,浏览器就会将从 Web 服务器接收到的数据显示在屏幕上。 本文接下来通过几个部分来介绍网络的整个通信过程的各个环节。 (1)在浏览器地址栏输入网址 (2)点击网页中的超链接 (3)在表单中填写信息后点击"提交"按钮 注:访问 Web 服务器应该使用 HTTP 协议,所以 URL 用 "http:"。 按照 URL 的格式对各个元素进行拆分,以 www.lab.glasscom.com/dir/file1.html
      从浏览器输入网址开始深入剖析网络的连接过程(一)_御风而行的蚂蚁的博客-CSDN博客
  1. 从浏览器输入网址开始深度剖析网络的连接过程(二)
    1. 从浏览器输入网址开始深入剖析网络的连接过程(二)_御风而行的蚂蚁的博客-CSDN博客
      本系列文章致力于从浏览器中输入网址(比如 http://www.lab.glasscom.com/ ,下文皆以此为例),一路追踪到显示出网页内容为止的整个过程中分析网络全貌。 本文为此系列文章的第二篇,主要从协议栈和网卡的角度出发,探索搬运数据的机制。 目录 6、从服务器断开并删除套接字 7、TCP的整体流程 8、IP 与以太网的包收发操作 从应用程序(浏览器)收到委托后,协议栈通过 TCP 协议收发数据的操作可以分为 4 个阶段,前一篇文章也提到了,但只是简单介绍了一下,本文将详细说明。此外本文还将探索操作系统中的网络控制软件(协议栈)和网络硬件(网卡)是如何将浏览器的消息发送给服务器的。 接下来通过以下几个部分展开介绍。 协议栈的内部如下图所示: IP 协议: 控制网络包收发操作的部分。 网卡驱动程序: 负责控制网卡硬件,和普通的嵌入式驱动程序驱动硬件一样,不同厂家操作方式不同。 网卡: 负责完成实际的收发操作,也就是对网线中的信号执行发送和接收的操作。 创建套接字阶段,应用程序会调用 socket 申请创建套接字,协议栈根据应用程序的申请执行创建套接字的操作。在这个过程中,协议栈首先会 分配用于存放一个套接字所需的内存空间,之后会往里面 存入初始状态的控制信息 。 接下来,需要 将表示这个套接字的描述符告知应用程序 。 连接实际上是通信双方交换控制信息,在套接字中记录这些必要信息并准备数据收发的一连串操作。但套接字刚刚创建完成的时候,里面并没有存放任何数据,也不知道通信的对象是谁。所以应用程序需要把服务器的 IP 地址和端口号等信息告知协议栈,并在套接字中进行记录。 此外当数据收发操作时,还需要一块用来临时存放要收发的数据的内存空间,这块内存空间称为缓冲区,它也是在连接操作的过程中分配的。 套接字中存放控制信息(这里指控制信息的第二类),缓冲区中存放收发的数据。 其中控制信息分为两类: (1)客户端和服务器相互联络时交换的控制信息(TCP 头部中记录的信息) 这些信息不仅连接时需要,包括数据收发和断开连接操作在内,整个通信过程中都需要。这些信息在 TCP 头部控制字段中进行了定义,这些字段是固定的。TCP 头部信息(只列出了必需字段,一些可选字段没有列出)如下图所示: 此外以太网和 IP 协议也有自己的控制信息分别存在于 MAC 头部和 IP
  1. Raspberry Pi zero w安装ncnn
  1. Windows下VS Code配置Leetcode刷题环境
  1. 从零开始搭建个人博客
    1. 从零开始搭建个人博客_御风而行的蚂蚁的博客-CSDN博客
      我总结下来搭建网站由易到难有以下几种方案: (1)将自己的网站部署到github上,使用github.io来访问,或者将github.io地址和域名进行关联,这种方法最简单,但是目前国内访问github速度较慢,可能需要科学上网。 (2)将自己的网站部署到云服务器上,然后添加域名解析,使用域名访问网站,这种是比较常规操作,适合于对网站要求较高,例如要求速度,同一时刻能接受很多用户访问,对数据进行统计分析等等。而且需要租服务器,对于个人维护自己小小的网站,代价有点高。 (3)将网站代码上传到到github上,然后通过Vercel部署,这种方式比较简单,而且很容易操作。 我自己是使用第三种方案搭建的个人网站,本人觉得是性价比最好,而且操作最简单的方式。 (1)购买域名 看个人用途,要是想在国内直接访问,可以在阿里云或者腾讯云上买域名,综合对比来看,对我个人而言,需要用的时间比较长,所有我选择较便宜的腾讯云,选择了最便宜的域名。 其实也有一些免费的域名,可以在 freenom 上进行申请,只是不能在国内直接访问。 (2)使用notion作为网站管理工具 notion是新式的办公软件,可以用来管理笔记,有很多很酷的功能,可以去 官网 下载。 (3)选用网站模板 可以选用 Nobelium或者 nextjs-notion-starter-kit 参考: 如何使用 Notion 制作个人网站? - 知乎 (4)将github项目部署到Vercel上 (5)使用notion编辑内容 (6)将vercel IP地址添加到域名解析 (7)访问
      从零开始搭建个人博客_御风而行的蚂蚁的博客-CSDN博客
  1. 车道线拟合