美文网首页
网络协议-2-HTTP

网络协议-2-HTTP

作者: 宠辱不惊的咸鱼 | 来源:发表于2019-10-01 09:34 被阅读0次

问题

  • 请求重定向头部
    • 302,Location=url
    • Refresh=5;URL=url

常用头部

长连接

  • HTTP1.1以前
    • Connection:Keep-Alive
    • 弊端:哑代理
  • HTTP1.1
    • 默认长连接
    • Connection:Close
  • 原理
    • 基于TCP的长连接,通俗的说就是socket不关闭,可以反复用

概述

  • Request For Comments(RFC)
    • 一系列以编号排定的文件;收集互联网相关信息,以及UNIX和互联网社区的软件文件
  • 请求组成
    • 首行 + 请求头 + 空行 + 请求体
  • 响应组成
    • 首行 + 响应头 + 空行 + 响应体
  • 请求方法
    • GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE
  • POST
    • 目标是行为处理器
    • 非幂等
  • PUT与PATCH
    • 所请求目标地址都是直接指向资源
    • PUT
      • 替换资源
      • 幂等
    • PATCH
      • 更新部分资源
      • 非幂等
  • 问题:PATCH为什么是非幂等的?
    • POST非幂等可以理解,因为请求服务器执行一个动作,多次请求可能导致动作多次执行
    • 而PATCH请求的目标是一个资源的,如果它只是更新一个资源,不执行其它动作,又何来不幂等呢?
    • 其实我忽略了一个问题,PATCH方法和POST方法有个很相似的地方,它们的实体部分都是结构化的数据
    • POST的实体结构一般是 multipart/form-data 或 application/x-www-form-urlencoded
    • PATCH的实体结构则根据其它规范定义
    • 这和PUT方法的无结构实体相比就是最大的区别;PUT方法的实体无结构,直接把实体部分数据替换到服务器的资源上
    • 而PATCH提供的实体则需要根据程序或其它协议的定义,解析后在服务器上执行,以此来修改服务器上的数据
    • 也就是说,PATCH请求是会执行某个程序的;如果重复提交,程序可能执行多次,对服务器上的资源就可能造成额外的影响,这就可以解释它为什么是不幂等的了
    • 举个例子
      • 服务器上有个资源/abc.int,里面存放一个整数,值为 1
      • 也就是说,GET这个资源的话,服务器响应的实体只包含了1这个数字
      • 现在自己定义当提交PATCH请求时,实体匹配^\s+\d+$的格式时就对服务器资源中的数字执行一个加法操作
      • 于是当客户端向/abc.int地址发起PATCH请求,实体部分为+3之后,服务器的/abc.int资源中的数据就变成4
      • 如果客户端不小心重复提交了PATCH请求,那么+3就会被再执行一次,这个资源的数据就变成7

相关文章

  • 网络协议-2-HTTP

    问题 请求重定向头部302,Location=urlRefresh=5;URL=url 常用头部 长连接 HTTP...

  • 《网络架构系列2-Http详解》

    不诗意的女程序媛不是好厨师~转载请注明出处,From李诗雨---https://blog.csdn.net/cjm...

  • 名词解析

    网络层:IP协议 : 网络协议ICMP协议: Internet互联网控制报文协议 ->IP协议的附属协议 IP...

  • Http网络协议包

    1.网络协议包: 2.常见网络协议: 3.Http网络协议包: 4.Http请求协议包与Http响应协议包介绍: ...

  • 网络传输-Socket

    目录 网络基础 Socket 一、网络基础 网络协议 网络协议是互联网进行数据交换的标准,通过实现网络协议达到与互...

  • 基本原理

    什么是协议? 网络协议:规定网络双端如何通信。

  • 网络协议

    网络协议 网络七层协议 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 TCP/IP五层模型的协议 应...

  • 网络协议

    网络协议 网络的五层划分是什么? 应用层,常见协议:HTTP、FTP 传输层,常见协议:TCP.UDP 网络层,常...

  • 网络协议

    1:OSI 模型七层协议, 另也可以五层协议即 一用层,表现层与会话层 统称为 应用层。 2:信息格式 很明显通过...

  • 网络协议

    最早的 TCP 协议文档是 RFC793。 TCP 提供一种面向连接的、可靠的字节流服务。 面向连接容易理解,那么...

网友评论

      本文标题:网络协议-2-HTTP

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