美文网首页0基础自学linux
0基础自学linux运维-4.1-HTTP常见的GET和POST

0基础自学linux运维-4.1-HTTP常见的GET和POST

作者: hualinux | 来源:发表于2019-07-09 05:21 被阅读4次

    前言

    很多刚刚学编程的运维,会接触到Get和Post方法,如果没有编程基础的看《HTTP 方法:GET 对比 POST》一脸懵。我想一下还是写一个,做一下说明吧。

    建议学习web之前看一下《HTTP权威指南》有些看不懂没紧要,先跳过,以后学到了再回看。

    解说

    我以飞翔风格解说,非喜勿喷^_^

    先从Get方法慢慢拆开

    最简单的了解GET

    GET简单来来说:就是你在浏览器上输入网址,然后回车,叫GET,比如

    www.hualinux.com/stu.jsp?id=1

    直接用浏览器访问的方式就叫GET,完了^_^

    一般情况下我们会和网站(专业叫后台)有些交互,需要传一些数据,所以往往带有参数(专业的叫传参),一般情侣吓用GET方法提交的:

    ?号之前叫地址: www.hualinux.com/stu.jsp

    ?号后面是参数:id=8,这是以“键=值”形式出来的,可以是多个,如果是多个的话要用“&”隔开,比如 www.hualinux.com/stu.jsp?id=1&note=hualinx(至于id和note代码什么意思是由开发定的,你就只要知道它会传2个参数:id=1和note=hualinx)

    有些特殊URL它是不用?这种方式的,像thinkphp是直接用pathinfo方式,这个学到的时候再了解。

    注:浏览器地址的GET一般用的是URL编码,如果含有中文或特殊符号会用RUL编码表示,如“茄树”复制出来就会成“%E8%8D%94%E6%9E%”

    什么是POST

    一般情况下

    <form action="stu.jsp" method="post">

    输入: <input type="text" name="id"><br>

    <input type="submit" value="提交"> </form> 

    <form>

    像一般用<form>标签中指定method是“post”的,叫post方法。如果指定是GET就是get方法,但最终还是会转为URL浏览器形式去表示的。

    无论是GET方法还是POST提交之后一般会有一种动态编程语言去处理,如php、java web、python web框架或GO web的一种框架。

    GET和POST对比

    你看一下GET和POST地址:

    GET方法就通过上面说明,自己都可以简单分析一下

    1. URL是明码的,用的是URL,肯定能看到内容,那是不是

    2.不安全

    3.URL 的最大长度是 2048 个字符。那知一个浏览器地址能输入多少,肯定有限制的

    4.缓存:因为不安全的,反正是别人都能看到的,你一般不会放敏感信息吧,那么为了性能我是不是可以缓存一下

    5. 只允许 ASCII 字符:URL编码我肯定要统一,那么我就指定 ASCII

    POST方式是:

    1.不会显示在URL中,因为URL是明码的,你输入密码不可能显示在URL吧?!

    2.安全:比GET安全,我都不显示在URL中,一般都安全点吧,我们学网络的时候说到抓包,http传输是不加密的,可以抓包分析,那么我用https我连传输都是加密的,没得讲了吧

    3. 长度无限制:我一个页面有一堆东西,那肯定不能限制呀,比如上传。有的人会说那我上传是限制了呀,那是代码限制并非是POST限制

    4.数据类型没限制:可以是二进制。所谓的二进制就是已经被变成了0和1的文件了,打开是乱码,你也不知道是什么东东。只有电脑才能看懂。

    相关文章

      网友评论

        本文标题:0基础自学linux运维-4.1-HTTP常见的GET和POST

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