计算机网络——HTTP协议的请求方法

HTTP协议的请求方法

一.HTTP的请求的方法

  HTTP协议的请求方法一共有:8种。分别是:GET、HEAD、PUT、DELETEPOST、OPTIONS、TRACE、CONNECT

二.不同的请求的概念

  1.GET

  GET可以说是最常见的了,它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。

  2.HEAD

  HEAD和GET本质是一样的,区别在于HEAD不含有呈现数据,而仅仅是HTTP头信息。有的人可能觉得这个方法没什么用,其实不是这样的。想象一个业务情景:欲判断某个资源是否存在,我们通常使用GET,但这里用HEAD则意义更加明确。

  3.PUT

  这个方法比较少见。HTML表单也不支持这个。本质上来讲, PUT和POST极为相似,都是向服务器发送数据,但它们之间有一个重要区别,PUT通常指定了资源的存放位置,而POST则没有,POST的数据存放位置由服务器自己决定。举个例子:如一个用于提交博文的URL,/addBlog。如果用PUT,则提交的URL会是像这样的”/addBlog/abc123”,其中abc123就是这个博文的地址。而如果用POST,则这个地址会在提交后由服务器告知客户端。目前大部分博客都是这样的。显然,PUT和POST用途是不一样的。具体用哪个还取决于当前的业务场景。 向指定资源位置上上传其最新内容(从客户端向服务器传送的数据取代指定文档的内容)

  4.DELETE

  删除某一个资源。基本上这个也很少见,不过还是有一些地方比如amazon的S3云服务里面就用的这个方法来删除资源。请求服务器删除Request-URI所标识的资源。

  5.POST

  向服务器提交数据。这个方法用途广泛,几乎目前所有的提交操作都是靠这个完成。Post  向指定资源提交数据进行处理请求(提交表单、上传文件),又可能导致新的资源的建立或原有资源的修改

  6.OPTIONS

  这个方法很有趣,但极少使用。它用于获取当前URL所支持的方法。若请求成功,则它会在HTTP头中包含一个名为“Allow”的头,值是所支持的方法,如“GET, POST”等。返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性

  7.Trace

  回显服务器收到的请求,用于测试和诊断

  8.Connect

  HTTP/1.1协议中能够将连接改为管道方式的代理服务器

扫描二维码关注公众号,回复: 6141277 查看本文章

三. GET和POST有什么区别?

  1.GET是客户端向服务器发送请求网页页面的请求,是向服务器发索取数据的一种请求。POST是客户端向服务器上传一些文件的请求,是向服务器提交数据的一种请求。

  2.GET请求的参数会跟在 URL 后进行传递,请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,%XX中的XX为该符号以16进制表示的ASCII,如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密。GET 方法提交数据不安全,数据置于请求行,客户端地址栏可见。Post请求则作为http消息的实际内容发送给web服务器,数据放置在HTML Header内提交,Post没有限制提交的数据。Post比Get安全,当数据是中文或者不敏感的数据,则用get,因为使用get,参数会显示在地址,对于敏感数据和不是中文字符的数据,则用post。POST 方法提交数据安全,数据置于消息主体内,客户端不可见

  3.GET传输的数据有大小限制,因为GET是通过URL提交数据,那么GET可提交的数据量就跟URL的长度有直接关系了,不同的浏览器对URL的长度的限制是不同的。POST 方法提交的数据大小没有限制。

  4.GET请求的数据会被浏览器缓存起来,用户名和密码将明文出现在URL上,其他人可以查到历史浏览记录,数据不太安全。在服务器端,用Request.QueryString来获取 Get 方式提交来的数据。POST表示可能修改变服务器上的资源的请求,在服务器端,用Post方式提交的数据只能用 Request.Form 来获取

猜你喜欢

转载自www.cnblogs.com/wf-aiyouwei/p/10821561.html