编程概念篇

本文深入探讨了互联网和网络编程的相关概念,从计算机网络和操作系统的历史开始,讲解了网络模型、TCP/IP协议栈、Socket编程、Web编程以及Nginx、PHP的工作原理。内容涵盖网络模型的演变、TCP/IP的四层模型、网络协议栈的实现、网络进程间通信、HTTP请求过程,以及Nginx的动静分离和与PHP-FPM的通信方式。文章适合对网络编程感兴趣的读者深入了解。
摘要由CSDN通过智能技术生成

前言

由于本人知识水平有限,文章内容不可避免的会出现错误和疏漏之处,恳请大家不吝指正!欢迎大家在评论区讨论交流。

互联网各种概念串联

计算机网络和操作系统发展历史

回顾历史,计算机技术早期的发展是缓慢的,甚至是每十年才会迎来一次里程碑式的变革。

时间 计算机工艺 网络 用途 大事件 操作系统 编程语言
20世纪40年代 第一代电子管计算机 - 炮弹弹道轨迹计算 ENIAC问世,进入电脑时代 批处理操作系统 打孔卡
20世纪50年代 第二代晶体管计算机 简单局域网(通信线路+终端) 军用计算 1958年中国第一台计算机诞生 多道程序操作系统 汇编语言和初代高级编程语言(COBOL/FORTRAN)
20世纪60年代 第三代中、小规模集成电路计算机 阿帕网 信息共享 阿帕网成为全球互联网始祖 远程处理、分时、多编程操作系统 更多高级编程语言(PASCAL PL/1、ALGOL-68 )
20世纪70年代 第四代大规模集成电路 ARPNET阿帕网 信息交换 主机对主机协议由NCP向TCP/IP过渡 实时、分时和分布式操作系统 C、C++、DBASE 等编程语言
20世纪80年代 第四代超大规模集成电路 INTERNET因特网 科学教育 全面使用TCP/IP,进入INTERNET时代 实时、分时和分布式操作系统 C、C++、DBASE 等编程语言
20世纪90年代-至今 第四代超大规模集成电路 INTERNET因特网 万物互联 电脑普及,网购兴起 通用网络操作系统 非常多的高级编程语言

操作系统是计算机系统的内核和基石,管理着计算机全部的硬件和软件资源。在使用中渐趋于成熟,先后出现了作业调度管理、处理机管理、存储器管理、外部设备管理、文件系统管理等功能。现代操作系统(如 Windows、Linux 等)本质上来讲都是分时系统,虽然分时系统有进程上下文
切所带来的开销,但却是实现了CPU的最大化利用。

其他事件:有兴趣可以简单了解下

  • 1946年2月15日在美国举行了ENIAC揭幕典礼。这台计算机的问世,标志着电脑时代的开始。
  • 冯·诺依曼发表了计算机史上著名的“101页报告”,报告明确规定出计算机的五大部件(输入系统、输出系统、存储器、运算器、控制器),并用二进制替代十进制运算,大大方便了机器的电路设计,被后人称为“现代计算机之父”
  • 1947年国际标准化组织ISO成立
  • 1956年,国家成立中科院计算技术研究所筹备委员会,在苏联的援助下,中国科研人员得到了M3型计算机的相关资料,1958年中国第一台计算机诞生
  • 1969年末最终建立了由西海岸的4个节点组成的实验性网络,简称ARPANET(阿帕网),四个节点分别是加利福尼亚大学洛杉矶分校,斯坦福研究所,加利福尼亚大学圣巴巴拉分校,犹他大学。阿帕网成为全球互联网的始祖 ,劳伦斯·罗伯茨也就自然成为“阿帕网之父”
  • 1970年完善了最初的主机对主机协议(命名为NCP协议),成为阿帕网使用的标准网络控制协议
  • 1980年,ARPA 投资把 TCP/IP 加进 UNIX BSD4.1 版本的内核中,套接字首先在BSD操作系统中出现,随后几乎渗透到所有主流操作系统中,TCP/IP协议成为操作系统的标准通信模块协议。
  • 1982年中,阿帕网被停用和禁用NCP协议,只允许使用Cern的TCP/IP语言的网站交流。
  • 1983年1月1号,ARPANET将其网络核心协议由NCP替换为更加灵活,功能更加强大的TCP/IP协议。TCP/IP开始成为通用协议,NCP成为历史。这天也被看成是INTERNET时代的开始。
  • 获得美国联邦机构合同的高校开始使用Internet,美国国家科学基金会NSF规划建立了13个国家超级计算中心(根服务器)及国家教育科技网,替代了ARPANET的骨干地位,Internet开始逐渐对外开放!tcp/ip协议栈的民间应用也在此时开始流行,各种基于BSD栈的开源协议栈和商业栈也陆续出现
  • 在中国,国家教育科技网Chinanet、CERnet、CSTnet、Chinagbnet等多个Internet网络项目在全国范围相继启动。Internet开始进入公众生活,并得到了迅速的发展。
  • 1990年ARPANET停止运营,正式退役。Internet开始兴起,各大官方组织开始提供在线服务,Internet开始引起商业界和新闻媒体的注意。
  • 1994 庆祝ARPANET/Internet诞生25周年。
  • 计算机制造技术,操作系统技术也在飞速发展,在连通Internet的计算机中,商业用户逐渐超过了学术界用户,从此Internet成长速度一发不可收拾。
  • 网上冲浪,网商购物成为潮流,走向了千家万户,当今计算机网路更是全方位的涵盖了人们生活中的方方面面,互联网普及率达75.6%,截至2022年12月,我国移动网络的终端连接总数已达35.28亿户,移动物联网连接数达到18.45亿户,万物互联基础不断夯实。

计算机技术是如何被推进的

同很多技术一样,计算机技术的发展离不开国家层面的财政支持和政策指导才得以大力推动

技术发展阶段 发展要素
军工系统计划筹备 有对先进技术和安全的绝对需求
军工系统投入科研 国家有最雄厚的财力,最优秀的人才
军事领域产生并应用 用于国防,提高国家战斗力
教育领域 各大高校和教育组织机构,国家财政补贴,培养对应人才
商用领域 需要考虑成本但可承受的范围比较高
扩散至民用领域 技术特别成熟,成本特别低以后,才能大众化普及

各种“网”的区别

名称 英文名 解释 协议
阿帕网 ARPANET 早期互联网,资源共享 NCP协议
因特网 Internet 现代互联网,资源共享 TCP/IP协议
互联网 internet(小写泛指互联网) 凡是能彼此之间通信的设备组成的网络就叫互联网 所有互联网络都属于互联网
万维网 World Wide Web 环球信息网 现代互联网,超文本资源共享 HTTP协议

net 与 web 的区别

名词 英文名 解释 计算机行业术语理解
net network 把……织成网 指网络,就是交换机、路由器、光猫、网桥等等构建的互联,由通信线路互相连接的许多自主工作的计算机构成的集合体
web web page 在…上织网 指网页,由客户端浏览器和无数服务器端构建的,通过网络传输的超文本信息集合体

网络模型

网络是一个复杂的系统,不仅包括大量的应用程序、端系统、通信链路、分组交换机等,这些部件的交互离不开各种各样的协议去规范,而各个部件之间以何种规则进行通信,就是网络模型研究的问题。
网络模型本质是一种协议分层设计方案,分层结构的好处是上层的变动完全不影响下层的结构,每一层都是向它的上一层提供服务,所以网络模型是典型的服务模型。

常见的网络模型有以下三种

网络模型 描述 地位
TCP/IP四层网络模型 应用层,传输层,网络层,网络接口层 实际模型
TCP/IP五层网络模型 应用层,传输层,网络层,数据链路层,物理层 教学模型
OSI七层网络模型 7应用层,6表示层,5会话层,4传输层,3网络层,2数据链路层,1物理层 理论模型

TCP/IP四层网络模型引领了当今互联网的成功,是实际在使用的模型
OSI七层网络参考模型由于出现时间晚,分层太多且不合理,实现复杂,运行效率低等种种原因,并没有得到实际应用,只成为了一个理论模型;而TCP/IP五层网络模型只作为一个教学模型出现在计算机网络教学中,毕竟数据链路层和物理层的问题是需要厂商去考虑的!

TCP/IP这里不单指TCP协议(传输控制协议)IP协议(因特网互联协议),而是对四层模型上的协议共同组成的协议集合的统称,其中TCP协议IP协议是最重要的两个协议,所以就命名为也叫TCP/IP协议簇,我们经常会简称为TCP/IP(网上看到也有叫TCP/IP协议族zu)

TCP/IP四层网络模型的协议和作用

分层名称 协议簇 主要功能
应用层 HTTP、FTP、Telnet、DNS、SMTP等 封装数据、处理数据
传输层 TCP、UDP 传输控制
网络层(网络互联层) IP协议、ARP协议,ICMP协议,IGMP协议等 网络层编址,寻址和转发
网络接口层 由底层网络定义的协议(有线局域网标准,无线局域网标准) 收发网络上的物理帧
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值