客户端服务器

一次 Web 请求到底发生了什么

蓝咒 提交于 2020-03-30 13:42:09
一次 Web 请求到底发生了什么 一、从输入一个网址开始 当我们在浏览器输入一个网址,然后按下回车,接下来浏览器显示了页面。网速好的话这之间可能就一秒,但在这一秒内到底发生了什么? 本文主要内容是试图记录一个完整 Web 请求的详细过程,从用户在浏览器中输入 URL 地址说起,然后浏览器如何找到服务器地址的过程,并发起请求;分析请求在达反向代理服务器内部处理过程;最后到请求在服务器端处理完成后,浏览器渲染响应页面过程。 大致过程如下: Web请求的工作原理可以简单地归纳为: 浏览器通过 DNS 把域名解析成对应的IP地址; 根据这个 IP 地址在互联网上找到对应的服务器,建立 Socket 连接; 客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档; 在服务器端,实际上还有复杂的业务逻辑:服务器可能有多台,到底指定哪台服务器处理请求,这需要一个负载均衡设备来平均分配所有用户的请求; 还有请求的数据是存储在分布式缓存里还是一个静态文件中,或是在数据库里; 当数据返回浏览器时,浏览器解析数据发现还有一些静态资源(如:css,js或者图片)时又会发起另外的请求,而这些请求可能会在CDN上,那么CDN服务器又会处理这个用户的请求。 客户端与服务器断开。由客户端解释HTML文档,在客户端屏幕上渲染图形结果。 一个 HTTP 事务就是这样实现的,看起来很简单,原理其实是挺负责的

NFS

爷,独闯天下 提交于 2020-03-30 13:42:09
NFS ●NFS 。1. nfs简介 ■1.1 nfs特点 ■1.2使用nfs的好处 ■1.3 nfs的体系组成 ■1.4 nfs的应用场景 。2. nfs工作机制 ■2.1RPC. ■2.2NIS 2.3 nfs工作机制 。3. exports文件的格式 。4. nfs管理 。作业 nfs简介 1.1 nfs特点 ●NFS (Network File System) 即网络文件系统,是FreeBSD支持的文件系统中的一种,它允 许网络中的计算机之间通过TCP/IP网络共享资源 ●在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就 像访问本地文件-样 ●nfs适用于Linux与Unix之 间实现文件共享,不能实现L inux与Windows间的文件共享功能 ●nfs是运行在应用层的协议,其监听于2049/tcp和2049/udp套接字上 ●nfs服务只能基于IP进行认证, 这也是它的缺点之一 1.2使用nfs的好处 ●节省本地存储空间,将常用的数据存放在一台NFS服务器 上且可以通过网络访问,那么本地 终端将可以减少自身存储空间的使用 ●用户不需要在网络中的每个机器.上都建有Home目录,Home目录可以放在NFS服务器上且可 以在网络.上被访问使用 ●一些存储设备如软驱、CDROM和Zip (-种高储存密度的磁盘驱动器与磁盘)等都可以在网

ssh(Secure Shell)

自闭症网瘾萝莉.ら 提交于 2020-03-30 10:11:06
一、ssh 基础使用   1. ssh 客户端使用 Secure Shell(ssh)协议连接到运行了 ssh 服务端的远程服务器上。   2. ssh 是专为远程登录会话和其他网络服务提供安全性的协议。 有效防止远程管理过程中的信息泄露; 传输数据加密,可以防止 DNS 和 IP 欺骗; 传输数据压缩,加快传输速度。   3. OpenSSH 是 SSH 协议的免费开源实现,提供了服务端程序(openssh-server)和客户端程序(openssh-client)。 Mac 和 Linux 中默认安装了 ssh 客户端,可以直接在中断中使用 ssh 命令。 Windows 需要手动安装 ssh 客户端,常用的有 PuTTY 和 XShell。   4. OpenSSH 服务端常用命令 1 # 安装服务端(Ubuntu) 2 sudo apt install openssh-server 3 4 # 安装客户端(Ubuntu) 5 sudo apt install openssh-client 6 7 # 查看 ssh 服务是否开启 8 netstat -tlp | grep ssh 9 10 # 启动/停止/重启 ssh 服务 11 sudo /etcinit.d/ssh start 12 13 # 启动/停止/重启 ssh 服务 14 sudo /etcinit.d/ssh

Asp.Net 不同区别的 OnClick ( onserverclick, onclientclick )

断了今生、忘了曾经 提交于 2020-03-29 19:11:03
下面以 HTML的按钮( system.web.ui.htmlcontrols ) 和 ASP.NET服务端按钮 ( system.web.ui.webcontrols ) 为例: 1. HTML控件,如IMG的输入按钮等 的 onclick ( 客户端 )和 onserverclick ( 服务端 )事件,注意 runat="server"。。。 此处的onclick先于onserverclick执行。 2.WEB控件,如<asp:button 按钮等 的 onclientclick( 客户端 ) 和 onclick ( 服务端 )事件。。。 此处的onclientclick先于onclick执行。 onclientclick 事件来自2.0, 它用来取代下列代码。。。 总之,客户端点击事件先于服务器端点击事件执行。也就是说,先执行客户端的Javascript,然后到服务器端执行服务器的相关代码。 附:html控件、html服务器控件和web用户控件 asp.net之所以现在开发方便和快捷,关键是它有一组强大的控件库,包括web服务器控件,web用户控件,web自定义控件,html服务器控件和html控件等。这里主要说说html控件、html服务器控件和web服务器控件的区别。 1、html控件:就是我们通常的说的html语言标记,这些语言标记在已往的静态页面和其他网页里存在

asp.net控件本质

試著忘記壹切 提交于 2020-03-29 19:10:39
在我的一个项目中需要对于控件进行区分总结,我在网上找了找加上自己的实际测试总结如下:(如果有什么不正确的请即使指出,一起讨论,大家共同进步) asp.net之所以现在开发方便和快捷,关键是它有一组强大的控件库,包括web服务器控件,web用户控件,web自定义控件,html服务器控件和html控件等。这里我主要说说html控件、html服务器控件和web服务器控件的区别。 1。html控件:就是我们通常的说的html语言标记,这些语言标记在已往的静态页面和其他网页里存在,不能在服务器端控制的,只能在客户端通过javascript和vbscript等程序语言来控制。 < input type ="button" id ="btn" value ="button" /> 2。html服务器控件:其实就是html控件的基础上加上runat="server"所构成的控件.它们的注意区别是运行方式不同,html控件运行在客户端,而html服务器控件是运行在服务器端的。参考其他资料是这样说的: 当ASP.NET 网页执行时,会检查标注有无runat 属性,如果标注没有设定,那么Html标注就会被视为字符串,并被送到字符串流等待送到客户端,客户端的浏览器会对其进行解释;如果Html标注有设定runat="server" 属性,Page 对象会将该控件放入控制器,服务器端的代码就能对其进行控制

Redis 基础:Redis 事件处理

北慕城南 提交于 2020-03-28 23:20:27
Redis 事件处理 Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件: 文件事件(file event):Redis服务器通过套接字与客户端(或其他Redis服务器)进行连接,而文件事件就是服务器对套接字操作的抽象。服务器与客户端(或其他服务器)的通信会产生相应的文件事件,而服务器则通过监听并处理这些事件来完成一系列网络通信操作; 时间事件(time event):Redis服务器的一些操作(比如serverCron函数)需要在给定的时间执行,而时间事件就是服务器对这类定时操作的抽象; 文件事件 1.文件事件处理器 文件事件处理器使用I/O多路复用(multiplexing)程序来同时监听多个套接字,并根据套接字目前执行的任务来为套接字关联不同的事件处理器; 当被监听的套接字准备好执行连接应答(accept)、读取(read)、写入(write)、关闭(close)等操作时,与操作相对应的文件事件就会产生,这时文件事件处理器就会调用套接字之前关联好的时间处理器来处理这些事件; 2.组成 文件事件处理器由四个组成部分:套接字、I/O多路复用程序、文件事件调度器,以及事件处理器; 文件事件是对套接字操作的抽象,每当一个套接字准备好执行连接应答、写入、读取、关闭等操作时,就会产生一个文件事件。因为一个服务器通常会连接多个套接字,所以多个文件事件有可能会并发地出现。 I

Microsoft Sync Framework同步数据库 3:针对同步进行设置

瘦欲@ 提交于 2020-03-28 18:39:16
针对同步进行设置 在可以使用 Sync Framework 同步数据库之前,需要通过称为“设置(provisioning)”的流程配置它。所需的设置类型因数据库类型而异。本篇提供有关设置 SQL Server 和 SQL Server Compact 数据库的背景信息、操作步骤以及完整代码示例。 了解设置和取消设置(Provision and Deprovision) 为同步配置数据库的第一步是定义一个作用域,该作用域标识要同步的内容。在您定义同步作用域后,就可以使用该同步作用域来设置数据库,以便创建变更跟踪和元数据管理基础结构,该基础结构由元数据表、触发器和存储过程构成。在设置了某一数据库后,可以通过使用某一提供程序(例如 SqlSyncProvider)来表示该数据库和使用 SyncOrchestrator 对象管理同步会话并连接到其他同步提供程序以实现数据同步。为同步设置数据库是有别于与其他数据库同步的单独任务,这部分代码通常位于单独的应用程序中。 设置(Provision) 在设置(Provision)数据库时,通常会在数据库中创建以下某些或全部元素: 在同步作用域中包含的基表。 作用域中每个基表的一个跟踪表。该跟踪表跟踪对关联基表进行的变更。 在直接对基表进行更改时更新跟踪表的触发器。 用于同步操作的存储过程,例如枚举变更、插入变更、更新数据或删除数据

WebSocket学习笔记IE,IOS,Android等设备的兼容性问

心不动则不痛 提交于 2020-03-27 21:37:47
WebSocket学习笔记IE,IOS,Android等设备的兼容性问 一、背景 公司最近准备将一套产品放到Andriod和IOS上面去,为了统一应用的开发方式,决定用各平台APP嵌套一个HTML5浏览器来实现,其中数据通信,准备使用WebSocket的方式。于是,我开始在各大浏览器上测试。 二、协议分析 2.1 WebSocket的请求包 首先把原来做Socket通信的程序拿出来,跟踪下浏览器在WebSocket应用请求服务端的时候发的数据包的内容: IE11: GET /chat HTTP/1.1 Origin: http://localhost Sec-WebSocket-Key: 98JFoEb6pMLFYhAQATn6hw== Connection: Upgrade Upgrade: Websocket Sec-WebSocket-Version: 13 User-Agent: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko Host: 127.0.0.1:1333 Cache-Control: no-cache Cookie: s_pers=%20s_20s_nr%3D1390552565333-Repeat%7C1422088565333%3B FireFox 26.0: GET /chat

ASP.NET Core的实时库: SignalR简介及使用

断了今生、忘了曾经 提交于 2020-03-27 09:36:26
原文:https://www.cnblogs.com/cgzl/p/9515516.html#sig 大纲 本系列会分为2-3篇文章. 第一篇介绍了SignalR的预备知识和原理 本文介绍SignalR以及ASP.NET Core里使用SignalR . 本文的内容: 介绍SignalR 在ASP.NET Core中使用SignalR SignalR SignalR是一个.NET Core/.NET Framework的开源实时框架. SignalR的可使用Web Socket, Server Sent Events 和 Long Polling作为底层传输方式. SignalR基于这三种技术构建, 抽象于它们之上, 它让你更好的关注业务问题而不是底层传输技术问题. SignalR这个框架分服务器端和客户端, 服务器端支持ASP.NET Core 和 ASP.NET; 而客户端除了支持浏览器里的javascript以外, 也支持其它类型的客户端, 例如桌面应用. 回落机制 SignalR使用的三种底层传输技术分别是Web Socket, Server Sent Events 和 Long Polling. 其中Web Socket仅支持比较现代的浏览器, Web服务器也不能太老. 而Server Sent Events 情况可能好一点, 但是也存在同样的问题.

复试专业课知识记录(6)

浪子不回头ぞ 提交于 2020-03-27 06:12:32
2020.3.27学习记录 1.OSI,TCP/IP,五层协议的体系结构  OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。  TCP/IP分层(4层):网络接口层、网际层、运输层、应用层。  五层协议(5层):物理层、数据链路层、网络层、运输层、应用层。  每一层的作用如下:   物理层:激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性。该层为上层协议提供了一个传输数据的物理媒体。 数据链路层:数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。   网络层:网络层负责对子网间的数据包进行路由选择。此外,网络层还可以实现拥塞控制、网际互连等功能。   传输层:第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。   会话层:会话层管理主机之间的会话进程,即负责建立、管理、终止进程之间的会话。会话层还利用在数据中插入校验点来实现数据的同步。   表示层:表示层对上层数据或信息进行变换以保证一个主机应用层信息可以被另一个主机的应用程序理解。表示层的数据转换包括数据的加密、压缩、格式转换等。   应用层:为操作系统或网络应用程序提供访问网络服务的接口。  参考博客: