一、web基础
1.1 域名
域名的结构
域名由英文字母和数字组成,每一组不超过63个字母,也不区分大小写字母,除连字符(-)外不能使用其他标点符号,级别最低的域名在最左边,级别最高的在最右边,一个完整的域名最多不超多255个字符。
域名结构类型
1、根域:根服务器,用来管理互联网的主目录,全球共13个,负责全球互联网域名根服务器、域名体系和ip地址等的管理
2、顶级域:包括组织域名和国家/地区域名。(.cn 中国 .jp 日本 .com 商业机构 .net 网络组织 .org 用于各种组织 .edu 教育机构)。
3、二级域名:在顶级域名之前的域名,它是指域名注册人的网上名称,例如:baidu、ibm、yahoo、microsoft等
4、FQDN:即主机名.DNS后缀,是指主机名加上全路径,全路径列出了序列中的所有域成员。
1.2 Hosts文件
Hosts文件是一个用于存储计算机网络中节点信息的文件,它可以将主机名映射到相应的IP地址,实现DNS功能,它可以计算机的用户自己修改控制。
Hosts文件的作用
如果每次访问一个域名都要通过DNS服务器,势必造成DNS服务器的资源浪费,所以每次访问过后的记录会保存在Hosts文件之中,方便下次直接访问,计算机访问域名先通过Hosts文件,再通过DNS服务器。
修改Hosts文件
Windows系统Hosts文件在目录c:\windows\system32\drivers\etc 下面
Centos系统Hosts文件在目录/etc/hosts下面
或者在/etc/resolv.conf下面
亦或者到网卡配置文件里修改/etc/sysconfig/network-scripts/ifcfg-ens33里修改
生效循序:1、hosts文件 2、网卡配置文件 3、/etc/resolv.conf
1.3 DNS
DNS就是域名解析系统。
主机名到IP地址的映射方式有两种:
1、静态映射:每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用。
2、动态映射:建立一套域名解析系统,也就是DNS。只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。
nslookup 域名 查询到域名所对对应的UP地址(也就是解析域名)
1.4 域名注册
域名注册步骤:
准备申请材料→寻找域名注册网站→查询域名→正式申请→申请成功
1.5 网页与HTML
网页
网页是纯文本格式文件,编写语言为HTML或者HTML5,网页是由网址(url)来识别和存取。
网页包含内容:1、文本 2、图像 3、Flash动画 4、声音 5、视频 6、表格 7、导航栏 8、交互式表单
网页基本概念:
1、域名:浏览网页输入的网址
2、HTTP:用来传输网页的协议,在域名前加上http:// 。
3、URL:是一种万维网寻址系统,表示网络上资源的位置路径,?代表加密的
4、HTML:编写网页的超文本标记语言
5、超链接:将不同网页链接到网站的功能
6、发布:将制作好的页面上传到服务器供用户访问的前提。
HTML的概述
HTML叫作超文本标记语言,是一种规范,也是一种标准,它通过标记符来标记要显示的网页中的各个部分。HTML文件可以使用任何能够生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件后缀名为.html或.htm即可。
HTML基本标签
头标签中常用标签
标签 | 描述 |
---|---|
< title > | 定义了文档的标题 |
< base > | 定义了页面链接标签的默认链接地址 |
< link > | 定义了一个文档和外部资源之间的关系 |
< meta > | 定义了HTML文档中的元数据 |
< script > | 定义了客户端的脚本文件 |
< style> | 定义了HTML文档的样式文件 |
内容标签中常用标签
标签 | 描述 |
---|---|
< table> | 定义了一个表格 |
< tr > | 定义了表格中的一行 |
< td> | 定义了表格中的某一行某一列 |
< a > | 定义了一个超链接 |
< br> | 定义了换行 |
< font> | 定义了字体 |
web1.0与web2.0
web1.0
1、web1.0基本采用技术创新主导模式,各家信息技术的发展变革促使网站发展。
2、web1.0的盈利都有一个共同点就是巨大的点击量,依托的都是众多的用户和点击率。
web2.0
1、用户分享。不受时间和地域限制分享各种观点。用户可以得到自己想要的信息,也可以自己发布信息。
2、以兴趣为聚合点的社群。在web2.0模式下,聚集的是对某个或某些问题感兴趣的群体,无形中产生了细分市场
3、开放的平台,活跃的用户。
web1.0是单向行为,网站发布内容供用户去读,而web2.0是双向行为,用户可以从网上获得信息,也可以把信息发布到网上。
静态页面与动态页面
静态页面
静态页面时标准的的HTML文件,扩展名是.htm、.html,没有后台数据库,没有程序,没有可交互的页面,更新起来比较麻烦
动态页面
动态页面URL不固定,能够与用户交互,在动态网页网址中有一个加密的标志性符号“?”,常用语言有PHP、JSP、Python
静态页面的特点
1、都有一个固定的URL,并且URL是以.htm、.html、.shtml等形式后缀,没有“?”
2、网页内容发布后都是保存在网站服务器上。
3、静态页面稳定,容易被引擎检索
4、静态页面没有数据库支持,工作起来比较麻烦
5、静态页面交互性差,在功能方面有很大限制
6、静态页面浏览迅速,因为不用连接数据库
动态页面的特点
1、交互性好
2、自动更新
二、HTTP协议
HTTP是超文本传输协议,是互联网上应用最为广泛的一种网络协议,所有的网页文件都必须遵循这个标准。
HTTP协议概述
HTTP协议采用了请求/响应模型。客户端发送请求,包含了请求方法、URL、协议版本、请求修饰符、客户信息、类似于MIME的消息结构。服务器响应,响应的内容包括协议版本、成功或者错误编码、服务器信息、实体元信息和实体内容。
http协议基于TCP协议的应用层传输协议,使用tcp80端口。
http是一种无状态协议,http本身不会对发送过的请求和相应的通信状态进行持久化处理,为了能够快速处理大量的事务,提高效率。但是为了保持短期持久性,引入了Cookie、session救赎
cookie省服务器性能,session更安全
HTTP协议版本
http0.9:已过时。只接受GET一种请求方法,没有在通信中指定版本号,且不支持请求头,不支持POST方法,所以无法发送太多信息。
http1.0和http1.1的区别
1、http1.1采用跟过的缓存控制策略
2、http1.1支持断点续传功能,引入了range头域,允许值请求资源的某个部分,不需要像1.0中把整个对象传过来
3、增加了错误通知管理
4、HTTP1.1的请求消息和响应消息都支持Host头域
5、http1.1支持长连接和请求的流水线处理,在一个TCP连接上支持传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,默认开启了keep-alive,弥补了http1.0每次请求都要创建连接的缺点
HTTP方法
每条HTTP请求报文都包含一个方法,告诉服务器要执行什么操作,包括获取一个页面、运行一个网关程序、删除一个文件等。
HTTP方法 | 描述 |
---|---|
GET | 请求获取Request-URI所标识的资源 |
PUT | 请求服务器存储一个资源,并用Request-URI作为其标识 |
DELETE | 请求服务器删除Request-URI所标识的资源 |
POST | 在Request-URI 所标识的资源后附加新的数据 |
HEAD | 请求获取由Request-URI所标识的资源的响应消息报头 |
GET与POST区别
1、语义上区别
GET向服务器请求数据,POST想服务器添加、发送数据,修改服务器的内容
2、服务器请求的区别
GET可以被缓存,POST不可以被缓存
3、参数放请求头和请求体的差别
Get请求通常没有请求体,只需要在TCP传输一次,请求效率高
Post请求数据放在请求体里,实际传输中,会等传输完请求头,再传输完请求体,分两次传输,所以效率低。
HTTP状态码
状态码首位 | 已定义范围 | 分类 |
---|---|---|
1xx | 100-101 | 信息提示 |
2xx | 200-206 | 成功 |
3xx | 300-305 | 重定向 |
4xx | 400-415 | 客户端错误 |
5xx | 500-505 | 服务器错误 |
生产环境中常见的HTTP状态码
消息 | 描述 |
---|---|
200 OK | 请求成功 |
301 Moved Permanently | 请求的永久页面跳转 |
403 Forbidden | 禁止访问该页面 |
404 Not Found | 服务器无法找到被请求的页面 |
500 Internal Server Error | 内部服务器错误 |
502 Bad Gateway | 无效网关 |
503 Service Unavailable | 当前服务不可用 |
504 Gateway Timeout | 网关请求超时 |