http协议上传数据用post还是put HTTP提交方式之PUT详细介绍及POST和PUT的区别?

[更新]
·
·
分类:互联网
2692 阅读

http协议上传数据用post还是put

HTTP提交方式之PUT详细介绍及POST和PUT的区别?

HTTP提交方式之PUT详细介绍及POST和PUT的区别?

GET:请求指定的页面信息,并返回实体主体。
HEAD:只请求页面的首部。
POST:请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。
PUT:从客户端向服务器传送的数据取代指定的文档的内容。
DELETE:请求服务器删除指定的页面。
get和post比较常见GET请求将提交的数据放置在HTTP请求协议头中
POST提交的数据则放在实体数据中

HTTP接口传递数据有哪几种常用方式?有什么区别?

get 方式。这个可以在URL上看到传递的参数。不安全 post方式。这种方式只有服务可以看到。URL上看不到。比较安全。

默认的HTTP(超文本传输协议)使用的端口是?

http是超文本传输协议,是服务器传超文本到本地浏览器的传送协议。
基于TCP/IP通信协议传输数据,比如html文件、图片、查询结果等。
默认用80端口。
向服务器请求时,传送请求方法 路径,请求方法包括get、head、put、delete、post。
无连接:每次连接只处理一个请求,处理并受到客户应答后就结束。

get和post请求的区别及优缺点?

首先GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。
一般来说,我们会从三个点回答
1、GET把参数包含在URL中,POST通过request body传递参数。所以相比GET,POST要更加安全
2、数据库层面GET具有幂等性和安全性,POST不符合
3、其他层面:GET可以被缓存、被存储,而POST不行
但是很可惜,这不是面试官想要的答案?来吧,solo一波把。真正想要的回答是个啥玩意。
回归本质,其实GET和POST是HTTP协议中的两种发送请求的方法。
那么HTTP是什么?
HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议。
HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP,也就是说,GET/POST都是TCP链接。GET和POST能做的事情是一样一样的。你要给GET加上request body,给POST带上url参数,技术上是完全行的通的。
那么,“标准答案”里的那些区别是怎么回事?
GET和POST本质上就是TCP链接,并无差别。但是由于HTTP的规定和浏览器/服务器的限制,导致他们在应用过程中体现出一些不同。 GET和POST的重大区别,简单的说:
GET产生一个TCP数据包;POST产生两个TCP数据包。详细来说见如下过程:
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响应
也就是说,目测get的总耗是post的2/3左右,这个口说无凭,网上已经有网友进行过测试。
所以这才是GET比POST更快的根本原因,但是再网速情况好的时候可以忽略不记,但是差的时候就可以体现出来了。
那么回答的标准答案可以怎么说呢:
(1)post更安全(不会作为url的一部分,不会被缓存、保存在服务器日志、以及浏览器浏览记录中)
(2)post发送的数据更大(get有url长度限制)
(3)post能发送更多的数据类型(get只能发送ASCII字符)
(4)post比get慢,get和post请求的过程中GET产生一个TCP数据包;POST产生两个TCP数据包。
(5)post用于修改和写入数据,get一般用于搜索排序和筛选之类的操作(淘宝,支付宝的搜索查询都是get提交),目的是资源的获取,读取数据,而post用来提交数据。所以GET具有幂等性和安全性,POST不符合