前后端通信 跨域 网络协议 DNS CDN HTTPS
本篇文章有点长,内容比较枯燥,就当作知识点的整理了。
服务
- 在局域网中通过某些服务软件开启WEB服务功能,在该局域网中其它用户可以通过该打开服务的电脑 IP,找到该服务下web页面,默认打开的页面是index.html。
- 如果在同一台计算机上开启两个以上的web服务,这时候就需要按照端口号区分各服务,一般开启服务的端口号默认为8080
- 开启 web 服务的软件有 tomcat 、IIS
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器。
IIS是随Windows NT Server 4.0一起提供的文件和应用程序服务器,是在Windows NT Server上建立Internet服务器的基本组件
静态页面和动态页面
以前的页面分为两种:静态页面和动态页面
- 静态页面包括html、htm、css,在静态页面中做SEO优化都是可以被搜到的。
- 动态页面包括 php、jsp。
- 动态页面中的SEO是不可以被搜到的,动态页面实现的是页面中部分内容的动态加载。之前动态页面应用于登录、论坛、留言等;现在,基本所有的页面都是动态的。
- 动态页面使用 php / java ,这两个语言是不能独立做页面的,php写在了普通的html文件中。
- php 是动态生成了一个html。
- php必须用独立的php服务打开,打开生会生成一个网页发给你,才能看到页面。
- php 早期的功能主要是将表单数据提交给数据库,增删改查。
数据库
现在常用的数据库有以下三个
- Oracle 适用于大型企业,收费的
- SQL Server 微软的商业化产品,微软SQL语句兼容性好,商业化成熟度高,收费的
- MySQL 免费产品,中小企业使用广泛,开源免费的
域名分析
用一个地址来分析:
http://127.0.0.1:5500/Js_base/aaa.html
等同于 http://localhost:5500/Js_base/aaa.html
- 其中127.0.0.1 是 IP;5500是端口
- 本机电脑的默认 IP 都是127.0.0.1
- localhost 是域名,等同于默认 IP 地址
开发的情况
在过去,
- 1)前端 (html,css) 和后端 (js,php) 是一个服务,数据库是另一个服务;
- 2)当用户在浏览器中输入地址,地址会去访问服务,查找 index.html 的文件,没找到的话,会查找 index.htm 或者 index.php,找到后,因为前端网页是无法解析 php 的,php会自动生成 index.html的页面,返回到网页中;
- 3)下一次当用户再次访问这个页面时,会先在本地缓存中查找,没有的话再去服务器端请求;
现在
- 1)前端 (html,css.js) 是一个服务 、后端 (java,node) 是一个服务 、数据库是另一个服务;
- 2)当在浏览器中输入地址访问前端页面时,点击数据,将请求发给后端,后端接收到请求去数据库查询,数据库查到后,将数据返回给当前的浏览器,而不是给返回给前端,这就叫做前后端分离;
前后端不分离用php,前后端分离用ajax
同域和跨域
- 如果前端和后端是放在同一个服务上,就叫同域访问
- 如果前端和后端各自放在各自的服务上,就叫做跨域访问
- 跳转页面没有跨域和不跨域的概念
- 页面不刷新,用ajax把数据发给服务器,服务器再返回数据,这叫通信,只有通信才有跨域的概念
- 只有域名、端口、协议都相同才是同域访问,也叫同源策略
局域网和广域网
- 局域网(Local Area Network),简称LAN,是指在某一区域内由多台计算机互联成的计算机组。
- 局域网可以实现文件管理、应用软件共享、打印机共享、扫描仪共享、工作组内的日程安排、电子邮件和传真通信服务等功能。
- 局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。
- 广域网(Wide Area Network),简称WAN,是一种跨越大的、地域性的计算机网络的集合。通常跨越省、市,甚至一个国家。
- 广域网包括大大小小不同的子网,子网可以是局域网,也可以是小型的广域网。
- OSI参考模型
IP
- IP地址是指互联网协议地址
- IP分为局域网IP和广域网(也就是internet) IP
- 局域网中的IP是唯一 的,由路由器来分配
- 子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
- 子网掩码默认设置为255.255.255.0
- 默认网关,用于 TCP/IP 协议的配置项,是一个可直接到达的 IP 路由器的 IP 地址,当指定默认网关后,会直接去请求该IP地址的数据,提高请求速度。
- 默认网关,指电脑的起始的IP,192.168.0.1,前三位跟IP一样,最后一位是1
端口
当在同一台电脑上启动两个或两个以上的服务时,需要用端口来区分访问的地址。
- 常用的保留TCP端口号有:HTTP 80,FTP 20/21,Telnet (电话网络协议) 23,SMTP (邮件协议) 25,DNS 53等。
- 常用的保留UDP端口号有:DNS 53,BootP 67(server)/ 68(client),TFTP 69,SNMP 161等。
DNS
DNS服务器,一个域名对应一个IP地址,域名的组成由:万维网(www)、域名名称、域、地域域(中国、美国。。)(.com/.cn)
DNS服务:在浏览器输入域名后,把域名发送到最近的DNS服务器,在服务器中对域名作解析,变成对应的IP地址,然后它替我们将数据发送到对应的IP服务器,服务器接收到请求后,将数据返回,这个解析域名的服务就叫DNS服务。简单来讲就是把域名变成对应的IP地址过程。
Hosts:是一个没有扩展名的系统文件,作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
本地修改host:电脑中自己设置的DNS服务叫HOST,修改域名的指向IP,路径为:
我的电脑=> C盘 => windows => system32 => drivers => etc => hosts
CDN
CDN 内容分发机制,近距离访问一般在11ms。作用是可以提高用户访问网站的响应速度。举个例子,开通CDN服务,把软件上传到北京的服务器上后,全国各地的服务器都会自动将你的文件包拉到全国各地的服务上,不过CDN价格极其昂贵,按照下载的流量来收费。
协议
TCP/IP是互联网的基础协议。
- 网络层协议:IP(IPv4/IPv6)
- 传输层协议:TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。
- 传输层协议:UDP是面向无连接的通讯协议,现在的手机应用使用的都是UDP协议。
- 应用层协议:FTP是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。
- 应用层协议:DNS(Domain Name System,域名系统)万维网上作为域名和IP地址相互映射的一个分布式数据库,DNS协议运行在UDP协议之上,使用端口号53。
- 应用层协议:HTTP/HTTPS,是超文本传输协议,用于实现互联网中的WWW服务,使用端口80。
- 应用层协议:SMTP,是简单邮件传输协议,用来控制信件的发送、中转,使用端口25。现在的在线直播都属于SMTP通信
- 应用层协议:POP3,是简单邮件传输协议,用来控制信件的接收
HTTP和HTTPS的区别
HTTPS 主要由两部分组成:HTTP + SSL / TLS,也就是在 HTTP 上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过 TLS 进行加密,所以传输的数据都是加密后的数据。
以下图片来自于百度百科:
网络硬件
- 网线,是连接局域网必不可少的。在局域网中常见的网线主要有双绞线、同轴电缆、光缆三种。 双绞线,是由许多对线组成的数据传输线。它的特点就是价格便宜,所以被广泛应用,如我们常见的电话线等。它是用来和RJ45水晶头相连的。
- 路由器,相当于一个共享器。一般路由器有三个口,一个是千兆光纤口,另外两个是百兆光纤口。
- 交换机,是一种在通信系统中完成信息交换功能的设备。是一种基于MAC地址识别,能完成封装转发数据包功能的网络设备。从广义上来看,网络交换机分为两种:广域网交换机和局域网交换机。广域网交换机主要应用于电信领域,提供通信用的基础平台。而局域网交换机则应用于局域网络,用于连接终端设备,如PC机及网络打印机等。
交换机和路由器的区别
路由器相当于邮局,把信投递到收件人地址,它的任务就完成了。但是信邮到了你们宿舍楼,而这个地址不是你一个人专享的,所以楼管王大爷还要负责把信给到你手里,他不会关心收件人地址,只看收件人姓名,然后打个内线电话叫你来取信。如果没有邮局,你没法向世界各地的漂亮妹子们发信,也没法从楼外的漂亮妹子那里收信。但是因为楼管王大爷的存在,你仍然可以通过他与同宿舍楼的好基友书信往来。所有邮局构成的系统,就是“广域网”,而你的宿舍楼,就是“局域网”,构建局域网是不需要路由器的。
前后端通信 跨域 网络协议 DNS CDN HTTPS相关推荐
- pc网站调用微服务器,【微服务】前后端分离-跨域问题和解决方案
跨域问题存在的原因 跨域问题的根本原因:因为浏览器收到同源策略的限制,当前域名的js只能读取同域下的窗口属性.什么叫做同源策略?就是不同的域名, 不同端口, 不同的协议不允许共享资源的,保障浏览器安全 ...
- 前后端分离跨域问题解决方案
问题 因为最近在学习vue和springboot.用到了前后端分离.前端webpack打包运行的时候会启动nodejs的服务器占用8080端口,后端springboot自带tomcat启动占用1111 ...
- 【python学习笔记】关于python Flask前后端分离跨域问题
关于python Flask前后端分离跨域问题 前后端分离过程中,前后端对接测试难免遇到跨域问题.因为是个新司机,所以在我经过一天的测试,才找到解决办法=-= 第一种方法 from functools ...
- Springboot整合Shiro前后端分离跨域问题
Springboot整合Shiro前后端分离跨域问题 前言:SpringBoot整合shiro进行前后端分离开发时(前端是Vue),项目做了跨域配置,但还是前端请求会出现cros err–显示的跨域问 ...
- nginx处理前后端分离跨域问题
在微服务中,通常会使用前后端分离的方式进行开发和部署.由于前后端分开部署,属于不同的"资源",因此前端调用后端API时可能会出现跨域问题,Cross-Origin Resource ...
- cors 前后端分离跨域问题_前后端分离之CORS跨域访问踩坑总结
前言 前后端分离的开发模式越来越流行,目前绝大多数的公司与项目都采取这种方式来开发,它的好处是前端可以只专注于页面实现,而后端则主要负责接口开发,前后端分工明确,彼此职责分离,不再高度耦合,但是由于这 ...
- Nginx的简单使用,配置多前端,多端口【微信小程序+前后端分离跨域解决】
微信小程序 微信小程序需要服务器要有域名,不能有端口,但是我还有一个WebSocket的wss协议路径需要填,都是后台的 示例配置文件,配置https转发http,配置https转发wss user ...
- nginx配置反向代理解决前后端分离跨域问题
2019独角兽企业重金招聘Python工程师标准>>> 摘自<AngularJS深度剖析与最佳实践>P132 nginx配置文件如下: server {listen 80 ...
- cors 前后端分离跨域问题_SpringBoot 实现前后端分离的跨域访问(CORS)
序言:跨域资源共享向来都是热门的需求,使用CORS可以帮助我们快速实现跨域访问,只需在服务端进行授权即可,无需在前端添加额外设置,比传统的JSONP跨域更安全和便捷. 一.基本介绍 简单来说,CORS ...
最新文章
- pandas使用stack函数、map函数、unstack函数以及字典同时替换dataframe多个数据列的内容
- netcat nc端口监听 反向连接中断问题
- android144 360 快捷方式
- Java使用BTrace动态替换线上class文件
- 【转】Direct3D顶点结构使用总结
- 【深度学习】——物体检测细节处理(NMS、样本不均衡、遮挡物体)
- 详解道路标记数据集 CeyMo: See More on Roads -- A Novel Benchmark Dataset for Road Marking Detection
- python双划线_Python中单下划线(_)和双下划线(__)的特殊用法
- 【图论】染色法判定二分图详解
- .Net .Net Core 下使用FastDFS 文件上传下载
- java面向对象是什么意思_java什么是面向对象
- php解析抖音视频链接,PHP抖音视频无水印解析接口
- html页面默认字体有哪些,html网页默认字体 - niuhongxia的个人空间 - OSCHINA - 中文开源技术交流社区...
- 【Harmony OS】【ArkUI】ets开发 基础页面布局与数据连接
- 20189319《网络攻防》第二周作业
- MaixII-Dock(v831)学习笔记——初识v831
- python 判断两个列表间是否具有包含关系以及获取子列表在父列表中的索引
- java数组可以包含对象吗_数组可以包含对象类型的元素吗_对象数组
- 函数基(function basis)
- DynamoDB 小结