http协议中的get和post

        计算机的使用不单单依靠硬件,需要软件的配合。软件才程序用来制定求解过程,实际硬件具体执行。

        计算机提供的网络服务也是类似。一封电子邮件的发送与接收可以被分解为几个任务,计算机系统通过分层,每层完成一个任务,其中每层使用更低层的服务,知道最底层,电信号被传送。

        为了分解完成任务所需要的服务,因特网创建了一组规则,称之为协议。控制因特网的一组(族)协议成为TCP/IP协议族。

        较原始的TCP/IP(transmission control protocol/internet protocol)协议族分为5层,从上到下依次为:应用层、传输层、网络层、数据链路层和物理层。每层有各自适用的协议,对应不同的作用。

        应用层就是我们平常所接触到的应用,比如电子邮件、浏览器等。而http协议就是应用层协议。应用层会调用传输层,而TCP属于传输层协议。


        在HTTP中定义了客户端与服务器交互的不同方法,最常用的有四种:put(增)、delete(删)、post(改)、get(查);

        其中,get用于获取信息,而不修改服务器上的数据。post可以向服务器发送修改请求,从而修改服务器上的数据。

        delete和put可以通过get/post来实现,暂时不讨论。

其中,get和post的主要区别:

    get请求的数据放在HTTP包的包头中,也就是在URL之后。如:http://www.abc.com/index.jsp?name=aaa&password=bbb;其中的请求数据如果是英文或数字,原样发送。而如果有中文或其他字符,则进行BASE64编码。对于get方式提交的表单数据,一开始就已经按编码分析了提交内容,在页面中设置编码代码对此不起作用。并且此方式传送的数据较少,最多为1kB。数据是明文传输的,安全性不好。

        而post将提交的数据放在http正文中。不存在get方式的问题。

猜你喜欢

转载自blog.csdn.net/wargon/article/details/80546645