客户端和服务器端
客户端:可以向服务器发请求,并接收返回的内容进行处理 服务器端:能够接收客户端请求,并且把相关资源信息返回给客户端的
URI/URL/URN
- URL(Uniform Resource Locator):统一资源定位符,根据这个地址能找到对应的资源
- URN(Uniform Resource Name):统一资源名称,一般指国际上通用的(标准的)一些名字(例如:国际统一发版的编号)
- URI(Uniform Resource Identifier):统一资源标识符,URL和URN是URI的子集
一个完整的URL所包含的内容
-
协议(http://):传输协议就是,能够把客户端和服务器端通信的信息,进行传输的工具(类似于快递小哥)
- http 超文本传输协议,除了传递文本,还可以传递媒体资源文件(或者流文件)及XML格式数据
- https 更加安全的http,一般涉及支付的网站都要采用https协议(s:ssl 加密传输)
- ftp 文件传输协议(一般应用于把本地资源上传到服务器端)
-
域名(www.zhufengpeixun.cn):一个让用户方便记忆的名字(不通过域名,直接用服务器的外网IP也能访问到服务器,但是外网IP很难被记住)
- 顶级域名 qq.com
- 一级域名 www.qq.com
- 二级域名 sports.qq.com
- 三级域名 kbs.sports.qq.com
- .com 国际域名
- .cn 中文域名
- .com.cn
- .edu 教育
- .gov 政府
- .io 博客
- .org 官方组织
- .net 系统类
-
端口号(:80):端口号的取值范围0~65535,用端口号来区分同一台服务器上的不同项目
- http默认端口号:80
- https默认端口号:443
- ftp默认端口号:21
- 如果项目采用的就是默认端口号,我们在书写地址的时候,不用加端口号,浏览器在发送请求的时候会帮我们默认给加上
-
请求资源路径名称(/stu/index.html)
- 默认的路径或者名称 (xxx.com/stu/ 不指定资源名,服务器会找默认的资源,一般默认资源名是default.html、index.html...当然这些可以在服务器端自己配置)
- 注意伪URL地址的处理(URL重写技术是为了增加SEO搜索引擎优化的,动态的网址一般不能被搜索引擎收录,所以我们要把动态网址静态化,此时需要的是重写URL) item.jd.hk/2688449.htm… => item.jd.hk/index.php?i…
-
问号传参信息(?from=wx&lx=1)
- 客户端想把信息传递给服务器,有很多的方式
- URL地址问号传参
- 请求报文传输(请求头和请求主体)
- 也可以不同页面之间的信息交互,例如:从列表到详情
- 客户端想把信息传递给服务器,有很多的方式
-
HASH值(#zhenyu)
- 也能充当信息传输的方式
- 锚点定位
- 基于HASH实现路由管控(不同的HASH值,展示不同的组件和模块)
DNS服务器域名解析
DNS服务器:域名解析服务器,在服务器上存储着 域名<=>服务器外网IP 的相关记录 而我们发送请求时候所谓的DNS解析,其实就是根据域名,在DNS服务器上查找到对应服务器的外网IP
DNS优化
- DNS缓存(一般浏览器会在第一次解析后,默认建立缓存,时间很短,只有一分钟左右)
- 减少DNS解析次数(一个网站中我们需要发送请求的域名和服务器尽可能少即可)
- DNS预获取(dns-prefetch):在页面加载开始的时候,就把当前页面中需要访问其他域名(服务器)的信息进行提前DNS解析,以后加载到具体内容部分可以不用解析了
HTTP报文
- 请求报文:所有经过传输协议,客户端传递给服务器的内容,都被成为请求报文
- 起始行
- 请求头(请求首部)
- 请求主体
- 响应报文:所有经过传输协议,服务器返回给客户端的内容,都被成为响应报文
- HTTP状态码
- 响应头
- 响应主体
- HTTP报文:请求报文+响应报文