post和get请求

来源:互联网 发布:千牛卖家第三方软件 编辑:程序博客网 时间:2024/05/21 06:54

post和get请求

一、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作。

二、异步请求不会阻塞主线程,而会建立一个新的线程来操作,用户发出异步请求后,依然可以对UI进行操作,程序可以继续运行

三、GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节

四、POST请求,将参数放到body里面。POST请求操作相对复杂,需要将参数和地址分开,不过安全性高,参数放在body里面,不易被捕获。

  • GET是比较简单的请求方式,在URL中直接就包含了要发送的所有参数。
  • POST可以这样理解主要用于向服务器上传数据,简单一点的是上传文字,复杂一点的是上传图片声音等等。那么对于这种需求显然如果使用GET的话,那么这URL未免会太长。因此有POST方式的存在,可以在基本的URL的情况下,再附加一个数据包,包含要上传的数据,然后和URL一起发送给服务器。
  • POST方法有两种格式,一种是基本的格式,一般用于发送文字信息。

    POST /login.asp HTTP/1.1
    Host: www.example.com
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 35
    username=wantsoft&password=password //post的数据

  • 另一种是multipart/form-data,格式如下
    POST /upload_file/UploadFile HTTP/1.1
    Accept: text/plain, */*
    Accept-Language: zh-cn
    Host: www.example.com
    Content-Type:multipart/form-data;boundary=---------------------------7d33a816d302b6
    User-Agent: Mozilla/4.0 (compatible; OpenOffice.org)
    Content-Length: 424
    Connection: Keep-Alive -----------------------------7d33a816d302b6
    Content-Disposition:form-data;
    name="userfile";
    filename="userfile"
    Content-Type: application/octet-stream abbXXXccc
    -----------------------------7d33a816d302b6
    Content-Disposition: form-data;
    name="text1" foo
    -----------------------------7d33a816d302b6
    Content-Disposition: form-data;
    name="password1" bar
    -----------------------------7d33a816d302b6--

看起来比较复杂,其实就是把请求数据通过分界线也就是Boundary分开,至于开头的一些内容,很多都是默认,无需考虑。

0 0
原创粉丝点击