Protocol
-
网络协议是指在计算机网络中进行通信和数据交换时,各个设备和系统之间遵循的规则和约定,可以使得不同设备和系统能够相互协作和交换信息。
-
最常见的网络协议是TCP/IP协议,它是互联网上数据通信的基础。TCP/IP协议包括一系列的协议,如IP协议负责网络定位和寻址,TCP协议负责可靠的数据传输。
-
TCP(Transmission Control Protocol)提供了面向连接的传输服务。它使用三次握手的机制来建立连接,确保
数据传输的可靠性和完整性。 -
IP Internet Protocol 用于定义
数据包的格式和寻址方式,使得互联网中的设备能够相互识别和交互。IP地址是IP协议中使用的一种标识符,用于唯一标识网络中的设备。它由一系列的数字组成,用于标识设备的位置和网络接口。IP地址分为两个版本:IPv4(Internet Protocol version 4)和IPv6(Internet Protocol version 6)。IPv4地址由四组由点分隔的数字表示,而IPv6地址由八组由冒号分隔的十六进制字符表示。
-
-
HTTP(Hypertext Transfer Protocol)是一种应用层协议,用于在Web上传输
超文本和其他资源。- 超文本(Hypertext)是一种文本的扩展形式,通过超链接(或超文本链接)将文本之间进行关联。
-
SOCKS5(Socket Secure 5)是一种网络协议,用于客户端与服务器之间进行通信。SOCKS5 是一种网络协议,
允许客户端通过代理服务器进行安全的数据传输和访问互联网。 -
JSON不是网络协议,而是一种数据格式和编码方式。虽然JSON本身不是一个网络协议,但它经常与网络协议一起使用。
-
代理服务器
- 代理服务器是一种位于客户端和目标服务器之间的中介服务器。当客户端发送请求时,请求将经过代理服务器传递给目标服务器,然后代理服务器将返回的响应传递回客户端。代理服务器就是包括平时说的翻墙和安全过滤呢。
- VPN(Virtual Private Network,虚拟私人网络)可以被看作是一种代理服务器。它允许用户通过加密和隧道技术在公共网络上建立安全连接,以访问互联网和其他网络资源。
- NFC(Near Field Communication,近场通信)是一种短距离无线通信技术。它允许两个设备在非接触的情况下进行数据交换,通常距离不超过几厘米。
Domain Name
-
DNS(Domain Name System)是
域名系统的缩写,它是互联网中用来将域名转换为对应IP地址的分布式数据库系统。简单来说,DNS解析将人类可读的域名转换为计算机可理解的IP地址。- 分布 式系统是由多个独立计算机通过网络连接而形成的系统,这些计算机协同工作以实现共同的目标。在分布式系统中,这些计算机被称为节点。节点之间通过网络
通信协同工作,以实现分布式计算、存储和处理等任务。节点之间通过网络通信协同工作,以实现分布式计算、存储和处理等任务。
- 分布 式系统是由多个独立计算机通过网络连接而形成的系统,这些计算机协同工作以实现共同的目标。在分布式系统中,这些计算机被称为节点。节点之间通过网络
-
当用户在浏览器中输入一个域名时,DNS系统将把域名转换为对应的IP地址,然后建立与该IP地址的网络通信。
HTTP简介
- 抓包:抓包就是通过工具监听网络传输数据的过程。可以想象成在网络中放置一个监听器,可以捕获并记录经过网络的数据包。这些数据包包含了发送者和接收者的信息,以及传输的内容。通过分析这些数据包,我们可以了解到网络中正在发生的事情,比如哪些应用程序正在通信、数据是否正常传输等等。
- HTTP 是一个基于 TCP/IP 通信协议来传递数据。HTTPS 协议是 HyperText Transfer Protocol Secure(超文本传输安全协议)的缩写,是一种通过计算机网络进行安全通信的传输协议。
- "web" 和 "万维网" 是可以互相替代使用的。WEB服务器是指在网络中运行并提供WEB服务的服务器。它是网络的核心组件之一,负责接收来自客户端的请求,并向客户端发送相应的WEB页面或资源。
- 请求行/状态行 -方法 URl 版本/版本 状态码 状态描述- 请求头/响应头 请求体/响应体
协议内容
HTTP请求方法---见文章尾部
HTTP的状态码
- HTTP 状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型。响应分为五类:信息响应(100–199),成功响应(200–299),重定向(300–399),客户端错误(400–499)和服务器错误 (500–599)。
- 常见状态码:
- 200 - 请求成功
- 301 - 资源(网页等)被永久转移到其它URL
- 404 - 请求的资源(网页等)不存在
- 500 - 内部服务器错误
package main
import (
" code.byted.org/middleware/ hertz/ pkg/ app "
"code.byted.org/middleware/ hertz/ pkg/ app/ server"
"context"
)
func main() {
h := server.New()
h.POST(" /sis ", func(c context.Context, ctx *app.RequestContext) {ctx.Data(200, "text/plain; charset=utf-8", []byte("OK"))
})
h.Spin()
}
计算机网路通信的分层设计
- 应用层为应用软件提供接口,使用特定协议。
- 表示层数据的解码和编码、加密和解密、压缩和解压缩
- 会话层负责建立、管理和终止表示层实体之间的会话连接
- 传输层负责建立端到端的连接
- 网络层为网络设备提供逻辑地址
- 路由器是一种网络设备,其主要作用是将数据包从一个网络转发到另一个网络。它充当网络交通指挥官,用于在不同的网络之间进行数据交互和路由选择。
- 数据链路层 数据链路层处理的数据单位是数据帧(frame)。它将数据分组成帧,并添加帧开始和结束标识
-
- 物理层处理的数据单位是比特(bit)。它将比特流划分为连续的数据帧以进行传输。
- 谐音记忆:印表会传往树屋(打印好的表格会传往树屋,是不是一下子就记住了 ^▽^)
- 只有四层体系结构的TCP/IP协议,与有七层体系结构的OSI相比要简单了不少,也正是这样,TCP/IP协议在实际的应用中效率更高,成本更低
- 上层依赖于下层,下层为上层提供服务
- 每一层都把上层的协议包当成数据部分,加上自己的协议头部,组成自己的协议包
| 序号 | 方法 | 描述 |
|---|---|---|
| 1 | GET | 请求指定的页面信息,并返回实体主体。 |
| 2 | HEAD | 类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头 |
| 3 | POST | 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。 |
| 4 | PUT | 从客户端向服务器传送的数据取代指定的文档的内容。 |
| 5 | DELETE | 请求服务器删除指定的页面。 |
| 6 | CONNECT | HTTP/1.1 协议中预留给能够将连接改为管道方式的代理服务器。 |
| 7 | OPTIONS | 允许客户端查看服务器的性能。 |
| 8 | TRACE | 回显服务器收到的请求,主要用于测试或诊断。 |
| 9 | PATCH | 是对 PUT 方法的补充,用来对已知资源进行局部更新 。 |