当前位置: 首页 > news >正文

计算机网络基础详解:从OSI模型到HTTP/HTTPS与Socket编程

计算机网络基础详解:从OSI模型到HTTP/HTTPS与Socket编程

本文适合刚接触计算机网络的小白,带你从零开始理解网络的分层模型、常见协议、浏览器访问网页的全过程,以及简单的网络编程。


OSI七层模型

OSI(Open System Interconnection)参考模型是一个理想化的网络分层模型,将网络通信划分为 七层,每层都承担不同的职责。

七层结构

  1. 物理层(Physical Layer)

    • 任务:传输比特流(0 和 1)。
    • 数据单位:比特(bit)。
    • 示例:双绞线、光纤、无线电波。
    • 打个比方:相当于“马路”,只负责运东西,不管东西是什么。
  2. 数据链路层(Data Link Layer)

    • 任务:把比特组装成帧,负责差错检测、点对点传输。
    • 数据单位:帧(Frame)。
    • 示例:以太网、MAC地址。
    • 打个比方:运输的“快递车”,每一帧就是一车货。
  3. 网络层(Network Layer)

    • 任务:负责寻址和路由,保证数据能从源头到目的地。
    • 数据单位:包(Packet / IP数据报)。
    • 示例:IP、ICMP、ARP。
    • 打个比方:导航系统,决定车怎么走才能到目的地。
  4. 传输层(Transport Layer)

    • 任务:端到端的通信,保证数据可靠传输或快速传输。
    • 数据单位:报文段(Segment)。
    • 示例:TCP(可靠)、UDP(快速)。
    • 打个比方:送快递时选择“顺丰保价”还是“普通快递”。
  5. 会话层(Session Layer)

    • 任务:建立、管理和终止会话。
    • 示例:登录系统的会话管理。
  6. 表示层(Presentation Layer)

    • 任务:数据翻译、加密、压缩。
    • 示例:JPEG、SSL、TLS。
    • 打个比方:把中文翻译成英文,或者把大文件压缩成小文件。
  7. 应用层(Application Layer)

    • 任务:直接面向用户,提供各种网络服务。
    • 示例:HTTP、FTP、DNS、SMTP。
    • 打个比方:外卖APP,用户通过它下单。

TCP/IP四层模型

实际工程中常用的并不是OSI七层模型,而是 TCP/IP四层模型

  1. 网络接口层(对应物理层 + 数据链路层)
  2. 网络层(IP、ICMP、ARP)
  3. 传输层(TCP、UDP)
  4. 应用层(HTTP、FTP、DNS 等)

浏览器访问网页的全过程

当你在浏览器输入 http://www.example.com 时,发生了什么?

  1. DNS解析

    • 浏览器先检查本地缓存,如果没有,就向本地DNS服务器请求。
    • DNS有两种查询方式:递归查询、迭代查询。
    • 解析得到服务器IP地址。
  2. TCP三次握手

    • 客户端与服务器建立可靠连接。
    • 三次握手的作用:确认双方都具备收发能力。
  3. HTTP请求

    • 浏览器构造HTTP请求报文并发送到服务器。
    • 请求报文包括:请求行、请求头、请求体。
  4. 服务器处理并响应

    • 服务器返回HTTP响应报文,包含状态码(200、404等)和数据。
  5. 浏览器渲染页面

    • 浏览器解析HTML → 下载CSS/JS/图片 → 渲染页面。

HTTP与HTTPS

HTTP特点

  1. 简单快速。
  2. 无连接:每次请求都会断开连接。
  3. 无状态:服务器不记得客户端之前做过什么。

HTTPS特点

  1. 加密传输(TLS/SSL保证安全性)。
  2. 端口不同:HTTP是80,HTTPS是443。
  3. 需要证书:保证网站身份可信。
  4. 缺点:性能开销大,证书费用高。

常见HTTP状态码

  • 200 OK:请求成功。
  • 206 Partial Content:部分请求成功(断点续传)。
  • 301 Moved Permanently:永久重定向。
  • 302 Found:临时重定向。
  • 403 Forbidden:拒绝访问。
  • 404 Not Found:资源不存在。
  • 500 Internal Server Error:服务器内部错误。

Socket编程入门

Socket 是网络编程的核心。以 TCP为例

服务器端流程

  1. 创建套接字:socket()
  2. 绑定IP和端口:bind()
  3. 监听端口:listen()
  4. 等待客户端连接:accept()
  5. 数据收发:send()recv()
  6. 关闭连接:close()

客户端流程

  1. 创建套接字:socket()
  2. 连接服务器:connect()
  3. 数据收发:send()recv()
  4. 关闭连接:close()

总结

  1. OSI七层模型是理论框架,TCP/IP四层模型是实际应用。
  2. 浏览器访问网页的全过程涉及 DNS解析、TCP连接、HTTP请求与响应
  3. HTTP简单高效,但不安全;HTTPS更安全但有性能和成本代价。
  4. Socket是网络编程的基石,理解 socket → bind → listen → accept 就能写最简单的服务端。
http://www.dtcms.com/a/437894.html

相关文章:

  • 大型网站建设机构小程序订货系统
  • springboot多功能智能手机阅读APP设计与实现(代码+数据库+LW)
  • hadoop-hdfs-journalNode
  • 记一次手机付费充电设备研究
  • 做网站公司价格多少人事外包收费标准
  • 网站百度关键词排名软件网络舆情
  • 网站毕业设计任务书秦皇岛营销式网站制作
  • 注册公司网站源码建设银行企业网站无法打印回单
  • 文化馆的网站怎么建设seo文章外包
  • mvc5 网站开发之美百度沈阳分公司地址在哪里
  • 针对餐饮公司推广做网站方法高端的网站设计多少钱
  • 网站开发不用框架阳春县建设局网站
  • 优秀的网站建设开发案例网站商品管理功能
  • 做网站是什么时候分页贸易网站开发
  • 汕头整站优化wordpress 时区问题
  • 一条龙做网站郑州哪里有做网站
  • 在线制作网站的平台重庆市工程建设招标投标交易信息网
  • 网站基本流程wordpress主题 dux1.8
  • 网站怎么做必须交钱吗贵阳网站建设是什么
  • 深圳罗湖网站建设公司网站关键词排名系统
  • 便宜自适应网站建设厂家贵阳有哪些做网站的公司
  • 专业网站建设公司怎么选网站域名攻击
  • 宜昌网站建设开发费用岳阳网站开发公司
  • 回龙观手机网站建设服务池州做网站
  • 网站制作苏州企业网站建设展示型是什么
  • 推荐10网站网站怎么更新文章
  • 搜索引擎网站推广法旅游网站建设和开发
  • 网站建站建设联系电话中核正式员工年收入
  • 北京市住房与城乡建设厅网站用dw做购票网站
  • 黄冈网站推广软件男科医院网站模板