1. swoole
    2. workman -》 getwaywork
    3. websocket
    名称 使用协议 用途 端口号 底层语言 其他
    MQTT
    WebSocket WebSocket 是为了满足基于 Web 的日益增长的实时通信需求而产生的
    Socket 工作在 OSI 模型会话层(第5层) TCP 或 UDP Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式 C
    Swoole
    Workerman 长链接、支持Websocket、HTTP、WSS、HTTPS等通讯协议 即时通讯类、物联网类(打印机通讯、单片机)、游戏服务器类 php容器 一个更底层更通用的服务框架
    GatewayWorker TCP长连接 workerman基础上进行封装 app推送服务端、即时IM服务端、游戏服务端、物联网、智能家居 php

    http请求方法 80端口
    post
    get
    put
    delete
    connect HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
    options 返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
    trace [treɪs] 回显服务器收到的请求,主要用于测试或诊断
    head 向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息
    https://www.cnblogs.com/weibanggang/p/9454581.html

    请求响应过程
    客户端连接到Web服务器->发送Http请求->服务器接受请求并返回HTTP响应->释放连接TCP连接->客户端浏览器解析HTML 内容

    mqtt协议
    面向主题(topic)的消息广播协议
    image.png
    image.png

    https 443端口
    TCP/IP | UDP
    osi网络七层模型
    应用层、表示层、会话层、传输层、网络层、链路层、物理层
    socket,tcp,http 三者之间的区别和原理
    不同的 TCP/IP 和其他的协议在最初 OSI 模型中的位置
    | 7 | 应用层 :HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP
    | 6 | 表示层:XDR、ASN.1、SMB、AFP、NCP
    | 5 | 会话层 :ASAP、TLS、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、Winsock、BSD sockets
    | 4 | 传输层 :TCP、UDP、RTP、SCTP、SPX、ATP、IL
    | 3 | 网络层 : IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、 X.25
    | 2 | 数据链路层 :以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE 802.11、FDDI、PPP
    | 1 | 物理层 :线路、无线电、光纤、信鸽

    为什么Tcp连接是三次,挥手是四次#
    在Tcp连接中,服务端的SYN和ACK向客户端发送是一次性发送的,而在断开连接的过程中,B端向A端发送的ACK和FIN是分两次发送的。因为在B端接收到A端的FIN后,B端可能还有数据要传输,所以先发送ACK,等B端处理完自己的事情后就可以发送FIN断开连接了。

    TCP/IP 连接
    TCP 协议可以对上层网络提供接口,使上层网络数据的传输建立在 “无差别” 的网络之上。
    建立起一个 TCP 连接需要经过三次握手
    第一次握手:客户端发送 syn 包 (syn=j) 到服务器,并进入 SYN_SEND 状态,等待服务器确认;
    第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个 SYN 包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态;
    第三次握手:客户端收到服务器的 SYN+ACK 包,向服务器发送确认包 ACK (ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握手
    握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP 连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP 连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开 TCP 连接的请求,断开过程需要经过 “四次握手”(过程就不细写了,就是服务器和客户端交互,最终确定断开).

    HTTP中GET与POST的区别,注意最后一条#
    GET在浏览器回退时是无害的,而POST会再次提交请求。
    GET产生的URL地址可以被Bookmark,而POST不可以。
    GET请求会被浏览器主动cache,而POST不会,除非手动设置。
    GET请求只能进行url编码,而POST支持多种编码方式。
    GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
    GET请求在URL中传送的参数是有长度限制的,而POST没有。
    对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
    GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
    GET参数通过URL传递,POST放在Request body中。
    GET产生一个TCP数据包,POST产生两个TCP数据包。