以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 我想问下httpRequest的执行逻辑 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97102) |
-- 作者:chen3728060 -- 发布时间:2017/3/6 12:00:00 -- 我想问下httpRequest的执行逻辑 如果按照平时单线程执行,应该判断了要下载图片,下载图片后,就执行完了,为啥还会执行else里面的输出 StringBuilder呢?
按照我的思路理解是,打开120.0.0.1,这样e.path是空的,应该是没有图片请求,直接执行else里的内容。为啥下载图片的效果又会存在? 我感觉httpRequest貌似不执行一次,而是类似报表事件的buildDetail那样,根据数据表的明细行,每行执行一次
------
我更加感觉逻辑是这样的 1输入127.0.0.1 2HttpRequest事件触犯,先判断e.path,发现是空的,然后执行else里的内容 3执行else里时,发现<img src>这个请求图片指令,于是再重新触发HttpRequest事件,往事件里输入127.0.0.1/abc.jpg 的请求 4HttpRequest事件触犯,先判断e.path,发现是发现存在abc.jpg这玩意,于是执行else之前的发送文件功能 [此贴子已经被作者于2017/3/6 12:03:50编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2017/3/6 12:03:00 -- 浏览器其实是分两步来显示这个网页的: 1、首先获取网页内容: 我想显示一个图片<br/> <img src=\'abc.jpg\'> 2、然后浏览器解析网页内容,发现要显示一个图片"abc.jpg",如是又向服务器发送访问请求: http://127.0.0.1/abc.jpg 要显示图片,服务器必须对这个访问请求对出响应,将后台的图片"abc.jpg"发送给客户端的浏览器,浏览器则显示收到的图片。 实际上不单单是图片,网页中引用的任何文件,包括js、css等等,都会单独向服务器发出下载这个文件的请求,服务器必须对此做出响应。 |
-- 作者:chen3728060 -- 发布时间:2017/3/6 12:05:00 -- 回复:(狐狸爸爸)浏览器其实是分两步来显示这个网页... 懂了!跟我感觉的一样 |
-- 作者:chen3728060 -- 发布时间:2017/3/6 12:11:00 -- 回复:(狐狸爸爸)浏览器其实是分两步来显示这个网页... 狐爸,你最好把这个执行逻辑写进去新的帮助里,因为我们在群里已经有人疑问过这个执行逻辑,按照单线程的思路执行不通,想不明白,当时也没人能想通,有必要解释一下 |
-- 作者:狐狸爸爸 -- 发布时间:2017/3/6 12:12:00 -- 好的 |
-- 作者:chen3728060 -- 发布时间:2017/3/6 12:15:00 -- 回复:(狐狸爸爸)好的 感觉这执行逻辑很像递归算法,稍微有地方控制不好的,能搞到一个死循环出来 |
-- 作者:有点色 -- 发布时间:2017/3/6 12:50:00 -- 以下是引用chen3728060在2017/3/6 12:15:00的发言:
感觉这执行逻辑很像递归算法,稍微有地方控制不好的,能搞到一个死循环出来
不会死循环不至于吧?出现概率很小,而且死循环没什么大问题。 |