Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTP请求中GET和POST有什么区别 #12

Open
Chersquwn opened this issue Apr 29, 2020 · 0 comments
Open

HTTP请求中GET和POST有什么区别 #12

Chersquwn opened this issue Apr 29, 2020 · 0 comments

Comments

@Chersquwn
Copy link
Owner

Chersquwn commented Apr 29, 2020

GET方法:

  • 一般情况下报文主体为空
  • 不修改服务器数据,是安全幂等的
  • 可缓存
  • 通过 href 跳转进行的请求会被浏览器历史记录
  • HTTP 协议中并没有规定URL长度,但是浏览器和服务器做了长度限制,所以无法发送数据量大的请求
  • 只发送一次 TCP 包,浏览器将请求头和请求数据一次性发送出去,服务器响应200返回数据

POST 方法:

  • 一般 URL 中不携带参数,请求数据放在报文主体中
  • 会修改服务器数据,所以不是安全幂等的
  • 一般情况下不能进行缓存
  • Form 表单跳转,浏览器在刷新、后退时,会再次触发提交
  • HTTP 协议没有规定报文主体的大小,但是服务器或者服务器语言做了大小限制,所以请求数据大小取决于服务端
  • 会发送两次 TCP 包,浏览器先发送请求头,待服务器响应100 continue后,再发送请求数据,服务器响应200返回数据
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant