HTTP请求方法和状态码;Ajax中get请求和post请求的区别

使用HTTP协议进行通信时,向请求的URL指定的资源发送请求报文时,采用称为方法的命令。其作用在于,可以指定请求的资源按照期望产生某种行为。note:方法区分大小写,注意使用大写字母。

方法描述支持的HTTP协议版本
GET发送一个请求来获取服务器上某一资源1.0、1.1
POST传输实体主体,即向URL指定的资源提交数据或者附加新的数据(例如提交表单或上传文件)1.0、1.1
PUT用来传输文件(或修改已有资源)。要求请求报文的主体中包含文件内容,然后保存到请求URI指定的位置1.0、1.1
HEAD类似于GET方法,只是不返回报文主体部分。用于获取报文头部1.0、1.1
DELETE按照请求URI删除指定资源1.0、1.1
OPTIONS用来查询针对请求URI指定的资源支持的方法1.1
TRACE回显服务器收到的请求,主要用于测试或诊断。1.1
CONNECT要求用隧道协议连接代理1.1
LINK请求建立和资源间的联系1.0
UNLINK断开连接关系1.0

状态码可以告知从服务器端返回的请求结果

 类别描述
1xxInformational(信息性状态码)接受的请求正在处理
2xxSuccess(成功状态码)请求正常处理完毕
3xxRedirection(重定向状态码)需要进行附加操作以完成请求
4xxClient Error(客户端错误状态码)服务器无法处理请求
5xxServer Error(服务器错误状态码)服务器处理请求出错

301 redirect: 301 代表永久性转移(Permanently Moved)     

302 redirect: 302 代表暂时性转移(Temporarily Moved )   

Ajax中get请求和post请求的区别:

1、GET请求,请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。URL的编码格式采用的是ASCII编码,而不是unicode,即是说所有的非ASCII字符都要编码之后再传输。

POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。

因此,GET请求的数据会暴露在地址栏中,而POST请求则不会。(在Ajax中:get请求在url的尾部传递参数,而post请求在send方法中传递参数.)

此外POST用于修改和写入数据,GET一般用于搜索排序和筛选之类的操作(淘宝,支付宝的搜索查询都是get提交),目的是资源的获取,读取数据 。

2、传输数据的大小

在HTTP规范中,没有对URL的长度和传输的数据大小进行限制。但是在实际开发过程中,对于GET,特定的浏览器和服务器对URL的长度有限制。因此,在使用GET请求时,传输数据会受到URL长度的限制。

对于POST,由于不是URL传值,理论上是不会受限制的,但是实际上各个服务器会规定对POST提交数据大小进行限制。

3、安全性

POST的安全性比GET的高。比如,在进行登录操作,通过GET请求,用户名和密码都会暴露在URL上,当GET方式请求数据被浏览器缓存起来,别人就可以从浏览器的历史记录中读取到这些数据。除此之外,GET请求提交的数据还可能会造成Cross-site request frogery攻击。

4、GET比POST更快

(1)POST请求包含更多的请求头 
因为POST需要在请求的body部分包含数据,所以会多了几个数据描述部分的首部字段(如:content-type),这其实是微乎其微的。

(2)POST在真正接收数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据 
POST请求的过程: 
(1)浏览器请求tcp连接(第一次握手) 
(2)服务器答应进行tcp连接(第二次握手) 
(3)浏览器确认,并发送post请求头(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送) 
(4)服务器返回100 Continue响应 
(5)浏览器发送数据 
(6)服务器返回200 OK响应 
GET请求的过程: 
(1)浏览器请求tcp连接(第一次握手) 
(2)服务器答应进行tcp连接(第二次握手) 
(3)浏览器确认,并发送get请求头和数据(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送) 
(4)服务器返回200 OK响应 

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值