GET 是将你的请求直接以网址连接发送出去(到服务器端) , 并後台可能是静态的 html 档, 也可以是 cgi 的脚本,
由於你给出的连接是"明显"的, 所以在服务器端你要存取的整个连结都会被写到 LOG 中, 所以, 你将不应该用 GET 作为提交 ID / 密码 的方式. GET 还有一个限制就是字串的请求长度为 8K 字节(BYTES)
POST 是将你表单中的内容, 以二进位式的串流发送到服务器端, 其对像大多数是 CGI 脚本 (当然也有 mailto 之类 -- 启动本地作业 ). 绝大多数表单的提交都用 POST, 就像登入帐号, 你在这里发表提问, 都是用 POST 的形式进行. 资料的传送相对 GET 是 "不明显的" ( 不会在 LOG 中看到你在表单里写了甚麼 ), 相对 GET, POST 的长度可以上 MB ( 你可以在服务器内自行设成多大都可以 )
PUT 跟 POST 也很相似, 但一般 (只是一般) 我们用 PUT 都是用来上传一些小档案, 且连结的位置就是档案的位置 (亦即是, 你 PUT 到一个连结之後, 你就直接用 GET 的方法将这档案下载回来), 例如 WebDAV ( 日历卡服务 ), 就很多时会用到 PUT, 但如果没有相关的需要时, 一般在考虑到安全问题的方向下, 都会从服务器内关掉接收这种请求 ( 其实还有 "DELETE", PUT 的反向动作 ).