产品经理在工作过程中常常需要考虑到技术实现的问题,作为产品经理不一定要懂的如何开发,但是必备的技术原理还是需要有了解的,这样一方面可以减少与开发之间的交流成本,另一方面也能避免一些违背实现原理的设计。
那么,今天要讲的第一个技术原理就是:网站访问原理。
在了解网站访问原理以前,如果我们要设计一个点击网站链接的交互的时候,很可能就会简单的设计为:“点击跳转到XX网页”,这其实就是不了解技术原理,思考不充分的典型体现了。那么,我们究竟应该怎么设计这个小交互呢?
首先,我们先学习一下网站访问原理,在浏览器拿到网址后:
1.首先会将主机名解析出来,如http://www.example.com/hello.html,那么浏览器会解析出主机名www.example.com。
2.因为浏览器查询网址实际就是要查这个网址的ip,所以解析出主机名后,浏览器就会根据主机名去查询要访问ip。查询ip的时候,会先查hosts文件,在hosts文件查到则返回其对应ip地址,如果没有查到,则去查询DNS服务器,成功查到就会返回对应ip,否则会报告找不到服务器。
3.查询到要访问的ip后,浏览器会把自身信息与请求信息封装成HTTP请求消息发送给服务器。
4.服务器读取HTTP请求消息中的内容时,会解析出发送请求的主机,以及发送请求的web应用,然后解析出对方需要访问的资源,最后去查找相关资源,如果查找成功,则返回状态码200,查找失败就会返回404
5.返回状态码200后,服务器会将请求的资源封装成http响应,浏览器得到返回数据后可以会提取数据,然后调用解析内核进行翻译。之后浏览器会对其引用的文件比如图片,CSS,JS等文件不断进行上述过程,直到所有文件都被下载下来之后,网页就会显示出来。
学习完网站访问原理后,我们再来看点击网站链接的这个小交互。这时,我们就要考虑到:
(1)如果查找相关资源失败,给出的404页面应该怎么处理,我们应该怎么引导用户访问正确的URL,或者通过相关URL让他找到要找的资源;
(2)如果加载引用文件比如图片时断网、弱网,页面应该怎么显示,是否需要占位图;
像这样,我们在了解技术原理后往往能思考的更全面,给用户带来更人性化的体验。