-
幂等性:是指无论调用多少次都不会有不同结果的HTTP方法。
-
GET
- 作用:请求读取由URL所标志的信息
- 参数:请求参数放置在URL后面。约定:参数写在?后面,用&分割。
- GET请求过程:
- 浏览器请求TCP连接(第一次握手)
- 服务器答应进行TCP连接(第二次握手)
- 浏览器确认,并发送GET请求头和数据(第三次握手)
- 服务器返回200 OK响应
-
POST:
- 作用:给服务器添加信息
- 参数:将数据放在HTTP请求体中。
- POST请求过程:
- 浏览器请求TCP连接(第一次握手)
- 服务器答应进行TCP连接(第二次握手)
- 浏览器确认,并发送POST请求头(第三次握手)
- 服务器返回100 Continue响应
- 浏览器发送数据
- 服务器返回200 OK响应
-
GET和POST的对比
GET POST 后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交) 书签 可收藏为书签 不可收藏为书签 缓存 能被缓存 不能缓存 历史 参数保留在浏览器历史中 参数不会保存在浏览器历史中 对数据长度的限制 URL的长度是受限制的(URL最大长度2048个字符) 无限制 对数据类型的限制 只允许ASCII码 没有限制。也允许二进制数据 安全性 安全性较差,因为所发送的数据是URL的一部分 更安全,因为参数不会被保存在浏览器历史或web服务器日志中 可见性 数据在URL中对所有人都是可见的 数据不会显示在URL中 幂等性 具有幂等性 不具有幂等性 -
HTTP请求方法
方法 作用 OPTIONS 返回服务器支持的HTTP请求方法 GET 向服务器获取指定资源 HEAD 与GET相同,但只返回HTTP头部,不返回文档主体 POST 向服务器提交数据,数据放在请求体中 PUT 与POST相似,只是具有幂等性,一般用于更新。 DELETE 删除服务器上的指定资源 TRACE 回显服务器端收到的请求,测试的时候会用到这个 CONNECT 把请求连接转换到透明的TCP/IP通道