老婆出轨 发表于 2024-9-9 11:52:33

TCP、UDP、HTTPS、HTTP

媒介

                                                                OSI七层网络
名称解释协议应用层定义了各种应用协议的数据规范 HTTP、HTTPS、SSL
FTP、DNS
TFTP、SMTP
表示层差别体系之间通信会话层断点续传传输层 一个电脑有很多端口,根据端口找到发送方与吸收方
确保数据包完备性
TCP、UDP网络层 ARP协议:通过IP地点获取对方的MAC地点
IP协议:逻辑寻址 和 路由
静态路由 与 动态路由 协议
ARP
IP
动态:RIP,OSPF,BGP
数据链路层 帧:将比特流8位一组发送
MAC地点:盘算机的唯一标识ID
物理层传输比特流(01串) 一、TCP协议

        TCP报文 = 报文头 + 数据部分
   https://i-blog.csdnimg.cn/direct/a75d6ed61c1e4d328f1c6f8856bcb5dc.png   TCP报文头格式     ACK :确认位(这条消息是一条复兴确认消息,确认号是有意义的)
 RST :重置位(TCP毗连中出现了错误,主机服务器瓦解,要求释放本毗连)
 SYN :同部位(表示这条消息是一条 1.发起毗连 2.确认接受毗连 的消息)
 FIN : 停止位(表示本次报文发送竣事了,要释放这个毗连,TCP四次挥手时)
ack确认号:告知对方,希望下次收到的包的序列号是多少
1.1 三次握手

        客户端和服务器基于TCP协议的毗连过程为 三次握手。
https://i-blog.csdnimg.cn/direct/1b8d59c4386b43d9ac8a3e4f5949d033.png
 
1.2 四次挥手

https://i-blog.csdnimg.cn/direct/7f1b31da487c40f49b442c4695af344c.png
1.3 特点

        TCP协议是建立毗连的,是一种可靠的毗连。
        一段时间内假如没有收到精确的回执信息和确认号,则会重传。
        相比于UDP协议,它可以包管数据传输拥有更好的安全性和完备性。
        相比于UDP协议,他的开销更大,速度更慢。
        HTTP、HTTPS就是基于TCP的。
 二、UDP协议

        UDP报文 = 报文头 + 数据部分
   UDP报文头长度名称解释16位源端口号 表示发送端的端口号。
假如发送端不需要源端口号,这个字段可以设置为0
16位目标端口号表示吸收端的端口号16位UDP报文长度 包括头部和数据部分的总长度
最小值为8字节(仅头部)
16位UDP校验和 用于检验UDP头部和数据部分是否在传输过程中发生了错误
检验和字段是可选的,但在IPv6中是强制要求的
2.1 特点

        UDP协议是不建立毗连的,因此尝尝出现丢包的现象,是不可靠的。
        相比于TCP协议,它的发送速度更快。(流媒体、游戏、IP电话、流量大的需求)
        相比于TCP协议,它的资源斲丧小。
        DNS域名解析协议就是基于UDP的。
三、HTTP协议

        HTTP(Hyper Text Transfor Protocol)为超文本传输协议。
3.1 特点

        HTTP协议基于TCP协议,默认端口为 80 (可靠协议)
        HTTP协议用于规定客户端和服务器的数据传输格式
        HTTP协议是一个基于请求与响应模式的、无状态的、无毗连的应用层协议
        HTTP协议发送的报文都是明文(未加密)的
https://i-blog.csdnimg.cn/direct/8bb9f79862fc44a2bb483b9806ab7bd3.png
3.2 请求

请求报文:客户端 向 服务器 发送的请求信息
常见的请求方法:
https://i-blog.csdnimg.cn/direct/43d935c90d034a8187b6cdfe8b5e1588.png
格式:(分为四部分)
        <1> 请求行:请求方法 + URL(统一资源定位符) + HTTP协议版本号
GET /teams HTTP/1.1         <2> 请求头部:名称 : 值
https://i-blog.csdnimg.cn/direct/9cb4fafb57974fdf90aeb1d75773c343.png 
   常 用 需 要 掌 握 的 请 求User-Agent客户端类型Accept客户端可以辨认的内容类型Host 请求的主机名
(不一定是IP地点,也可以是域名)
Cookie 与服务器做交互,用于保持会话
(用户名 + 密码)
Content-type请求体的内容格式Connection 值一般为keep-alive,保持TCP毗连不关闭
(但不会长久保持毗连)
         <3> 空一行:就是空出一行,表示请求头部竣事了。
         <4> 请求体:请求消息的正文内容。
                        留意:不是每个请求都有请求体,好比 GET请求一般没有请求体。
3.3 响应

响应报文:服务器 向 客户端 发送的响应信息 
响应格式:
        <1> 响应行:HTTP版本号 + 状态码 + 解释状态码
HTTP/1.1 200 OK 常用状态码解释1XX请求正在处理中2XX 请求成功处理完毕
200:请求成功
3XX 重定向(转移到别的一个url上)
302:重定向
304:缓存(未改动)
4XX 客户端导致的错误
5XX服务器导致的错误         <2> 相应头部:名称 : 值  (竣事后也要额外空一行,表示头部竣事)
https://i-blog.csdnimg.cn/direct/ddc2cd84bfb94b9a8ea46962f8c252e4.png
   常 用 需 要 掌 握Server服务器软件信息Data报文的响应时间Expires缓存的过期时间Set-Cookies通过服务器返回的文本设置cookiesConnection 值一般为keep-alive,保持TCP毗连不关闭
(但不会长久保持毗连)
(服务器可设置 --无毗连)
Location重定向的新URL          <3> 响应体:响应的正文内容
3.4 无毗连

HTTP协议是一种无毗连应用协议 :
       1. 限制每次毗连只处理一个请求
       2. 服务器处理完客户端的请求,并受到客户端的应答后,立刻断开毗连 
计划缘故原由:最早是为了应对单个用户请求间歇性大的问题,但随着网页越来越复杂,因此添加
                  了connection字段(设置connection : keep-alive)。
使用方法:1.开启:在请求中设置 connection : keep-alive 请求保持长毗连 (HTTP1.1默认打开)
                  2.关闭:在请求头中设置 connection : close  关闭长毗连
                  3.设置毗连时间:
                            在请求头中设置 Keep-Alive : timeout = 5, max = 1000
                                        timeout:超时时间(秒),凌驾这个时间断开毗连
                                        max:最多毗连次数,凌驾这个次数断开毗连
3.5 无状态

HTTP是一种无状态应用协议:
        1. 服务器不知道客户端是什么状态
        2.每个请求都是独立的,服务器回应后不会留下记载(假如要用之前的请求信息,需重传)
计划缘故原由:随着动态交互越来越多,重传严重浪费资源,因此计划了Cookies与Session
使用方法:
        Cookies:将前面请求的信息保存成一个临时文件cookies值,存放在欣赏器中。
        Session:相称于一个永久Cookies,关闭客户端仍旧存在。
                         退出客户端后,信息将会以Session的情势保存在服务器,并返回一个Session ID
                         给客户端。客户端会将Session ID保存在内存中。后续每次请求,都会
                         加上Session ID,服务器会将Session响应给客户端。
                         克制Session太多浪费资源:设置 timeout
四、HTTPS协议

        HTTPS(Hypertext Transfor Protocol Secure)超文本传输安全协议,是HTTP协议安全版。
由于HTTP是明文的,并且服务器和客户端都无法核对身份,HTTP不安全。
4.1 特点

        HTTPS协议的报文是密文。
        HTTPS协议可以对服务器和客户端举行身份认证。
        HTTPS协议可以防止信息被篡改,包管信息完备性。
        HTTPS协议比HTTP协议多一个SSL层。
https://i-blog.csdnimg.cn/direct/70c9ce2d832541fba16af7eb29f5176e.png
 4.2 SSL

                                                        SSL默认是 443 端口
https://i-blog.csdnimg.cn/direct/8bf07d486e71409aa487c0dcc33a3c97.png
1. 客户端请求建立SSL毗连,并将自己支持的一套加密规则发给服务器
2. 服务器在此中选出一组加密算法与HASH算法,并将自己的身份证书发送给客户端
        (身份证书包括:网址、加密公钥、证书颁发机构等)
3. 客户端吸收到证书后:
        <1> 验证证书正当性。假如正当,则天生一串随机数密码,用公钥对密码加密。
        <2> 将加密密码发给服务器,告知服务器以后报文都加密。(握手竣事)
4. 服务器吸收到加密密码信息后:
        <1> 用私钥举行解锁,得到密码
        <2> 告知客户端以后报文都加密。(握手竣事)
4.2.1 解释

HTTPS是非对称性加密(双方不是通过统一钥匙加密的)
                客户端通过自己天生的密码加密,用公钥解密
                服务器通过私钥解密,用客户端发送过来的密码解密
4.2.2 SSL版本

        常用的有:SSLv3,TLS1.0,TLS1.2

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: TCP、UDP、HTTPS、HTTP