美文网首页我爱编程Web 前端开发 让前端飞
我眼中的js编程(1)--理解浏览器和web服务

我眼中的js编程(1)--理解浏览器和web服务

作者: 闫浩奇 | 来源:发表于2017-09-08 14:28 被阅读0次

js是用来做什么的?

  • 在浏览器运营环境中,为网页赋予动态行为。怎么实现?ECMAScript(js核心)+浏览器的api。
  • 在node环境中,实现web服务器。怎么实现?ECMAScript(js核心)+node的api。

浏览器和web服务器

浏览器通过url可以访问任意的服务器的www服务(web服务)。


协议确定浏览器和web服务器的对话方式。服务器的公网ip通过DNS解析为域名,目的是域名比ip更好记,通过域名或ip找到服务器。一台服务器上有多种类型、每种类型有多种功能的服务,比如百度搜索、百度翻译等,通过不同的路径找到不同功能的服务。一台服务器上可以有多种类型的服务如www服务、ftp服务、smtp服务等,服务器上的不同服务分配了不同的端口号来区分,www服务默认80端口,浏览器中url不写端口号则默认访问服务器的80端口。如果服务器上的www服务设置了其他比如7070端口,则在url中要声明访问7070端口https://www.baidu.com:7070/s?tn=590,否则仍然去访问服务器的80端口是没有www服务的。另外,服务端通过80端口与你的电脑通信,但你的电脑用的可能是3456这样的端口。查询字符串是你的电脑向服务器发起www请求时携带的数据。你的电脑发起请求、服务器同意请求、服务器确认收到请求,三次握手后,client和server连接。

服务器提供www服务,通过浏览器以网页的形式来展示服务。client和server建立连接后,client浏览器会加载html、css、js到用户的浏览器客户端,此时浏览器显示网页,js用来处理服务器响应来的动态数据。服务器的www服务可以用node.js实现,也可以用php、java等其它语言来实现,用来给浏览器的请求响应数据。浏览器端(前端)的js和服务器(后端)的js(或php、java等)都可以处理数据,前者是在用户本地的浏览器客户端处理数据,后者是在远程的服务器处理数据然后再通过网络发送数据到用户的浏览器。
那么为什么有的数据在浏览器客户端处理、有的数据需要在服务器处理再发送回浏览器客户端?用浏览器环境的js处理数据基于两种需求:

  • 交互效果。通过js和Browser API来实现各种交互。这个活儿只能浏览器端js来干,因为浏览器只有js引擎(解释器)没有php引擎java引擎。交互效果现在浏览器js的主要功能。

  • 处理必要却不重要的功能数据,减少网络请求,提高用户体验。炫酷的交互效果只是锦上添花,但最核心功能才是根本,核心功能相关的数据处理,基本都在服务器端进行,然后通过通过网络响应给浏览器客户端,核心功能的大量数据需要数据库的支持,浏览器环境是没办法支持数据库的,只有在服务器端安装了node环境(或php环境等),js(或php等)才有读取本地文件的权限和能力,安装了数据库,才能读取并操作数据库文件。浏览器客户端的用户来自各行各业,是不可能装数据库的。当然这是开了个脑洞来阐述为什么需要在服务器端处理数据。但是~~~所有的除去交互效果相关的数据处理都要在服务器进行处理吗?比如电话号码的正则验证这一类,数据量小无需数据库、不需要高安全级别的数据处理,就可以放在浏览器端进行处理。

点击查看下一篇我眼中的js编程(2)
我眼中的js编程系列是我个人的学习总结,如有错误,烦请包涵、不吝赐教,O(∩_∩)O谢谢

相关文章

  • 我眼中的js编程(1)--理解浏览器和web服务

    js是用来做什么的? 在浏览器运营环境中,为网页赋予动态行为。怎么实现?ECMAScript(js核心)+浏览器的...

  • 简介

    V8引擎用于chrome浏览器解释JS部分 浏览器类似服务器 不是独立语言,用js编程 nodejs没有web服务...

  • 假期里的Python

    Web的理解 HTTP是传输协议 HTML是浏览器能读懂的语言 web 浏览器 和 web服务器的作用 web浏览...

  • HTTP协议的理解

    HTTP协议的理解 1、HTTP协议相关 Web浏览器、服务器和相关的Web应用程序都是通过HTTP相互通信的。H...

  • nodeJS 基础

    Node.js 可以理解为能在操作系统上跑的js(不仅仅在浏览器) 还能当web服务器哟~ 用的Chrome V8...

  • Web前端开发缓存理解

    概念 Web缓存是指一个Web资源(如html页面,图片,js,数据等)存在于Web服务器和客户端(浏览器)之间的...

  • cookie

    cookie是指Web浏览器存储的少量数据。cookie数据会自动在Web浏览器和Web服务器之间传输。 1.co...

  • 一文了解浏览器缓存

    什么是浏览器缓存 Web缓存是指一个Web资源(如html页面,图片,js,数据等)存在于Web服务器和客户端(浏...

  • 一次完整的http请求

    1:建立TCP连接 2:web浏览器向web服务器发送请求行 3:web浏览器发送请求头 4:web服务器发送应答...

  • 三、Python web开发入门

    一、web开发介绍 1、web开发概述 c/s结构和b/s结构,客户机/服务器结构和浏览器/服务器结构即web开发...

网友评论

    本文标题:我眼中的js编程(1)--理解浏览器和web服务

    本文链接:https://www.haomeiwen.com/subject/ytlgjxtx.html