关于GET POST

先说相同点,只有了解了相同点之后才能理解为什么会发生混淆。两者都能向服务器发送数据,提交的“内容”[注1]的格式相同,都是var_1=value_1&var_2=value_2&....get 和 post 区别如字面,一个是get(获取),一个是post(发送)。get用来告诉服务器需要获取哪些内容(uri+query),向静态页面(uri)请求则直接返回文件内容给浏览器,向一个动态页面请求时可以提供查询参数(query)以获得相应内容。post用来向服务器提交内容,主要是为了提交,而不是为了请求内容,就是说post的初衷并不要求服务器返回内容[注2],只是提交内容让服务器处理(主要是存储或者处理之后再存储)。

get的长度限制在2048字节(由浏览器和服务器限制的,这是目前IE的数据,曾经是1024字节),很大程度上限制了get用来传递“存储数据”的数据的能力,所以还是老老实实用来做检索吧;post则无此限制(只是HTTP协议规范没有进行大小限制,但受限于服务器的处理能力),因此对于大的数据(一般来说需要存储的数据可能会比较大,比2048字节大)的传递有天然的优势,谁让它是 nature born post 呢

get提交的数据是放在url里,目的是灵活的向服务其提交检索请求,可以在地址栏随时修改数据以变更需要获取的内容,比如直接修改分页的编号就跳到另外一个分页了(当然也可能是 404)。post提交的数据放在http请求的正文里,目的在于提交数据并用于服务器端的存储,而不允许用户过多的更改相应数据(主要是相对于在url 修改要麻烦很多,url的修改只要点击地址栏输入字符就可以了),除非是专门跑来编辑数据的。

 

HTTP协议get/post求方式

1、HTTP

hypertext transfer protocol 超文本传输控制协议

浏览器与web器之数据传输的方式与数据格式(W3C)

2、数据传输的方式

(1)浏览求建立接。

(2)浏览器向服求。

(3)服

(4)服送响,然后立即关闭连接。

注:如果浏览器想向服器再送一个求,需要重新求建立接。

3、数据格式

(1)求数据包

1)求行

求方式(get/post) 源的路径 HTTP协议版本(1.0/1.1)

2)若干消息

浏览器与服器之的一些定。

比如,浏览器可以告浏览器名称、版本等信息。

3)体内容

如果是post方式,求数据会存放到体内容里面。

如果是get方式,会放到求行中的源路径之后。

(2)响数据包

1)状

协议版本号态码态码的描述

态码

200 正常

300 请求的资源可在多处得到

400 错误请求

401 未授权

403 禁止访问

404 找不到

500 系内部错误

2)若干消息

比如服器可以向浏览cookie

3)体内容

理完之后的果,一般要求浏览示的数据。

4、get/post求方式

(1)get方式:

1)表提交的方式

2)直接在浏览器地址栏输入地址

3)通过链访问某个地址

(2)get方式的特点:

1)在地址求数据;

2)求数据会放到源路径后面;

3)get方式一般用于向服源;

4)浏览器有可能get方式访问过的数据。

(3)post方式:

置表method="post"

(4)post方式的特点:

1)数据不会在地址栏显示;

2)数据会存放到体内容里;

3)post方式一般用于向服器提交数据;

 

(5)优缺点比较

get方式

post方式

提交的数据量有限制

(因为只能存放到请求行之后)

数据量大

(因为存放在实体内容里面)

不安全

(在浏览器地址栏能看到数据)

相对安全

(实体内容中的数据仍没有加密,可借助工具查看)

 

 

 

 

posted on 2013-08-27 12:52  samules  阅读(266)  评论(0编辑  收藏  举报

导航