刷到了一篇web相关的入门贴。解答了一些多年来的疑惑。这是一些在阅读过程中的笔记记录.
参考链接:
https://www.jianshu.com/nb/4686146
服务器/客户机 ---->浏览器
JavaScript与Java没有任何关系
Node.js:一个javaScript运行环境
框架(FrameWork):由基本原料做成的工具
Java框架:J2EE、Spring等
DataBase:数据基地
※※※※※
J2EE技术架构
关系型数据库:MySql、SQLServer、Oracle
非关系型数据库:键值、列存储、文档型数据库、图形数据库
SQL:(Structured Query Language) 结构化查询语言
是一种介于关系代数和关系演算之间的语言
参考连接
科德十二定律(Codd’s 12 rules):关系数据库
数据库:关系运算整理大全(包括关系代数、元组关系演算、域关系演算)
关系型数据库:SQL语言
SQL 教程
动态网站工作原理请求图:
222222222222222222222222222222222222
响应式网站和移动应用
移动应用(app,application)的出现,得益于触屏手机和平板的广泛使用。所以需要对我们的程序进行改变
- 两种方法
- 优化网站,让其适应手机和平板和网页端
- 只用原生 app(Native application)
- web app :Mobile Website,专门针对移动端设置的app
第一种方法又叫响应式网站,不同的页面上显示的内容和大小均不相同
响应式设计:Responsive Web design。使得网站可以自适应屏幕大小,在电脑,平板和手机上呈现方式不一样。
响应式网站优缺点:
优点 | 缺点 |
---|---|
一个网站:适应所有设备 | 不一定适合所有用户 |
一个URL:更容易被找到 | 新技术:老浏览器可能不支持 |
容易做搜索引擎优化 | |
易于营销 | |
成本低 |
一个website是如何工作的? -> 深入了解website背后的网络
网络:(network,泛指web和各台机器之间交流)
【机器】
- 客户机 (终端) : 手机、电脑、平板等
- 服务器 (server):拥有网站的电脑
数据中心( Data Center ) ≈ 机房
| 服务器的家
|—> 服务器机柜 x m -->服务器 x n + 网线
服务器:生成网页、与数据交互、发送网页给客户机
附加
- 服务器维护工程师(System Administator )
- 海底光缆 ( submarie optical Fiber Cable )
世界绝大部分网络都是走的海底光缆
可以把全球各地的网络看成是一张巨大的局域网,海底和陆上光缆将它们连接成为互联网。
光缆是互联网的“中枢神经”,美国是互联网的大脑
域名为.com 、.net 的网站,都要在美国的服务器上绕一圈才能回到相应的目的地
全世界第一条海底电缆是 1850 年在英国和法国之间铺设。
在web中,世界各地有无数台机器,有的是客户机,有的是浏览器。
问 :那么,机器之间是如何找到和分辨彼此的?
答:使用ip地址。
IP地址( Internet Protocol,互联网协议)
| IP地址是用来表示每一台连接web的机器的唯一标识
|—> ip地址是每台机器的唯一标识 (e.g: 电话 : 电话号码)
IPV4 &IPV6
IPV4 &IPV6 : IP地址的不同版本 v(version, v4:第四版 v6 :第六版)
- IPV4 : 32位,共有2^32个ip地址 ,4段,8位/段(范围:0~255)
例:159.226.13.1 - PV6 :128 位 ,共有2^128个ip地址 8段,16位/段(范围:0~65535)
例:1080:0000:0000:0000:0008:0800:200C:417A
目前为止,互联网上的IPV4已全部分配完。
IPV6 相当于 IPv4 地址空间的 4 次幂。
域名
ip地址难记,需要使用人类易于记忆的名字来代替数字
=> 使用一个域名(domain name)来代替
e.g: 205.87.177.26 = goole.com
但是服务器只认识ip地址。所以需要一个将域名转换成ip地址的东西
=> 中间人:(DNS,Domain Name System,域名系统)
域名系统:是一个将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网
e.g: 205.87.177.26 ------dns-----> goole.com
DNS: 域名解析器 + 域名服务器
【域名服务器】
- 保存这个网络中所有主机域名和对应地址
- 具有将域名转换为ip地址的功能
每个域名必须有一个Ip地址。反之不成立
语言:
- 客户端语言(HTML、CSS、JS)
- 服务器语言(PHP、Java、Python…)
–网络中,机器之间不能通过客户端语言和服务器语言进行通话
==>web中各个机器需要说同一种语言,才能进行交流
因此,发明了被称为“协议(protocol)”的通信规范
web中的机器只要遵循相同的协议,就可以互相交流
TCP和UDP协议
TCP/IP协议是web领域最为重要的底层协议
- TCP:
TCP:( Transmission Control Protocol )(传输层控制协议)
- 是一个端到端(peer to peer )的传输层协议。在应用层和网络层之间
- 在数据传输之前,由TCP模块在运行在不同主机上的两个应用程序间建立连接(虚拟链接),然后得TCP/IP报文在这个连接的基础上,进行传输
- TCP协议在IP协议的服务基础上,提供面向连接的,可靠的,全双工的数据流传服务
- IP
IP:( Internet Protocol )(互联网协议,网络协议)
- TCP/IP 协议的心脏,网络中最重要的协议
- IP层接收由更底层(网络接口层,例:以太网设备驱动程序)发来的数据包,并把该数据发送到更高层—TCP或UCP层
- 而且,IP层也把从TCP&UDP层接收到的数据包传递给更底层。
- UDP
UDP:( User Datagram Protocol )(传输层控制协议)
OSI参考模型中一种无连接的传输协议
- 用于不要求分组的顺序到达的传输中
- 分组传输顺序的检查与排序由应用层完成
- 提供面向事物的简单不可靠信息传输服务
················································································
姓名 | 成就 |
---|---|
蒂姆·伯纳斯·李(Tim Berners-Lee) | 万维网的发明者,互联网之父 |
温顿·瑟夫(Vint Cerf ) | TCP/IP协议和互联网架构的联合设计者之一 |
罗伯特・卡恩Robert Elliot Kahn | TCP/IP协议合作发明者 |
············································································
HTTP&HTTPS&FTP&SMTP
-
HTTP
HTTP:( HyperText Transfer Protocol )(超文本传输协议)
1.所有www文件都必须遵守这个标准
2.http设计的目的是为了提供一种发布和接收html页面的方法
3.正常情况下,http的交换信息(返回码:200,成功)
e.g. http://www.baidu.com/ -
HTTPS
HTTPS:( HyperText Transfer Protocol Secure )(安全的超文本传输协议)
1.比http多加了一层安全防护
2.https在http的基础上,添加了SSL/TL握手及数据加密传输
3.也属于应用协议 -
FTP
FTP:( File Transfer Protocol)(文件传输协议)
1.一套允许文件在不同的Internet计算机之间进行交换的规则
2.用来将文件从一台计算机传递到另一台
3.可以将本地的网页程序等传递到服务器。也可以将服务器上的数据(网页、程序等)传回到自己的电脑 -
STMP
STMP:( Simple Mail Transfer Protocol)(文件传输协议)
1.用于由源地址到目的地址传输邮件的规则
2.控制信件的中转方式
3.属于TCP/IP协议簇,帮助计算机在发送或中转时找到下一个目的地
各种协议(Protocol)规定了 Web 中的各台机器如何通信。
- Front End (前端,web前端程序员)
— 网页外观 (html css javascript) - Back End (后端,web后端程序员)
—负责网站服务器端的编写和维护(java python) - QA Manager(质量保证,Quality Assurance )
– 负责网站正确运行
– 对网站质量进行监控 - SA(系统管理员,System Administrator)
–保web的服务器可以正常运作,负责硬件的维修和管理
–熟悉linux技术 - Full Stack
–全站程序员&全栈工程师
–熟悉以上全部内容