http请求:get 与post区别
相同点:
Get与post(对于“post”除非相应里有cache-control或者expires头域指示其相应不可缓存)请求的相应是可缓存的;
不同点:
1. Get是从服务器上获取数据,post是向服务器传送数据
2. Get是把参数数据队列加到提交表单的action属性所指定的URL中,值和表单中各个字段一一对应,在URL中可以看到,
post是通过HTTP post机制,将表单内各个字段与其内容放置在html header内一起传送到action属性所指的URL地址,
用户看不到这个过程;
3. get传送的数据量较小,不能大于2kb;post传送的数据量较大,一般被默认为不受限制的。但理论上,IIS4中最大量为
80kb,IIs5中为100kb;
4. get安全性非常低;post安全性较高;
5. get适用于多请求,而保留post仅用于更新站点;
6. 在form提交的时候,如果不指定method,则默认为get请求,form中提交的数据将会附加在url之后,以?与URL分开。
字母数字字符原样发送,但空格转换为“+”号,其它符号转换为%xx,其中xx为该符号为16进制表示的ASCII(或
ISO Latin-1)值;
7. get请求提交的数据放置在HTTP请求协议行中,而post提交的数据则放在实体数据数据中;
http 请求格式:
请求行:用于说明请求的类型,要访问的资源以及http版本。
请求头:用于说明服务器用使用的附加信息。
空行:
请求主体:可添加任意的其他数据。
http 响应的格式:
响应状态行:响应的状态码。
响应头:
空行:
响应主体:
常用的状态码:
200(ok):找到了资源,并且一切正常。
304(not modified):该资源在上次求求之后没有任何修改。通常用于浏览器的缓存机制。
401(unauthorized):客户端无权访问该资源。通常会使得浏览器要求用户输入用户名和密
码。
403(forbidden):客户端未能获得授权。通常在401之后输入了不正确的用户名和密码。
404(not found):在指定的位置不存在所申请的资源。