大家好,我是IT修真院北京分院第20期的学员王野,一枚正直纯洁善良的程序员
今天给大家分享一下,修真院官网JS任务4,深度思考中的知识点——http请求方式的区别
一、背景介绍
get 和 post是HTTP中请求数据的方法;application json 与form表单是HTTP中传输文件的类型,所以要了解其中的区别,要先了解HTTP 协议格式 和 HTTP Header
二、知识剖析
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.1,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
HTTP请求数据:
请求数据HTTP响应数据:
相应数据三、常见问题
get 与 post的区别?
1.GET请求的数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,
POST把提交的数据则放置在是HTTP包的包体中。
2.GET的长度受限于url的长度,而url的长度限制是特定的浏览器和服务器设置的,理论上GET的长度可以无限长。
3.POST是没有大小限制的,HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力
4.在ASP中,服务端获取GET请求参数用Request.QueryString,获取POST请求参数用Request.Form。
5.POST的安全性要比GET的安全性高
application json 与form表单的区别?
瀏覽器默認的提交方式就是表單。首先,Content-Type 被指定为 application/x-www-form-urlencoded,jQuery的Ajax请求默认方式,其次,数据以键值对形式?key1=value1&key2=value2的方式发送到服务器
form形式application/json用来告诉服务端消息主体是序列化后的 JSON 字符串。由于 JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON.stringify,服务端语言也都有处理 JSON 的函数,使用 JSON 不会遇上什么麻烦。angular默認的就是json格式。
JSON 格式支持比键值对复杂得多的结构化数据,可以提交层次非常深的数据。
json形式四、拓展思考
1、post和get的选择?
私密性的信息请求使用post。
查询信息和可以想要通过url分享的信息使用get。
2、application json 和form表单的选择·
json和表单可以根据具体的情况选择,也可以自己设置。
http中 get和post的区别
五、参考文献
七、更多讨论
如何手动设置数据的格式
大家可以在评论里讨论下哦
------------------------------------------------------------------------------------------------------------------------
网友评论