http协议1.0和1.1的区别 - Go语言中文社区

http协议1.0和1.1的区别


1、

2、

3、

4、

5、

6、

7、

8、

当我们输入完url,浏览器就向服务器发送了一个request请求,web服务器受到request请求后就会进行相应的处理,生成相应的response,然后发送回浏览器。浏览器解析服务器发回的html文档,这样就能看到平常看到的网页。request还有可能是经过代理服务器的,这样最后才到达服务器。代理服务器其实就是网络信息的中转站。它有很多功能,最主要的就是它可以提高访问速度,因为大部分代理服务器都有缓存功能,当再次访问相同请求的时候,就可以从代理服务器获取,而不用再去请求web服务器。

9、

 

10、

 

 

 

 

缓存处理:http1.0主要持有它的头部当中的if-modify-since这个参数来作为缓存判断的标准,而http1.1则引入了更多的缓存策略。比如说e_ tag、if-none_match, e_tag是配合in_none_match来使用。就是说http1.0和http1.1主要在缓存策略上有很大的不同,

带宽优化及网络连接的使用:在http1.0存在着一些浪费带宽的情况,比如说客户端只请求服务端的一小部分,但是服务端却把所有的东西都返回回来了,但是又不支持断点续传功能。而在http 1.1中引入了一个range范围的头部区域,它允许只请求网络资源的一部分。这样就方便了开发者的选择。

Host头处理:在1.0中认为每台服务绑定了唯一的ip地址,因此请求消息中的url并没有传递主机名。但是随着虚拟主机的发展,在一台服务器上可能存在着多台主机,并且共一个ip地址,而http1.1在这一点上做了改进。它的请求消息和相应消息,都支持host头的改进,并且在请求消息中,如果没有host头处理,就会报告400错误。

长连接:http1.1支持长连接。长连接是在一个http请求上可以传递多个http请求,而不是发送一个http请求就断开连接,再发送一个http请求,再断开一个连接。在http 1.1中默认开启了keep-alive的字段,这在一定程度上弥补了http1.0每发送一个请求就需要创建一个连接的情况。

a指http 1.0

b、c、d指http1.1

 

 

11、

get用于获取资源,post用来提供、更新服务上的资源

提交的数据:get提交的数据一般情况下会放在url之后,用?来分割。post提交数据一般是放在hppt的body中。

get提交的数据是有限制的,因为浏览器对url的大小是有限制的。post提交的是body,所以对数据的大小没有限制。

get请求是通过Request.QueryString这个方法来获取变量值的,而post方法则是通过Request.Form这个方法来获取变量值的。

get请求把参数放在url之后,比如登陆的用户名和密码,这样不安全。如果有缓存的话,就可以通过缓存来访问主机地址。通过历史记录就可以获取用户名和密码。

 

 

 

 

 

 

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/nicolelili1/article/details/88801873
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-01 19:54:45
  • 阅读 ( 1121 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢