学习笔记六:web通信以及web前后端的组成

网站访问流程图:

 

 资源定位:

DNS

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。访问网站的实质就是解析其域名得到IP地址,再转向其网站。

步骤:

参考⽂章:https://www.cnblogs.com/yihr/p/9720715.html

1)系统⾸先会查找本地的DNS缓存和hosts⽂件信息,确认其中是否有与,域名www.baidu.com所对应的IP地址。如 果有,就直接访问这个IP地址所对应的www.baidu.com域名服务器。

2)如果没有找到,那么,系统将会把浏览器的解析请求发送给本地主机所指定的DNS服务器,称为LDNS。如果LDNS服 务器中有域名www.baidu.com所对应的IP地址,则返回给客户端的浏览器,如果没有,则继续请求其他DNS服务器。

3)LDNS服务器会从DNS系统的根(.)开始请求对域名www.baidu.com的解析。根DNS服务器全球只有13台,根域名 服务器是没有域名www.baidu.com解析记录的。但是它会有域名www.baidu.com所对应的顶级域.com的解析记录,因 此直接把顶级域.com所对应的DNS地址返回给LDNS服务器。

4)LDNS服务器获取到顶级域.com对应的DNS服务器地址后,就会去.com服务器请求对www.baidu.com域名的解析。 在顶级域名服务器也不会有www.baidu.com的解析记录的。但是它有www.baidu.com的⽗级域名的解析记录,即 baidu.com。因此顶级域名.com服务器⼜会把baidu.com所对应的DNS服务器的IP地址返回给LDNS。 5)LDNS服务器收到baidu.com所对应的IP地址后,就会去baidu.com域名服务器请求对www.baidu.com的域名解 析。Baidu.com域名对应的DNS服务器是该域名的授权DNS服务器。这个DNS服务器就是企业购买域名时⽤于管理解析的服务器。

6)baidu.com域名DNS服务器会把www.baidu.com域名所对应的IP地址给解析出来,然后发给LDNS。

7)LDNS把解析出来的结果,www.baudu.com所对应的IP地址发送给客户端的浏览器。并且LDNS也会将其域名和对应 的地址缓存到cache中。

8)客户端浏览器收到后,也会将其域名以及对应的IP地址缓存的到DNS缓存和hosts⽂件中。

TCP/IP协议

在通过浏览器请求访问某个网站时,不仅要通过HTTP请求还要通过TCP/IP请求,并且会首先通过TCP建立连接(TCP会建立三次握手),然后是HTTP请求。在完成HTTP请求后会首先关闭HTTP请求然后关闭TCP请求。

URL协议

url是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。浏览器通过url定位资源。

URL格式解析

schema://host[:port#]/path/.../[?query-string][#anchor]

例如:http://www.dark5.com/dark.php?id=1   ftp://www.dark5.com/dark.php?id=1    http://192.168.1.1/dark.php?id=1    (本例最后没有添加锚点)

  • schema协议
  • host[:port]域名或者IP端⼝
  • path/.../路径
  • [?query-string]发送给http服务器的数据
  • [#anchor]锚点

web前端

组成:

html:使用html描述的文件需要通过web浏览器显示出效果,也即在网页中显示效果。

javascript:(1.可以用于处理表单验证,用户输入,用户行为及浏览器动作:页面加载时触发事件;页面关闭时触发事件;用户点击按钮执行动作;验证用户输入内容的合法性…
                      2.我们也可以使用多种方法来执行 JavaScript 事件代码:HTML 事件属性可以直接执行 JavaScript 代码;HTML 事件属性可以调用 JavaScript 函数;可以为 HTML 元素指定自己的事件处理程      序;可以阻止事件的发生)

  • JavaScript 能够改变页面中的所有 HTML 元素
  • JavaScript 能够改变页面中的所有 HTML 属性
  • JavaScript 能够改变页面中的所有 CSS 样式
  • JavaScript 能够对页面中的所有事件做出反应

css :层叠样式表(Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。

(xss漏洞:通过将一些代码嵌入html当中,然后浏览器会渲染html,之后浏览器会调用javascript的解释器来执行javascript的代码,这样就造成了一些xss漏洞)

web后端

组成:

web服务(器):Web服务器一般是指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache,Nginx,IIS。

脚本语言:脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。

语言解释器:解释器(Interpreter),又译为直译器,是一种电脑程序,能够把高级编程语言一行一行直接转译运行。

数据库:数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。

工作流程:(详细见:https://www.cnblogs.com/xiangyujojo/p/8649825.html)

常见的组合

操作系统 Web服务器 解释器环境 数据库 脚本语言
Windows server iis .net Access/Mssql asp
Linux apache php解释器 mysql php
Unix/windows tomcat Jsp解释器 oracle jsp

 

 

 

 

posted @ 2021-11-13 22:14  Ling_Chen  阅读(486)  评论(0)    收藏  举报