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

  客户端和服务端都需要直到各自可收发,因此需要三次握手。
 
  简化三次握手:
 
  从图片可以得到三次握手可以简化为:
 
  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 属性,那么浏览器至少可以显示或读出有关图像的描述。

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h61686.shtml

张贴在2