HTTP 方法:GET与POST的区别

HTTP 方法:GET 对比 POST


GET 方法
参数在URL中进行传送

/test/demo_form.asp?name1=value1&name2=value2

参数前用“?”进行分隔
参数以(名称/值对)形式传送
参数之间用“&”分开

GET 请求可被缓存
GET 请求保留在浏览器历史记录中
GET 请求可被收藏为书签
GET 请求不应在处理敏感数据时使用
GET 请求有长度限制(URL 的最大长度是 2048 个字符)
GET 请求只应当用于取回数据



POST 方法
参数在 HTTP 消息主体中发送

POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2

参数以(名称/值对)形式传送
参数之间用“&”分开

POST 请求不会被缓存
POST 请求不会保留在浏览器历史记录中
POST 不能被收藏为书签
POST 请求对数据长度没有要求



其他 HTTP 请求方法
HEAD 与 GET 相同,但只返回 HTTP 报头,不返回文档主体。
PUT 上传指定的 URI 表示。
DELETE 删除指定资源。
OPTIONS 返回服务器支持的 HTTP 方法。
CONNECT 把请求连接转换到透明的 TCP/IP 通道。



URL #后的字符
在第一个#后面出现的任何字符,都会被浏览器解读为位置标识符。这意味着,这些字符都不会被发送到服务器端。

单单改变#后的部分,浏览器只会滚动到相应位置,不会重新加载网页。
比如,从http://www.example.com/index.html#location1改成
http://www.example.com/index.html#location2,浏览器不会重新向服务器请求index.html。

每一次改变#后的部分,都会在浏览器的访问历史中增加一个记录,使用"后退"按钮,就可以回到上一个位置。
注意的是,上述规则对IE 6和IE 7不成立,它们不会因为#的改变而增加历史记录。

window.location.hash读取#值
window.location.hash这个属性可读可写。读取时,可以用来判断网页状态是否改变;写入时,则会在不重载网页的
前提下,创造一条访问历史记录。



URL ?后的字符
连接作用:比如
http://www.xxx.com/Show.asp?id=77&nameid=2905210001&page=1

清除缓存:比如
http://www.xxxxx.com/index.html
http://www.xxxxx.com/index.html?test123123
两个url打开的页面一样,但是后面这个有问号,说明不调用缓存的内容,而认为是一个新地址,重新读取。



URL &后的字符
不同参数的间隔符




参考原文: http://www.w3school.com.cn/tags/html_ref_httpmethods.asp
参考原文: http://www.cnblogs.com/kaituorensheng/p/3776527.html

猜你喜欢

转载自huangyongxing310.iteye.com/blog/2321773