网络基础知识

关于网络的一些非常非常基础的知识整理,为下学期计网课做准备

基础概念整理

  1. 应用程序并不是自己去控制网络,而是委托 操作系统 来控制网络
  2. 浏览器是一个具备多种客户端功能的综合性客户端软件,是可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件
  3. web服务器是一台在Internet上具有 独立IP地址 的计算机
  4. URL(Uniform Resourse Locator):统一资源定位符,网址。可以从互联网上得到的资源和访问方法的一种简洁的表示,是互联网上标准资源的地址
  5. CGI程序:对web服务器程序调用其他程序的规则所做的定义就是CGI,而按照CGI规范来工作的程序就成为CGI程序
  6. URI(Uniform Resourse Identifier):统一资源标识符。内容是一个存放网页数据的文件名或者是一个CGI程序的文件名,也可以直接使用“http:”开头的URL来作为URI。

  7. 各种协议
    >
    http:超文本传输协议
    https:用安全套接字层传送的超文本传输协议
    ftp:文本传输协议,这是一种上传、下载文件时使用的协议
    mailto:电子邮件协议
    >

  8. 端口号:一个用来识别要链接的服务器程序的编号,不同的服务器程序会使用不同的编号,Web是80,邮件是25
  9. 协议(protocal):通信操作的规则定义
  10. HTTP协议
    HTTP协议定义了客户端和服务器交互的消息内容和步骤,基本思路为:
    客户端会向服务器发送请求消息,请求消息包含的内容是“对什么”和“进行怎样的操作”两个部分。其中相当于“对什么”的部分称为URI。相当与“进行怎样的操作”的部分称为方法(HTTP谓词orHTTP动词),即需要让Web服务器完成怎样的操作。
    主要方法
    GET:获取URI指定的信息,如果URI指定的是文件,则返回文件的内容;如果URI指定的是CGI程序,则返回该程序的输出数据
    POST:从客户端向服务器发送数据。一般用于发送表单中填写的数据等情况
    HEAD:和GET基本相同。不过它只返回HTTP的消息头,而并不返回数据的内容。
    PUT:替换URI指定的服务器上的文件。如果URI指定文件不存在,则创建该文件

  11. 子网:用集线器连接起来的几台计算机

  12. 集线器:一种对包进行转发的设备,分为中继式集线器和交换式集线器
  13. 路由器:一种对包进行转发的设备
  14. TCP/IP网络:由一些小的子网,通过路由器连接起来组成一个大的网络

  15. IP地址:是分配给网络上使用网络协议的设备的数字标签

  16. 子网掩码:必须和IP地址一起使用,用来将某个IP地址划分为网络号和主机号两个部分。
    子网掩码为1的部分表示网络号,为0的部分表示主机号
  17. IP地址的主机号若全为0表示整个子网
    全为1表示向子网所有设备发送包,即”广播“

  18. DNS(Domain Name System):域名服务系统,作为一个将域名和IP地址相互映射的分布式数据库,能够使人更方便的使用互联网

  19. TCP/IP网络通过IP地址确定通信对象,所以在委托操作系统发送信息时,必须要先查询好对方的IP地址

  20. 解析器:计算机上相当于DNS客户端的部分,实际上是一段程序,包含在Socket库中,Socket库是用于调用网络功能的程序
  21. 域名解析:通过DNS查询IP地址的操作

  22. 协议栈:操作系统内部的网络控制软件,也叫”协议驱动“,”TCP/IP驱动“

  23. 缓存:将使用过的数据存放在离使用该数据的地方较近的高速存储装置中,以便提高后续访问速度的技术

  24. 套接字:数据输入口

  25. 描述符:套接字创建完成以后,协议栈会返回一个描述符,应用程序会将收到的描述符存放在内存中,描述符是用来识别不同的套接字的

  26. 网卡:网络硬件,负责对网线中的信号执行发送和接受的操作

  27. MAC地址:符合IEEE规格的局域网设备都使用同一格式的地址,这种地址被成为MAC地址。

    浏览器

    浏览器的第一步工作是对URL进行解析,确定Web服务器和文件名,生成HTTP请求消息,然后使用HTTP协议来访问Web服务器。收到请求消息后,web服务器对其中的内容进行解析,按照URI和方法来完成自己的工作,然后将结果存放在响应消息里。响应消息的开头是状态码,用来表示执行操作的结果,状态码后面就是头字段和网页数据。响应消息会发送回客户端,客户端收到后,浏览器会从消息中读出所需的数据并显示在屏幕上。

状态码

1xx:告知请求的处理进度和情况
2xx:成功
3xx:表示需要进一步
4xx:客户端错误
5xx:服务器错误

收发数据

  1. 创建套接字
  2. 将管道连接到服务器端的套接字上
  3. 收发数据
  4. 断开管道并删除套接字
-------------本文结束感谢您的阅读-------------