美文网首页
HTTP协议相关知识

HTTP协议相关知识

作者: redoboy | 来源:发表于2020-09-04 20:54 被阅读0次
    • TCP协议的三次握手和四次握手

    TCP协议的三次握手其实就是解决连接的可靠性。


    抓包信息

    解释一下相关符号:

    • TCP标志位(Flags):SYN(synchronous建立连接)、ACK(acknowledgement 确认)、FIN(finish结束连接)、PSH(push推送)、RST(reset重置连接)、URG (urgent紧急)、还有几个不太常用的
      image.png
    • seq (Sequence number 顺序号码) 一般是个随机值
    • ack (Acknowledge number 确认号码)
      image.png
      三次握手的过程:
      TCP三次握手
      三次握手中的SYN=1表示该标志位激活。
    1. 客户端A发送一个SYN包,其中包含一个seq,产生一个随机值这里我称为x,这个时候客户端A状态变成SYN-SENT状态
    2. 服务器B收到客户端A发来的SYN包,确认信息并发送一个(SVN+ACK)包返回给客户端A:seq=y(这里也是服务端产生的另外一个随机值), ack=x+1,服务端B状态变成SYN-RCVD状态
    3. 客户端A收到服务端发来的SYN包,确认信息并发送一个(SYN+ACK)包给服务端B: seq=x+1, ack=y+1, 此包发送完毕,客户端和服务端进入ESTABLISHED状态.完成三次握手,这样就保证了连接的可靠性。
    • 这里不难发现,ack一般都是将收到的seq值 + 1

    说白了:

    • 第一步,A为了确认是否能将数据发送到B

    • 第二步,B确认了A可以向自己发送数据,然后发送数据给A是为了确认是否可以发送数据到A,并且告诉A它可以收到A给它发送的消息

    • 第三步,A确认了B可以给自己发送消息,也知道自己可以给B发消息,然后发送数据给B是为了告诉B也可以发送数据到A。到此,双方都确认了可以收发消息。可靠连接就建立了!

    • http请求

    • 请求报文
    请求报文格式
    请求报文由三部分组成:请求行、请求头、请求实体
    具体请求报文
    请求行由①②③组成,空格分割
    ① 请求方法:常用:GET、POST、DELETE 不常用:PUT、OPTIONS、PATCH、TRACE、HEAD、CONNECT
    ② 请求URL
    ③ HTTP协议/协议版本
    ④ 请求头:由头部字段名和值组成
    ⑤ 请求体(一般不用)
    \color{#FF3030}{请求行、请求头、请求体对应结束都添加上回车符换行符 “/r/n”,请求头后面有两个,这个空行表示没有更多的请求头了}
    请求方法 描述
    GET 请求一个指定资源的表示形式。使用GET请求\color{#FF3030}{应该}只被用于获取数据
    POST POST方法用于将实体提交到指定资源,通常导致再服务器上的状态变化和副作用
    DELETE DELETE方法删除指定的资源。
    PUT PUT方法用请求有效载荷替换目标资源的所有当前表示。
    PATCH PATCH方法用于对资源应用部分修改。
    TRACE TRACE方法沿着到目标资源的路径执行一个消息环回测试
    HEAD HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体.
    CONNECT CONNECT方法建立一个到由目标资源标识的服务器的隧道
    常见的请求头
    • 常见状态码

    • TLS

    相关文章

      网友评论

          本文标题:HTTP协议相关知识

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