一、http、url、cmd命令
一、dos命令初接触
- ipconfig / ipconfig -all 查看本机IP信息,物理地址等
本机的内网IP地址 :172.18.0.224
子网掩码:255.255.252.0
默认网关:172.18.0.1
物理地址(MAC地址):50-7b-9D-Ad-4D-C4 (链接网络后,每一台电脑都有一个全世界唯一的地址)
DNS服务器:202.106.0.20 / 202.106.196.115
若链接的是同一个WIFI,这样的话你们的子网掩码和默认网关一般都是相同的,
IP地址前面的一致,只是后面的不一致,在同一个局域网内,通过各自的IP可以互相访问
- ping www.baidu.com / ping www.baidu.com -t 查看当前网速
- 文件及文件目录操作命令:
- dir 查看当前目录下的所有的文件夹和文件
- cd Desktop(文件夹) 进入到指定的文件夹下
- D: 直接进入到D盘(不管当前在哪个目录下)
- cd ../ 返回上一级目录
- cd ./ 还是当前的目录
- cd / 返回根目录
- mkdir css 创建一个文件夹(文件夹叫做css)
- rmdir css 删除一个文件夹(需要保证文件夹下是空的)
- touch xxx.xx 创建一个文件(任何后缀都可以)
- del xxx.xx 删除一个文件
- copy con xxx.xx 创建一个文件,而且继续给文件中编辑内容,当内容编辑完成后,按 Ctrl+z 然后再按 Enter 完成创建和内容的写入
在指定文件目录下打开DOS窗口
1、通过WIN+R是在当前电脑用户的默认目录下打开DOS窗口,在当前文件夹,我们只能操作这个目录下的文件,例如:C:\Users\wang 我能操作这个目录下的文件
2、 文件目录的空白处,Shift + 鼠标右键 => 在此处打开命令窗口
3、在当前目录的地址栏中输入:cmd
...
- 其他一些小命令
- ctrl + C 结束当前正在运行的命令和操作
- cls 清屏
- exit 退出当前窗口
- 按住上下键可以快速翻阅之前编写过的命令(DOS窗口不关)
二、前后端交互
1、网页呈现的过程
两大阶段
request:
- 域名上传到DNS服务器解析,得到服务器端的ip地址
- 通过ip找到服务器
- 通过端口找到对应的服务
- 通过url中的请求文件物理地址信息找到对应的文件
response:
- 服务器端将文件源代码返回给客户端
- 客户端浏览器解析和渲染源代码,将页面呈现给客户
-
在这个交互的过程中,客户端可以把内容传递给服务器,服务器也可以把内容返回给客户端,客户端和服务器端的内容传输,基本上都是交给HTTP(HTTPS)传输协议来完成的
-
客户端和服务器端相互传输的内容统称为:HTTP报文
-
客户端把内容传递给服务器和服务器把内容传输给客户端都是有很多方式的
2、一个完整的url
例子:http://www.zhufengpeixun.cn:80/index.html?name=zxt&age=28#happy
第一部分:传输协议
传输协议就是用来实现客户端和服务器之间的内容传输的
-
HTTP:超文本传输协议,也就是不仅仅可以传递文本内容,还可以传递二进制编码或者文件流编码(图片、音视频...)等内容
-
HTTPS:更加安全的HTTP,HTTP SSL 给传递的内容进行了加密,一般来说需要金钱支付的网站都是HTTPS协议
-
FTP:传输大的内容(例如:把项目资源文件上传到服务器...)
-
...
第二部分:域名
相当于给不好记忆的主机IP地址起一个好记忆的名字
-
一级域名:www.qq.com
-
二级域名:sports.qq.com
-
三级域名:kbs.sports.qq.com
-
...
第三部分:端口号
-
用来区分同一台服务器上的不同服务的,端口号取值范围:0~65535之间
-
HTTP默认端口号80
-
HTTPS默认端口号是443
-
FTP默认端口号是21
第四部分:客户端请求资源文件的路径名称
-
例如:/index.html 、 /js/index.js .... 客户端指定请求的路径名称,服务器端根据这个信息吧具体的文件中的源代码读取到然后给客户端返回即可
-
当我们没有指定的情况,大部分情况默认请求的都是项目根目录下的index.html,也就是默认会增加 /index.html (当然这个默认的值是服务器可以修改配置的)
第五部分:问号传参
-
URL地址栏问号传参,通过这种方式,客户端可以把一些信息传递给服务器,在当前的案例中,客户端就把name=zxt以及age=28传递给服务器了
-
一个URL中只能出现一个问号,多组内容之间用&隔开
在真实项目中,我们有一个列表页面,列表页面中有很条内容,点击每一条内容进入到详情页面,详情页面展示的是不一样的内容:
首先我们需要知道的是,详情页面是同一个HTML页面
如何在详情页面中展示不同的内容呢?
- 通过的就是问号传递参数
- 击列表页面中的某一条记录,跳转到详情页面的时候,我们在URL的末尾用?传递点值
- 点击不同的数据,传递的值不一样
- 进入到详情页面,我们首先获取到URL中问号传递的参数值
- 通过不同的参数值获取到不同的数据来展示
第六部分:哈希值(HASH) #happy
-
URL锚点定位:定位到当前页面中ID为HASH值的盒子的位置
-
通过HASH值把内容传递给服务器(等同于问号传递参数的作用),一般都用问号传递参数,很少用这个
在单页面应用中,通过HASH值的不同,实现前端路由切换
ps: URL释义
URI:统一资源标识符
URL:统一资源定位符
URN:统一资源名称
URI = URL + URN
实际上这里的URL应该叫做uri,只是在习惯上我们都成为url
3、查看资源请求
在谷歌浏览器控制台的Network选项中,可以查看到当前客户端和服务器端所有的交互请求信息
浏览器拿到“源代码”后进行渲染和解析:把我们开发者编写的那一大堆别人看不懂的代码渲染为别人能看的见的页面,浏览器是如何的渲染的?(浏览器的内核或者渲染引擎)
- IE浏览器:Trident
- 火狐浏览器(Firefox):Gecko
- 谷歌浏览器(Chrome):webkit(v8) =>Safari
- 欧朋浏览器(Opera):Presto
- 国产浏览器
- PC:360浏览器(急速)、猎豹浏览器、QQ浏览器、搜狗浏览器、世界之窗、遨游、腾讯TT... 都是皮肤比别的浏览器好看,使用的内核都是IE和谷歌的内核
- 移动:所有移动端的浏览器(安卓系统和IOS系统),都是webkit内核的,所以后期的移动端开发我们不需要考虑IE等浏览器
W3C:万维网联盟,制定开发规范和标准的地方
- 作为一名合格的开发者,我们需要按照规范编写代码
- 浏览器开发商,也会按照标准来渲染
我们加载一个页面,首先客户端从服务器端获取到首页面的“HTML源代码”,浏览器开始自上而下的去解析,在解析的过程中遇到 link、script、img、audio、video、iframe...等标签的时候,会重新的向服务器发送新的请求,然后在把所需要的资源文件请求回来 =>"完成一个页面的渲染客户端需要向服务器发送很多次HTTP请求才可以"
HTTP报文
HTTP事物:一次完整的客户端与服务器端的交互
HTTP报文:客户端与服务器端相互传递的内容都叫HTTP报文,报文分3部分:
- 起始行:请求起始行,响应起始行
- 首部(Headers):请求头(Request Headers),响应头(Response Headers),通用头(General,请求与响应都存在),自定义请求头,自定义响应头
- 主体:请求主体(Request Payload),响应主体(Response)
HTTP报文在哪里查看?
在Chrome中,打开控制台 -> Network -> 某一个请求 -> Headers
前端优化:
减少HTTP请求次数和请求内容的大小:
- CSS/JS进行合并压缩,样式或者JS都压缩成为一个文件,然后再导入
- 对于简单的项目(尤其是移动端)我们最好把CSS和JS都采用内嵌方式引入
- 雪碧图(图片精灵、sprite) 把一些小图合并到一张大图上,然后通过背景定位来使用
- 图片延迟加载(在第一次打开页面的时候不加载真实图片,当页面加载完成后在开始加载真实的图片)
- ...
代码性能优化
安全优化
平日的学习笔记,不断完善中,欢迎交流指正~