一面/二面(3)之DOM事件和HTTP协议

一.DOM事件
1.DOM事件模型:冒泡和捕获;

2.DOM事件流:
描述DOM事件捕获的具体流程从window,document,html,body,目标元素;
描述DOM事件冒泡的具体流程与捕获顺序相反;

3.EVENT对象的常见应用:
e.preventDefault(),阻止默认事件,
e.stopPropagation() 阻止冒泡,
e.currentTarget当前绑定的事件,
e.target当前被点击的元素,应用事件委托减少事件绑定 ;

4.自定义事件

	  var eve = new Event('test');
      var ev = document.getElementById('ev');
      console.log('ev', ev)
      ev.addEventListener('test', function () { console.log('test事件') });
      setTimeout(function () { ev.dispatchEvent(eve), 1000 })

效果图:
在这里插入图片描述
二.HTTP协议
1.HTPP协议的主要特点:无连接,无状态,简单快速,灵活;

2.HTTP报文的组成部分请求:
请求报文:请求行,请求头,空行,请求体,
响应报文:状态行,响应头,空行,响应体,

3.HTTP方法:
GET,POST,PUT,DELETE,HEAD,CONNECT,OPTIONS,TRACE

4.HPOST和GET的区别:
回退:POST请求回再次发起,GET请求则不会,
游览器缓存:GET会缓存,POST不会,
参数的位置:GET在url,POST在请求体,
参数长度限制:GET有限制,POST没用限制,
安全性:GET参数暴露在URL,不能用来传敏感信息,

5.HTTP状态码:
1X:指示信息,表示已经接收,继续处理,
2X:请求已成功被服务器接收、理解、并接受
3X:重定向(301永久重定向,302临时重定向),
4X:客户端错误(400参数错误,404页面找不到),
5X:服务器问题,

6.什么是持久连接:
Connection: Keep-Alive
设置keep-alive为持久化连接,
非keep-alive为非持久化连接,

7.什么是管线化:
请求-》请求-》请求-》响应-》响应-》响应
1.持久连接完成,HTTP/1.1支持此技术,
2.只有GET和HEAD请求支持管线化,而POST有所限制,
3.初次创建连接时不应该启动管线化,以为对方服务器不一定支持HTTP/1.1版本的协议

以下是 HTTP 请求/响应的步骤:

\1. 客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http://www.luffycity.com。

\2. 发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。

\3. 服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。

\4. 释放连接TCP连接
若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;

\5. 客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。

例如:在浏览器地址栏键入URL,按下回车之后会经历以下流程:

浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址; 
1…DNS解析,找到对应服务器的ip(Ngix负载均衡)
2…与目的主机进行TCP连接(三次握手);
3…发送与收取数据(浏览器与目的主机开始HTTP访问过程);
4.与目的主机断开TCP连接(四次挥手);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值