zoukankan      html  css  js  c++  java
  • http访问中GET和POST的原理解析

    1.HTTP有几种请求方法:

      在HTTP1.1中总共定义了8种方法:

      在HTTP1.0中,定义了三种请求方法:GET,POST和HEAD方法。

      在HTTP1.1中,新增了五种请求方法:OPTINOS,PUT,DELETE,TRACE和CONNECT方法。

      但我们常用的就是get和post方法

    2.GET和POST两种请求方法都有哪些区别?

      1.get的传递参数是放在url中的,而post的请求方式是放在request body中的,所以post比get更安全。

      2.get传递的参数有大小限制,在2k以下,post参数在2G以下。

      3.get请求只能进行url编码( application/x-www-form-urlencoded),而post支持多种编码格式

      4.get请求会被浏览器主动缓存,而post不会,除非手动设置。

    3.GET请求有request body吗,如果有的话,可以像post一样放在里面吗?

      因为GET和POST都是基于TCP/IP的底层通信协议,所以在技术上get也是可以加入request body的,但是由于上层的HTTP协议的不同,导致服务器不一定能够解析到request body

    4.GET请求的参数写法是固定的吗?

      在约定中我们是将参数写在?后面,使用&分割,但是也可以自己定义,但是需要服务器端进行相应的解析处理。

    5.POST比GET方法更加安全,这种说法对吗?

      不对,因为HTTP在网络上都是明文传输的,所以并不完全安全,如果要安全传输,只有加密,也就是使用HTTPS。

    6.GET和POST请求发送的数据包有什么不同?

      GET请求时产生一个TCP数据包,POST请求时产生两个TCP数据包。

      GET:浏览器会把http header和data一并发送过去,服务器返回200(返回数据)

      POST:浏览器先发送header,服务器响应100 connect,浏览器再发送data,服务器响应200 OK(返回数据)

      

  • 相关阅读:
    A Year Of Books
    Spring Boot 之 RESRful API 权限控制
    Git回滚远程版本
    初探设计:Java接口和抽象类何时用?怎么用?
    深入浅出: Java回调机制(异步)
    深入浅出: 大小端模式
    Java IO 之 FileInputStream & FileOutputStream源码分析
    Java IO 之 OutputStream源码
    软件测试--安装软件
    Mybatis 中$与#的区别
  • 原文地址:https://www.cnblogs.com/wk-missQ1/p/15215632.html
Copyright © 2011-2022 走看看