热门关键字:
jquery > jquery教程 > jquery教程 > HTTP/浏览器等基础原理部分

HTTP/浏览器等基础原理部分

298
作者:管理员
发布时间:2021/4/10 17:55:28
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=4406
  客户端和服务端都需要直到各自可收发,因此需要三次握手。


  简化三次握手:


  从图片可以得到三次握手可以简化为:


  C发起请求连接S确认,也发起连接C确认我们再看看每次握手的作用:


  第一次握手:S只可以确认 自己可以接受C发送的报文段;


  第二次握手:C可以确认 S收到了自己发送的报文段,并且可以确认 自己可以接受S发送的报文段;


  第三次握手:S可以确认 C收到了自己发送的报文段;


  (1)TCP是面向连接的,udp是无连接的即发送数据前不需要先建立链接。


  (2)TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。 并且因为tcp可靠,面向连接,不会丢失数据因此适合大数据量的交换。


  (3)TCP是面向字节流,UDP面向报文,并且网络出现拥塞不会使得发送速率降低(因此会出现丢包,对实时的应用比如IP电话和视频会议等)。


  (4)TCP只能是1对1的,UDP支持1对1,1对多。


  (5)TCP的首部较大为20字节,而UDP只有8字节。


  (6)TCP是面向连接的可靠性传输,而UDP是不可靠的。


  (1)什么是WebSocket?


  WebSocket是HTML5中的协议,支持持久连续,http协议不支持持久性连接。Http1.0和HTTP1.1都不支持持久性的链接,HTTP1.1中的keep-alive,将多个http请求合并为1个


  (2)WebSocket是什么样的协议,具体有什么优点?


  HTTP的生命周期通过Request来界定,也就是Request一个Response,那么在Http1.0协议中,这次Http请求就结束了。在Http1.1中进行了改进,是的有一个connection:Keep-alive,也就是说,在一个Http连接中,可以发送多个Request,接收多个Response。但是必须记住,在Http中一个Request只能对应有一个Response,而且这个Response是被动的,不能主动发起。


  WebSocket是基于Http协议的,或者说借用了Http协议来完成一部分握手,在握手阶段与Http是相同的。我们来看一个websocket握手协议的实现,基本是2个属性,upgrade,connection。


  基本请求如下:


  多了下面2个属性:


  1.Upgrade:webSocket


  2.Connection:Upgrade


  告诉服务器发送的是websocket


  Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==Sec-WebSocket-Protocol: chat, superchatSec-WebSocket-Version: 13


  head:类似于get请求,只不过返回的响应中没有具体的内容,用户获取报头


  options:允许客户端查看服务器的性能,比如说服务器支持的请求方式等等。


  请求的返回头里面,用于浏览器解析的重要参数就是OSS的API文档里面的返回http头,决定用户下载行为的参数。


  下载的情况下:


  x-oss-object-type:


  Normal


  x-oss-request-id:


  598D5ED34F29D01FE2925F41


  x-oss-storage-class:


  Standard


  能够被残障人士使用的网站才能称得上一个易用的(易访问的)网站。


  残障人士指的是那些带有残疾或者身体不健康的用户。


  使用alt属性:


  有时候浏览器会无法显示图像。具体的原因有:


  用户关闭了图像显示


  浏览器是不支持图形显示的迷你浏览器


  浏览器是语音浏览器(供盲人和弱视人群使用)


  如果您使用了alt 属性,那么浏览器至少可以显示或读出有关图像的描述。




如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:jquery
友荐云推荐