记录网络相关知识

TCP三次握手

第一次🤝:建立连接时,客户端发送SYN包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次🤝:服务器收到SYN包,必须确认客户的SYN(ack=j+1), 同时自己也发送一个SYN(sny=k)包 即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次🤝:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

在这里插入图片描述

四次挥手 (挥手是为了终止连接)

第一次挥手:客户端发送一个FIN,用来关闭客户端到服务器的数据传送,客户端进入fin_wait_1状态;

第二次挥手:服务器端收到FIN包后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务器端进入close_wait状态;

第三次挥手:服务器端发送一个FIN,用来关闭服务器端到客户端的数据传送,服务器进入last_ack状态

第四次挥手:客户端收到FIN后,进入time_wait状态,接着发送一个ACK给服务器,确认序号为收到序号+1,服务器进入close状态。至此,完成四次挥手。

在浏览器地址输入URL,按下回车之后经历的流程

1、dns解析
2、tcp连接
3、发送http请求
4、服务器处理请求并返回http报文
5、浏览器解析渲染界面

get请求和post请求

区别getpost
http报文层面请求信息放在URL报文体中
数据库层面符合幂等性和安全性不符合
其他层面被缓存、被存储不可以

cookie和session区别

1、cookie数据存放在客户的浏览器 ,session数据存放在服务器
2、session相对cookie更安全
3、若考虑减轻服务器负担,应当使用cookie

http和https的区别

1、https需要用到ca申请证书,http不需要
2、https密文传输,http明文传输
3、连接方式不同,https默认使用443端口,http默认使用80端口
4、https= http +加密+认证+完整性保护,较http安全

https真的安全吗?

浏览器默认填充http://,请求需要进行跳转,有被劫持的风险,可以使用hsts(http strict transport security)优化

socket通讯流程

在这里插入图片描述

Netstat介绍以及常用命令

Netstat是在内核中访问网络连接状态及其相关信息的程序,它能提供TCP连接,TCP和UDP监听,进程内存管理的相关报告
netstat -apn | grep ssh 查看ssh的端口
netstat -a 列出所有端口
netstat -at 列出tcp端口
netstat -ap 列出udp端口
netstat -anp 查看哪些端口被打开。
nc -lp 23 打开23端口
netstat -an | grep 23 查看23端口是否被打开。
netstat -l 显示已经监听的端口。
netstat -pt 显示PID和进程名称
netstat -rn 显示核心路由

两个序号和三个标志位:

(1)序号:seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。
(2)确认序号:ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,ack=seq+1。
(3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下:
(A)URG:紧急指针(urgent pointer)有效。
(B)ACK:确认序号有效。
(C)PSH:接收方应该尽快将这个报文交给应用层。
(D)RST:重置连接。
(E)SYN:发起一个新连接。
(F)FIN:释放一个连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值