相同点:都是http请求,tcp链接
不同点:
1、get请求安全性没有post高
2、get参数又长度限制,post没有
3、get的参数只允许ASCII字符,post没有限制
关于回退:
1、点击回退或刷新时,post请求会再次提交表单,get不会
2、所以post回退有害,get没有
关于缓存:
1、get能被缓存,可以收藏为书签,参数保留在浏览器历史中
post不能被缓存,不可收藏为书签,参数不会保留在浏览器历史记录中
关于请求包:
get请求只发送一个tcp数据包,即http header 和data共同发送给web服务器,服务器想用200 OK
post请求发送2个tcp数据包,第一次发送http header,如果web服务器予以相应100 continue,则发送第二个数据包data,服务器响应200 OK
http请求页面怎么展示到前端的?
第一步:解析域名,查找dns服务器对应ip地址
第二部:向服务器发送tcp三次握手,握手成功开始通信
第三步:浏览器发送http请求,服务器处理并返回报文
第四步:浏览器下载并解析html文件,按照顺序渲染页面
第五步:tcp四次握手,释放链接