HTTP相关知识汇总(一)

HTTP常见字段有哪些?

找一个baidu的页面看看:

Host字段:客户端发送请求时,用来指定服务器的域名。

Content-Length字段:服务器在返回数据时,会有这个字段,表明本次回应的数据长度

Connecting字段:最常用于客户端要求服务器使用HTTP长连接机制,一边其他请求复用。

 长连接的特点是只要任意一端没有明确提出断开链接,则保持TCP链接状态。HTTP1.1默认长连接,但为了兼容老版本的HTTP,需要指定为keep-alive

Content-Type字段:用于服务器回应时,告诉客户端本次数据是什么格式。

客户端请求时可以用Accept字段申明自己可以接受哪些数据格式。

Content-Encoding字段表明了数据的压缩方法,表示服务器返回的数据使用了什么压缩格式。

GET与POST有什么区别?

GET的语义是从服务器获取指定的资源,这个资源可以是静态的文本,页面,图片视频等,GET请求的参数位置一般是写在URL中,URL规定只能支持ASCII,所以GET请求的参数只允许ASCII字符,且浏览器会对URL的长度有限制。

POST的语义是根据请求负荷,(报文body)对指定的资源做出处理,具体的处理方式视资源类型而不同,POST请求携带数据的位置一般是写在报文body中,body中的数据可以是任意格式,只要客户端与服务器商量好即可,且浏览器不会对body大小作出限制。

GET和POST都是安全幂等的吗?(RFC规范)

GET是安全幂等,因为它是只读操作,可以对GET请求的数据做缓存,且在浏览器中GET可以保存为书签。

POST是不安全的,因为他是戏赠或提交数据的操作,会修改服务器上的资源,且多次提交会创建多个资源,所以不是幂等的。浏览器一般不会缓存POST请求,也不能把POST请求保存为书签。

如果实际过程中不遵守RFC规范,使用GET方法实现新增或删除数据的请求,那它就不安全幂等。

如果POST实现查询数据,自然就是安全幂等的。

什么是强制缓存?

强制缓存是指只要浏览器判断缓存没有过期,就直接使用浏览器本地缓存,决定是否使用缓存的主动性在于浏览器这边。强缓存是利用HTTP响应头部字段实现的,

cache-control是一个相对时间

expires是一个绝对时间

如果两个字段都有,cache-control优先级高于expires。

什么是协商缓存?

304状态码,告诉浏览器可以使用本地缓存的资源,通过服务端告知客户端是否可以使用缓存的的方式被称为协商缓存。

​​​​​​​

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值