常见的网络协议

1.网络模型

OSI七层模型:应用层 会话层 接收层 传输层 网络层 数据链路层 物理层

2.TCP/IP四层模型

应用层:

HTTP:超文本传输协议(html,图片,视频,音频)

FTP:文件传输协议

SMTP:简单邮件传输协议

POP3:邮局协议,接收邮件服务

DNS:域名解析协议 ,将IP解析为网站地址(www.baidu。com--------110.242.68.4)

传输层:

TCP:传输控制协议

UDP:用户报文协议

网络层:

IP协议:ipv4 ipv6

ARP协议:地址解析协议,绑定mac和IP地址协议

网络接口层:

以太网 物理网络设备等

二:传输层协议

传输控制协议,是面向连接的,全双工的,可靠的(数据传输的正确性),基于字节的通信协议

1.TCP打包和解包的过程

http协议报文通过报文段分别打包解包,完成整个报文的传输

2.TCP协议的报文结构

3.TCP协议的三次握手

全双工,面像连接,可靠的传输方式

4、四次挥手

5、UDP协议

也适用于数据传输控制的协议,对数据的可靠性、安全没有保证,不需要连接就可以发送。

UDP和TCP的区别:

tcp是面向连接的,udp是面向无连接

tcp的报文的结构相对要比udp更复杂

tcp是基于字节流(0、1),udp是基于数据报

tcp会保证数据的正确性、udp不能,会存在丢包的现象

tcp传输数据顺序是正确,udp不会

6、因特网的特点

冗余的网络,报文段知道拼接完成后才完成传输

7、端口port

端口号可以是0~65535,其中1024之前的不能随便用,自定义端口的话选择1024之后的。

端口的作用:唯一识别电脑上一个应用的东西

三、网络层协议-IP地址

是一种统一的地址格式,主要的作用是屏蔽掉mac物理地址的差异化。

IP危机,ip地址不够用的问题。

ipv4:4个字节、32位:11111111 11111111 11111111 11111111

A类地址:第一个字节作为网络号(第一位上必须是0),后面三个作为主机号

                 网络号:0 0000001 ~0 1111111 :1~126个网络

                主机号:00000000 00000000 00000001 ~ 111111111 11111111 11111111:

                 1.0.0.0 ~126.255.255.255 (2^24-2是每一个A类的网络中能够安装最大主机数量)

                10.9.36.101:是A类地址中的局域网地址

B类地址:前两个字节作为网络号(前两位必须是10,14位),后两个字节作为主机号(16位)

                  网络号:10000000.00000000 ~ 10111111.11111111 : 128.0 ~ 191.255

                127.0.0.1:比较特殊的一个,作为本地回环地址来使用,localhost是一个意思

                主机号:00000000.00000000~11111111.11111111:2^16-2

C类地址:前三个字节作为网络号(前三位必须110,21位),最后一个字节作为主机号(8位)

                网络号:11000000.00000000.00000000~11011111.11111111.111111:        

                192.0.0~223.255.255

                主机号:00000000~11111111:0~255:2^8-2=254个

                192.168.12.22:C类地址中的局域网地址

ipv6:16个字节,每个字节8位,共128位作为地址

四、应用层协议****

1、http协议简介

http://www.baidu.com

http是超文本传输协议,用于与服务器间传输html文件、图片、视频等文件类型的协议。

http是基于万维网:www : world wide web

http协议基于浏览器的一种BS架构的系统。

能够运行bs架构系统的服务成为web服务器:

apache(php、python等)

tomcat(java)

iis-internet information service

http协议的端口一般采用80,可以修改配置文件为其他(建议1024之后)

https协议(http基础+ssl协议+CA),是一种更安全的超文本传输协议,端口默认为443

2、http请求的报文结构

第一步:通过浏览器来抓包

chrome,右键鼠标,检查,网络(network)

第二步:操作页面业务功能,进行抓包

输入注册数据,点击注册,查看抓到的请求,可以通过payload(输入数据)及response(服务器返回数据)

第三步:分析一个请求包括的内容有什么(HTTP报文)

Request URL: http://localhost:8088/verydows/user/register.html?step=submit

Request Method:post

Request Header:包括很多字段,是对当前请求的一个补充说明

Request data:payload,请求数据

  1. username: bk2205_001
  2. email: bk2205_001@163.com
  3. password: 123456
  4. repassword: 123456
  5. agree: on

第四步:通过fiddler抓取请求raw报文

请求行:请求方式、请求url和请求协议及版本

请求头部:包括很多字段

      Content-Type:指定请求数据的类型

      Content-Length:指定请求数据的大小(Byte)

空行:区分请求头和请求数据的

请求数据:表单数据结构、json数据结构、xml格式等

                                                    findler抓包内容

-------------------------------------------------------------------------------------------------------------------------------

POST http://localhost:8088/verydows/user/register.html?step=submit HTTP/1.1 Host: localhost:8088 Connection: keep-alive Content-Length: 89 Cache-Control: max-age=0 sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99" sec-ch-ua-mobile: ?0 sec-ch-ua-platform: "Windows" Upgrade-Insecure-Requests: 1 Origin: http://localhost:8088 Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: navigate Sec-Fetch-User: ?1 Sec-Fetch-Dest: document Referer: http://localhost:8088/verydows/user/register.html Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 Cookie: jenkins-timestamper-offset=-28800000; deviceid=1636371560217; xinhu_ca_adminuser=admin; xinhu_ca_rempass=0; xinhu_mo_adminid=tpp0gp0ct0tit0ss0cm0sm0mf0tpt0ttp0qf0gc05; 6971_2132_saltkey=fPpD5Ggm; 6971_2132_lastvisit=1646305581; 6971_2132_visitedfid=2; UVID=c97b016df476f9022ee7e53855b7b3c4; VDSSKEY=5isi3tjqvjcbiuioned00qupuh username=student112&email=student112%40163.com&password=123456&repassword=123456&agree

---------------------------------------------------------------------------------------------------------------------------------

3、get和post请求的区别

get请求的参数一般拼接在url后面的,存在不安全的因素;post请求的参数请求数据,可以进行加密处理,而且不能通过地址栏看到这个数据

url地址栏是有长度限制的,所以请求的参数长度也有限制;post不受长度的限制。

get是向服务器要数据,不影响服务器的资源;post请求也是向服务器要资源,并且可以改变服务器上的资源

发送get请求一次即可完成;post请求需要两次发送,先获取一次请求100(继续),再继续去发得到200(发送成功)

4.请求方式

get:向服务器端申请数据,可以获得响应实体(html格式,josn,xml格式)

head:类似get,但是只获取响应头部,不获取实体

post:可以获取实体,对资源进行增删改

put:修改服务器资源

delete:删除服务器资源

如果为http协议:只用get,post

如果是restful接口,可以使用get,post,put,delete

响应报文结构

响应状态行:

协议,版本号,响应状态码,响应状态信息

响应头部:

Content-Type:响应正文的格式(json,html,xml)

Content-Length:响应正文的长度

Date:日期。服务器返回响应报文的日期

Last_Modified:服务器上资源最后修改时间

Expires:从服务器申请到本地资源,设置过期时间

空行

响应正文:

get/post获得的实体

响应状态码

200:请求成功

301   302:  分别是永久重新定向和临时重新定向

304:文件内容未发生改变

401:未授权状态

403:禁用状态

404:资源不存在(路径,资源名写错)

错误状态码和响应状态码的区别

1.响应状态码是对请求状态的反馈,不能够判断业务逻辑的问题

2.错误状态码是定义系统业务逻辑状态的功能

3.响应状态码出现在响应报文的状态行,错误码出现在响应正文中

4.错误码可以自己定义,主要反馈业务逻辑的错误

接口测试就是对请求报文的打包,通过工具发送,获取响应报文,并对响应报文中的数据进行判断是否符合预期的过程

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux常用的网络协议有很多,以下是其中一些常见的: 1. TCP/IP:传输控制协议/因特网协议(Transmission Control Protocol/Internet Protocol),是互联网通信的基础协议。它提供了可靠的数据传输、数据分割和路由功能。 2. HTTP:超文本传输协议(Hypertext Transfer Protocol),用于在Web浏览器和Web服务器之间传输数据。它是Web应用程序常用的协议,用于请求和传输HTML页面、图片、视频等资源。 3. HTTPS:安全超文本传输协议(Hypertext Transfer Protocol Secure),是HTTP的安全版本。它通过使用SSL(安全套接字层)或TLS(传输层安全)协议,对传输的数据进行加密和身份验证。 4. SSH:安全外壳协议(Secure Shell),用于通过加密的方式远程登录到Linux服务器。它提供了加密通信和安全的远程管理功能。 5. FTP:文件传输协议(File Transfer Protocol),用于在客户端和服务器之间传输文件。它支持上传、下载和管理文件。 6. DNS:域名系统(Domain Name System),将域名解析为IP地址的系统。它提供了域名与IP地址之间的映射,使得用户可以通过域名访问网站。 7. SMTP:简单邮件传输协议(Simple Mail Transfer Protocol),用于在邮件服务器之间传输电子邮件。它是发送和路由电子邮件的标准协议。 8. POP3:邮局协议版本3(Post Office Protocol version 3),用于从邮件服务器上接收电子邮件。它允许用户将邮件从服务器下载到本地设备。 9. IMAP:互联网消息访问协议(Internet Message Access Protocol),与POP3类似,用于从邮件服务器上接收电子邮件。IMAP提供更多的功能,如管理邮件夹和远程搜索等。 这只是一部分常见网络协议,Linux系统支持并且使用了更多的协议来实现各种网络功能和通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值