计算机网络HTTP:GET和POST

  • 幂等性:是指无论调用多少次都不会有不同结果的HTTP方法。

  • GET

    • 作用:请求读取由URL所标志的信息
    • 参数:请求参数放置在URL后面。约定:参数写在?后面,用&分割。
    • GET请求过程:
      • 浏览器请求TCP连接(第一次握手)
      • 服务器答应进行TCP连接(第二次握手)
      • 浏览器确认,并发送GET请求头和数据(第三次握手)
      • 服务器返回200 OK响应
  • POST:

    • 作用:给服务器添加信息
    • 参数:将数据放在HTTP请求体中。
    • POST请求过程:
      • 浏览器请求TCP连接(第一次握手)
      • 服务器答应进行TCP连接(第二次握手)
      • 浏览器确认,并发送POST请求头(第三次握手)
      • 服务器返回100 Continue响应
      • 浏览器发送数据
      • 服务器返回200 OK响应
  • GET和POST的对比

    GET POST
    后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交)
    书签 可收藏为书签 不可收藏为书签
    缓存 能被缓存 不能缓存
    历史 参数保留在浏览器历史中 参数不会保存在浏览器历史中
    对数据长度的限制 URL的长度是受限制的(URL最大长度2048个字符) 无限制
    对数据类型的限制 只允许ASCII码 没有限制。也允许二进制数据
    安全性 安全性较差,因为所发送的数据是URL的一部分 更安全,因为参数不会被保存在浏览器历史或web服务器日志中
    可见性 数据在URL中对所有人都是可见的 数据不会显示在URL中
    幂等性 具有幂等性 不具有幂等性
  • HTTP请求方法

    方法 作用
    OPTIONS 返回服务器支持的HTTP请求方法
    GET 向服务器获取指定资源
    HEAD 与GET相同,但只返回HTTP头部,不返回文档主体
    POST 向服务器提交数据,数据放在请求体中
    PUT 与POST相似,只是具有幂等性,一般用于更新。
    DELETE 删除服务器上的指定资源
    TRACE 回显服务器端收到的请求,测试的时候会用到这个
    CONNECT 把请求连接转换到透明的TCP/IP通道
原文地址:https://www.cnblogs.com/xiaobaizzz/p/12300977.html