• HTTP协议-get请求与post请求的区别


    区别:

    参数:get通过url进行传递;post放在request body中
    长度:get请求在url的长度是有限制的;而post没有(其实这个限制是来自浏览器和web服务器对url的限制,并不是http协议)
    安全:get由于直接将参数暴露在url中所以不能用来传递敏感信息,而post就不会有这个问题
    编码:get只能进行url编码,而post支持多种编码合适
    速度:由于get的data都在url里面所以速度较快(如果在网络环境好的情况下和这个可以差距忽略,反而在网络环境差的情况下两次包的tpc在验证数据的完整性上,有更大的优点 )
    缓存:get请求可以被浏览器缓存,post请求不会被浏览器缓存
    数据包:get由于data都在url里面,浏览器会把http的header和data一并发送,所以只残生一个数据包服务器响应200;post,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响200 ok(不过这不是post的必然行为是部分浏览器或框架的请求方式)
    本质:本质上来说get和post并没有差别,底层都是tcp/ip协议,但是由于http的规定和浏览器、服务器的限制,导致他们在应用过程中出现了不用的形式

    扩展:

    tcp/ip协议:是用于因特网的通讯协议-是供已连接因特网的计算机进行通信的协议
    tcp:(传输控制协议)-应用于程序之间的通信
    ip:(网际协议)-计算机之间的通信
    http: 超文本传输协议-是用于从万维网服务器传输超文本到本地浏览器的传送协议;是基于tcp/ip通信协议来传递数据
    关系:
    tcp就想汽车,我们用tcp来运输数据,他很可靠,从来不是发生少件的现象
    但是如果都是一样的汽车那就会一团乱,为了避免混乱
    所以交通规则诞生了他就是http,他为tcp提供了服务类别(pot、get、put、dalete。。。。)
    但是,我们只看到HTTP对GET和POST参数的传送渠道(url还是requrest body)提出了要求。“标准答案”里关于参数大小的限制又是从哪来的呢?
    那就是万维网中另一个重要的角色:运输公司(浏览器)
    理论上你可以在车顶无限推货物(url中无限加参数),但是数据量太大会给浏览器和服务器造成很大的负担。
    所以业界有不成文的规定,大多数浏览器会限制url长度在2k字节,而大多数服务器最多处理64k大小的url
  • 相关阅读:
    关于HTML标签
    windows bat 命令
    maven 基本用法
    idea 永久激活
    mysql 性能测试 mysqlslap 的使用介绍
    Javafx 入门教程(一)
    websocket server 服务端工具
    OPC 技术
    以http为例解读OSI七层协议
    Javafx 入门教程前言
  • 原文地址:https://www.cnblogs.com/humiao-0626/p/11346794.html
Copyright © 2020-2023  润新知