Web开发中的网络知识(应用层)

一、网络分层

二、应用层协议——HTTP、DNS和SSH

2.1 http协议

1. 定义:超文本传输协议( Hyper Text Transfer Protocol ),是用于传输诸如HTML的超媒体文档的应用层协议。它被设计用于Web浏览器和Web服务器之间的通信,但也可以用于其它目的。 HTTP遵循经典的客户端-服务端模型,客户端打开一个连接以发出请求,然后等待收到服务器端的响应。 HTTP是无状态协议,意味着服务器不会在两个请求之间保留任何数据(状态)。虽然通常基于TCP / IP层,但可以在任何可靠的传输层上使用,也就是说,一个不会静默丢失消息的协议,如UDP。

2.2 DNS协议

1. 定义:DNS是域名系统(DomainNameSystem)的缩写,该系统用于命名组织到域层次结构中的计算机和网络服务。域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器。

2. DNS服务器:域名与IP地址之间的对应,类似于地址簿。DNS服务器在日常生活十分重要,每个人上网,都需要访问它,但是同时,这对它来讲也是非常大的挑战。一旦它出了故障,整个互联网都将瘫痪。另外,上网的人分布在全世界各地,如果大家都去同一个地方访问某一台服务器,时延将会非常大。因而,DNS 服务器一定要设置成高可用、高并发和分布式的。

3. 根服务器:根服务器主要用来管理互联网的主目录,全世界只有13台(这13台根域名服务器名字分别为“A”至“M”),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国瑞典,亚洲1个位于日本。所有根服务器均由美国政府授权的互联网域名与号码分配机构ICANN统一管理,负责全球互联网域名根服务器、域名体系和IP地址等的管理,这13台根服务器可以指挥Firefox或Internet Explorer这样的Web浏览器和电子邮件程序控制互联网通信,由于根服务器中有经美国政府批准的260个左右的互联网后缀(如.com.xyz.net.top等)和一些国家的指定符(如法国的.fr、挪威的.no等),美国政府对其管理拥有很大发言权。

4. DNS解析流程(基于UDP协议)

当我们去解析一个域名,比如解析xiaoxiaoguo.cn时,会经过如下步骤:

(1)查看本机的缓存有无该域名记录,如果没有,查看本机的host文件有无该域名记录,如果没有,则发个请求到本地DNS服务器

(2)本地DNS服务器收到请求后,查看是否有该域名的解析,如果有,返回解析记录给主机,如果没有,则请求根域名服务器;

(3)根域名服务器收到请求后,返回该域名对应的顶级域名服务器,比如这次请求返回.cn的服务器地址;

(4)本地域名服务器接到顶级域名服务器地址后,向该顶级域名服务器请求;

(5)顶级域名服务器返回该域名的权威服务器地址,比如这次返回xiaoxiaoguo.cn对应的权威服务器地址;

(6)本地域名服务器获得该地址后,发请求到该域名的权威服务器;

(7)权威服务器返回该域名对应的解析

(8)本地域名服务器获取该解析后,返回给主机,解析完成。

参考链接:https://blog.csdn.net/u012375924/article/details/76408947

5. 本机hosts的作用:
(1)加快域名解析:对于要经常访问的网站,我们可以通过在hosts中配置域名和IP的映射关系,这样当我们输入域名计算机就能很快解析出IP,而不用请求网络上的DNS服务器
(2)方便局域网用户:在很多单位的局域网中,会有服务器提供给用户使用。但由于局域网中一般很少架设DNS服务器,访问这些服务要输入难记的IP地址,对不少人来说相当麻烦。现在可以分别给这些服务器取个容易记住的名字,然后在Hosts中建立IP映射,这样以后访问的时候我们输入这个服务器的名字就行了。
(3)屏蔽网站:现在有很多网站不经过用户同意就将各种各样的插件安装到你的计算机中,有些说不定就是木马或病毒。对于这些网站我们可以利用Hosts把该网站的域名映射到错误的IP或自己计算机的IP,这样就不用访问了。我们在Hosts写上以下内容:127.0.0.1#屏蔽的网站,0.0.0.0#屏蔽的网站,这样计算机解析域名就解析到本机或错误的IP,达到了屏蔽的目的。
(4)顺利连接系统:对于Lotus的服务器和一些数据库服务器,在访问时如果直接输入IP地址那是不能访问的,只能输入服务器名才能访问,那么我们配置好hosts文件,这样输入服务器名就能顺利连接了。
最后要指出的是,hosts文件配置的映射是静态的,如果网络上的计算机更改了请及时更新IP地址,否则将不能访问。

2.3 SSH协议

1. 定义:SSH 为 Secure Shell 的缩写,由 IETF 的网络小组所制定。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已经成为Linux系统的标准配置。SSH 为建立在应用层基础上的安全协议,目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。简单说,SSH是一种网络协议,用于计算机之间的加密登录

2. 功能:最早的时候,互联网通信都是明文通信的,传统的网络服务程序,如ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据,一旦被截获,内容就暴露无疑,而且,这些服务程序的安全验证方式也是有其弱点的, 就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式, 就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTPPoP、甚至为PPP提供一个安全的"通道"。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。
需要指出的是,SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。
3. SSH协议流程

原文地址:https://www.cnblogs.com/qinsafefy/p/9334701.html

时间: 2024-10-08 03:59:43

Web开发中的网络知识(应用层)的相关文章

移动Web 开发中的一些前端知识收集汇总

在开发DeveMobile 与EaseMobile 主题 的时候积累了一些移动Web 开发的前端知识,本着记录总结的目的,特写这篇文章备忘一下. 要说移动Web 开发与传统的PC 端开发,感觉也没什么不同,但得益于苹果对于智能机的推动,CSS3+HTML5几乎可以毫无顾忌的使用,然后浏览器端考虑webkit内核的就差不多了. webkit内核中一些私有的meta标签 1 2 3 4 <meta name="apple-mobile-web-app-capable" content

【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OSS(https://www.aliyun.com/product/oss) 4.HTTPS(http://baike.baidu.com/view/14121.htm) 阅读目录结构 引: 一.准备工作 二.整体功能结构 三.具体实现步骤 四.关键点和问题处理 五.延伸与扩展 六.总结与思考 引:

Web 开发中很实用的10个效果【附源码下载】

在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记得收藏:) 超炫的页面切换动画效果 今天我们想与大家分享一组创意的页面切换熊效果集合.我们已经在示例中罗列了一组动画,可以被应用到页面切换过程中,创造出很有趣的导航效果. 立即下载      在线演示 美!视差滚动在图片滑块中的应用 视差滚动(Parallax Scrolling)已经被广泛应用于网

Web开发中 前端路由 实现的几种方式和适用场景

浅析Web开发中前端路由实现的几种方式 主题 Web开发 故事从名叫Oliver的绿箭虾`说起,这位大虾酷爱社交网站,一天他打开了 Twitter ,从发过的tweets的选项卡一路切到followers选项卡,Oliver发现页面的内容变化了,URL也变化了,但为什么页面没有闪烁刷新呢?于是Oliver打开的网络监控器(没错,Oliver是个程序员),他惊讶地发现在切换选项卡时,只有几个XHR请求发生,但页面的URL却在对应着变化,这让Oliver不得不去思考这一机制的原因- 叙事体故事讲完,

WEB开发中的字符集和编码

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption

web开发中的长度单位(px,em,ex,rem),如何运用,看完这篇就够了!

原创 2017-03-08 web小二 web前端开发 作为一名前端开发人员,css中的长度单位,都是我们在工作中非常熟悉的名词,因为没有它们,我们就不能声明某个字符应该多大,或者某些图像周围应该留白多少,甚至有时候能导致css不能进行正常工作,所以在很多css属性中,它们都是依赖于长度单位来显示各种页面元素. 1.长度单位包括哪些? 长度单位,其实在我们的生活中,也非常常见,例如,厘米.毫米.英寸,还有经常接触到的像素(px),元素的字体高度(em).字母x的高度(ex).百分比(%)等等这些

浅析Web开发中前端路由实现的几种方式

故事从名叫Oliver的绿箭虾`说起,这位大虾酷爱社交网站,一天他打开了 Twitter ,从发过的tweets的选项卡一路切到followers选项卡,Oliver发现页面的内容变化了,URL也变化了,但为什么页面没有闪烁刷新呢?于是Oliver打开的网络监控器(没错,Oliver是个程序员),他惊讶地发现在切换选项卡时,只有几个XHR请求发生,但页面的URL却在对应着变化,这让Oliver不得不去思考这一机制的原因… 叙事体故事讲完,进入正题.首先,我们知道传统而经典的Web开发中,服务器端

在web开发中你不得不注意的安全验证问题#1-SQL

前言 随着WEB开发的发展如日中天,越来越多的程序猿加入这个行列,尤其是在大型项目团队开发的过程中,程序员们的水平参差不齐.导致各种各样的安全验证不严密导致各种问题.正如那句话所说,水桶能装水的多少不取决于最高的挡板,而是最低的挡板. 那今天我就给大家演示一下常见的安全问题SQL的形成原因和预防. 环境准备 我本来打算用java做实验的,考虑到PHP的话比较快,就用PHP演示吧. 下面是我连接数据库的代码以及数据库的内容.文件名sql.php <?php $conn=mysql_connect(

WEB开发中一些常见的攻击方式及简单的防御方法

WEB开发中一些常见的攻击方式及简单的防御方法 20151127 转载http://www.lvtao.net/dev/582.html SQL注入最常见的攻击方式,所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击. 跨站脚本攻击(XSS)跨站脚本攻击(也称为XSS)指利用网站漏洞从用户那里恶意盗取