HTTP协议

前一阵子参加许多面试都闻到了HTTP协议,不论是后台还是Android。现在做一个简单的总结,就当是复习。

HTTP报文格式

这是我用chrome的检查功能(ctrl+shift+i)随意截取了一个请求信息。

我们首先来看请求头的信息:

最重要的是第一行,内容有3个:请求方式(以get和post为主),URI,HTTP版本号。之后是多个键值对,用来记录其他信息,例如主机地址Host。如果是post方式提交,在这些键值对之后有一个空行,空行后面是请求的实体内容。

1.get和post区别

(1) get方式提交表单可以看到提交方式附在了URI的后面(“?”分隔,不同字段之间用"&"分隔),而post提交的表单信息在请求实体中。
(2) get提交有长度限制,大小不能超过1KB。post没有这一限制
(3) 浏览器默认的提交方式是get

2.URI与URI

URL: 统一资源定位符。只能定位互联网资源。是URI的子集。

URI : 统一资源标识符。用于标记任何资源。可以是本地文件系统,局域网的资源(//192.168.14.10/myweb/index.html)

3.HTTP1.0和HTTP1.1

http1.0:当前浏览器客户端与服务器端建立连接之后,只能发送一次请求,一次请求之后连接关闭。

http1.1:当前浏览器客户端与服务器端建立连接之后,可以在一次连接中发送多次请求。(基本都使用1.1)
关于请求,有一个有趣的问题,一个网页上有3个URI相同的图片,浏览器发送了多少次请求?
应该是4次(1次网页,3次图片),可我们如果通过chrome的检查来看的话只有2次,原因就是浏览器帮我们进行了缓存,从而减少了对相同资源的请求。如果各位有过保存网页的经历,那么我们下载下来的网页除了HTML文件还有一个图片的文件夹,你会看到这里面有很多很小的图片,比方说一个蓝色的方块或者长条,这应该就是通过浏览器缓存使得网页加载变快的方案。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值