[编程基础系列]Html协议之Get与Post区别 | 狂野铜匠

[编程基础系列]Html协议之Get与Post区别

时间:2011-8-9  |   5  |  

文章老早前就想发了,很多事情想做但是付诸实践的不多,尽自己的能力给大家提供一些东西,内容部分来源于互联网,加上个人理解,如涉及到版权或者错误内容,请留言,博主会在第一时间处理。

HTTP协议

超文本传输协议(HTTP,HyperText Transfer Protocol),HTTP请求是无状态的,每次请求都是一个新请求,某些时候服务器端通过每次提交的cookie来保持你的状态,HTTP/1.1协议中共定义了八种方法(有时也叫“动作”)来表明Request-URI指定的资源的不同操作方式:

OPTIONS返回服务器针对特定资源所支持的HTTP请求方法。也可以利用向Web服务器发送'*'的请求来测试服务器的功能性。HEAD向服务器索要与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,就可以获取包含在响应消息头中的元信息。GET向特定的资源发出请求。POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的创建和/或已有资源的修改。PUT向指定资源位置上传其最新内容。DELETE请求服务器删除Request-URI所标识的资源。TRACE回显服务器收到的请求,主要用于测试或诊断。CONNECTHTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。

虽然HTTP有八个请求方法,但是常用的也就是两个GET和POST。

GET

一、GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如:s?wd=%B7%BD%B7%A8&rsv_bp=0&inputT=371647如果数据是英文字母/数字,原样发送,如果是空格,转换为%20,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%B7%BD%B7%A8。(也可无参数)。

二、Get方式在通过URL提交数据,数据在URL中可以看到。

三、GET方式提交的数据最多只能是1024字节

四、一些image,css,js一般是GET请求。

POST

一、POST发送的数据将放置在HTML HEADER内一起传送到Request_Line中的URL地址。一般用户看不到整个数据发送过程和内容。

二、POST是没有大小限制的,HTTP协议规范也没有进行大小限制。

三、POST相对GET来说安全性较高,不会直接将提交到服务器的信息暴露在地址栏。

POST与GET响应信息示例:





无觅相关文章插件,快速提升流量