美文网首页
网络基础知识

网络基础知识

作者: Mannyao | 来源:发表于2020-10-09 17:10 被阅读0次

    OSI网络七层协议

    1. 物理层
    2. 数据链路层
    3. 网络层
    4. 传输层
    5. 会话层
    6. 表示层
    7. 应用层
      image.png
      iOS中把上三层应用层
      image.png
      对于我们而言理解上也就主要是4个层,数据链路层,网络层,传输层,应用层
      TCP/UDP协议
      TCP协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)传输层协议。
      三次握手
    • 首先客户端向服务器发起一个建立连接的同步请求(SYN)请求
    • 服务器在收到这个请求后向客户端回复一个同步/确认(SYN/ACK)的应答
    • 客户端在收到应答回应之后再向服务端发送一个确认(ACK),此时TCP连接成功


      image.png

    四次挥手

    四次挥手.png
    • 首先客户端发送一个FIN消息给服务端,客户端进入FIN_WAIT_1状态

    • 接着服务器收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占一个序号), 服务端进入CLOSE_WAIT状态。

    • 服务端在回复完客户端的TCP断开请求后,不会马上进行TCP断开,服务器会先确保断开前,所有的传输的数据是否已经传输完毕,一旦确认数据传输完成,服务端发送一个FIN消息给客户端,服务端进入LAST_ACK状态。

    • 最后客户端收到FIN消息后,进入TIME_WAIT状态,接着发送一个ACK给Server,确认序号为收到序号+1,
      服务端进入CLOSE转台,完成四次挥手。
      UDP协议
      UDP被称之为用户数据报协议位于传输层。提供非面向连接的网络服务,传送数据不需要和服务端建立连接,只需要知道数据需要发送到哪一个IP地址和监听端口即可,该服务传输的数据是不可靠的、可以由一点发送到到多点。这意味着它不保证数据报的到达只负责发送,也不保证所传送数据包的顺序是否正确。
      HTTP协议
      基本概念

    • 客户端(Client):移动应用(iOS、android等应用)

    • 服务器(Server):为客户端提供服务、提供数据、提供资源的机器

    • 请求(Request):客户端向服务器索取数据的一种行为

    • 响应(Response):服务器对客户端的请求做出的反应,一般指返回数据给客户端

    HTTP协议的特点
    HTTP协议永远都是客户端发起请求,服务器回送响应。这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。
    GET和POST对比和区别
    GET和POST的主要区别表现在数据传递上

    GET:在请求URL后面以?的形式拼接发给服务器的参数,多个参数之间用&隔开。
    比如http://www.test.com/login?username=123&pwd=234&type=JSON由于浏览器和服务器对URL长度有限制,因此在URL后面附带的参数是有限制的,通常不能超过1KB
    POST:发给服务器的参数全部放在请求体中,理论上,POST传递的数据量没有限制(具体还得看服务器的处理能力)
    HTTPS
    HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer):是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL

    image.png

    HTTPS和HTTP的区别主要为以下四点:
    https协议需要到ca申请证书,一般免费证书很少,需要交费。
    http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
    http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
    http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
    参考链接

    相关文章

      网友评论

          本文标题:网络基础知识

          本文链接:https://www.haomeiwen.com/subject/rjizjktx.html