Skip to content

网络基础知识

网络

  • 网络,俗称互联网(Internet),由无数个计算机网络设备连接起来形成的全球性的网络基础设施

IP

  • IP地址可以理解为就是设备在互联网中的地址信息,每一个接入网络的设备都有一个自己的IP地址,用来定位设备在互联网中的位置

  • IPv4地址: 32位二进制
  • IPv6地址: 128位二进制

提醒!: 127.0.0.1 和 localhost 表示的是本机地址

域名

  • 域名(Domain Name),也就是网址,是由一串用点分隔的英文字母组成(如:www.baidu.com)由于IP地址不好记,就设计了出了域名,并通过DNS(域名解析服务器)来将域名和IP地址相互映射,便于记忆和访问。

端口

  • 端口号(Port)是整数,取值范围在0-65535,它是用来标识计算机设备中的运行程序。

注意:HTTP协议默认端口号为80,HTTPS协议默认端口为443

网络模型

互联网(Internet)连接了数以亿计的设备,网络四通八达就如同城市的复杂道路,网络如同道路中的车流,如果不加以管理那必然会出现混乱。

网络工程是一项复杂的任务,它涉及软件、固件、芯片级工程、硬件和电脉冲。 为了简化网络工程,整个网络概念被分为多个层次。 每一层都参与一些特定的任务,并且独立于所有其他层。 但总的来说,几乎所有网络任务都依赖于所有这些层。 层在它们之间共享数据,它们相互依赖,只接受输入和发送输出。

在网络模型的分层架构中,一个完整的网络过程被分成小任务。 然后将每个小任务分配给一个特定的层,该层专门用于处理该任务。 每一层只做特定的工作。

OSI模型

开放系统互连是所有通信系统的开放标准。 OSI 模型是由国际标准组织 (ISO) 建立的。 该模型有七层:

  • 应用层:该层负责为应用用户提供接口。 这一层包含直接与用户交互的协议。
  • 表示层:该层定义了远程主机本地格式的数据如何以主机本地格式表示。
  • 会话层:该层维护远程主机之间的会话。 例如,一旦用户/密码认证完成,远程主机会保持这个会话一段时间,并且在这段时间内不再要求认证。
  • 传输层:该层负责主机之间的端到端传递。
  • 网络层:该层负责地址分配和唯一寻址网络中的主机。
  • 数据链路层:该层负责从线路读取和写入数据。 在这一层检测到链接错误。
  • 物理层:该层定义了硬件、布线、功率输出、脉冲率等。

TCP/IP 模型

Internet 使用 TCP/IP 协议套件,也称为 Internet 套件。 这定义了包含四层架构的 Internet 模型。 可以理解为简版的OSI七层网络模型

  • 应用层:该层定义了使用户能够与网络交互的协议。例如,FTP、HTTP 等。
  • 传输层:该层定义数据应如何在主机之间流动。 这一层的主要协议是传输控制协议(TCP)。 该层确保主机之间传递的数据是有序的,并负责端到端的传递。
  • Internet 层:Internet 协议 (IP) 在此层上工作。 该层有助于主机寻址和识别。 这一层定义了路由。
  • 链路层:该层提供发送和接收实际数据的机制。与 OSI 模型对应的层不同,该层独立于底层网络架构和硬件。

HTTP协议

超文本传输协议(Hypertext Transfer Protocol,缩写 HTTP),规定了客户端和服务器之间数据传输的规则。(只有在 请求及响应中都遵循了统一的规则,服务端才能读懂客户端发送来的请求,客户端才能解析服务器响应的结果)

HTTP方法

  • GET
  • POST
  • PUT
  • HEAD
  • DELETE
  • PATCH
  • OPTIONS

最常用的两种方法是:GET 和 POST。

GET方法

GET 用于从指定资源请求数据。

GET 是最常见的 HTTP 方法之一。

请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:

/test/demo_form.php?name1=value1&name2=value2

  • 有关 GET 请求的其他一些注释:
    • GET 请求可被缓存
    • GET 请求保留在浏览器历史记录中
    • GET 请求可被收藏为书签
    • GET 请求不应在处理敏感数据时使用
    • GET 请求有长度限制
    • GET 请求只应当用于取回数据(不修改)

POST方法

POST 用于将数据发送到服务器来创建/更新资源。

通过 POST 发送到服务器的数据存储在 HTTP 请求的请求主体中:

POST /test/demo_form.php HTTP/1.1

Host: www.w3ccoo.com

name1=value1&name2=value2

  • 有关 POST 请求的其他一些注释:
    • POST 请求不会被缓存
    • POST 请求不会保留在浏览器历史记录中
    • POST 不能被收藏为书签
    • POST 请求对数据长度没有要求

HTTP协议 - 请求数据格式

响应数据格式