AJAX - Http 中 post 和 get 的区别

HTTP:

post 和 get 是 HTTP 协议中的两种方法。浏览器和服务器的交互是通过 HTTP 协议执行的,他的全称为Hyper Text Transfer Protocol(超文本传输协议)。HTTP是为了让客户端与服务器之间的请求与答应,HTTP 中,浏览器与服务器进行交流,定义了不同方法

基本方法有四种:(这四种方法可以理解为,对服务器资源的 查,改,增,删。)

  • get:从服务器上获取数据,也就是所谓的查,仅仅是获取服务器资源,不进行修改。
  • post:向服务器提交数据,这就涉及到了数据的更新,也就是更改服务器的数据。
  • put:PUT的英文含义是放置,也就是向服务器新添加数据,就是所谓的增。
  • delete:从字面意思也能看出,这种方式就是删除服务器数据的过程。

 

Get:

  • get交互方式是从服务器上获取数据,而并非修改数据,所以是安全的。
  • get交互方式是幂等的,幂等是一个数学概念,幂等函数就是可以使用相同参数重复执行,并且获得相同结果的函数。get在这里对同一个URL的多个请求,得到的结果是相同的

 

post:

  • post交互是可以修改服务器数据的一种方式,涉及到信息的修改,就会有安全问题。
  • 一般的post交互是要用到表单的,但是表单提交的默认方法是get,如果要改为post,就需要修改表单提交时的method

 

二者区别:

get:

  • get是从实体的方式 得到由请求URL所指定资源的信息,或者说get得到的信息是资源,而不是资源的处理过程
  • 请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。
  • URL长度受限,传输的数据大小受限,不超过2KB
  • GET方式服务器端用Request.QueryString获取变量的值。
  • 传输的参数安全性低,传输的数据会显示在请求的URL上

 

post:

  • 向目的服务器发出请求,要求他接收被附在请求后的实体,并把它当做请求队列中请求URL所指定资源的附加新子项
  • post方式将表单内各个字段和内容放置在HTML header中一起传送到action属性所指定的URL地址,用户是看不到这个过程的
  • post方式传送的数据量比较大,一般被默认没有限制,但是根据IIS的配置,传输量也是不同的
  • post方式传输的数据安全行比较高,因为数据传输不是明显显示的

 

posted @ 2018-06-12 18:01  渺茫大海  阅读(221)  评论(0编辑  收藏  举报