一:WEB基础
1.1:什么是web?
- Web(World Wide Web)即全球广域网,也称为万维网
- 一种分布式图形信息系统
- 建立在EInternet上的一种网络服务
1.2:web版本
1.2.1:web1.0
- 以编辑为特征,网站提供给用户的内容是编辑处理后提供的,然后用户阅读网站提供的内容。
- 这个过程是网站到用户的单向行为
1.2.2:web2.0
- 更注重用户的交互作用,用户既是网站内容的消费者(浏览者)
也是网站内容的制造者 - 加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与
- 特征:用户分享、以兴趣为聚合点的社群、开放的平台,活跃的用户
二:域名概述
2.1:域名的概念
- IP地址不易记忆
2.2:早期使用 Hosts文件解析域名的难点
- 主机名称重复
- 主机维护困难
2.3:DNS( Domain Name System域名系统)
- 分布式
- 层次性
2.4:域名的空间结构
- 根域
- 顶级域
- 组织域
- 国家/地区域名
- 二级域名
- FQDN=主机名.DNS后缀
- FQDN称之为完全合格域名,形式例如www.taobao.com
taobao.com称之为域名
-
URL:https://www.taobao.com
-
分析http://www.sina.com.cn.
结构部分 | 解释 |
---|---|
. | 根域名 |
com.cn | 顶级域名 |
sina | 二级域名 |
www | 主机位 |
http:// | 协议 |
2.5:域名注册
- 域名注册是Internet中用于解决地址对应问题的一-种方法
- 遵循先申请先注册原则
- 域名注册步骤
准备申请资料→寻找域名注册网站→查询域名→正式申请→申请成功
三:网页的概念
3.1:网页概述
- 网页
- 纯文本格式文件,其编写语言为HTML,在用户的浏览器中被“
翻译”成网页形式显示出来
- 纯文本格式文件,其编写语言为HTML,在用户的浏览器中被“
- 网站
- 由一个一个页面构成的,是多个网页的结合体
- 主页
- 打开网站后出现的第一个网页称为网站主页(或首页)
- 域名
- 浏览网页时输入的网址
- HTTP
- 用来传输网页的通信协议
- URL
- 是一种万维网寻址系统
- HTML
- 用来编写网页的超文本标记语言
- 超链接
- 超链接是将网站中不同网页链接起来的功能
- 发布
- 将制作好的网页上传到服务器供用户访问的过程
3.2:HTML概述
- HTML超文本标签语言
- Hyper Text Markup Language
- 网页的“源码“
- 浏览器:“解释和执行”HTML源码的工具
HTML文档的结构
- HTML网页
- 头部部分
- 标题部分
- 主体部分
- 网页内容,包括文本、图像等
<html>
<head>
<title>我的第一个网页</title>
</head>
<body >
Hello World!
</body>
</html>
3.3:网页的基本标签
网页摘要信息的作用
- 有利于浏览器解析
- 有利于搜索引擎搜索
<title>标签
<meta>标签
< head>
<title>搜狐-中国最大的门户网站
</title>
</head>
< head>
< meta name= " keywords"
content=“山东蓝翔,挖掘机培训”
/>
</head>
-
标题标签
-
行控制相关标签
-
范围标签
-
图像标签
-
超链接标签
-
特殊符号
<h1>静夜思</h1>
<p>床前明月光</p>
疑是地上霜<br />
<span>举头望明月</span>
<img src= "linux.jpg"/>
<a href= "linux.htm" >我是郭德纲</a>
" © >
3.4:静态网页
3.4.1:静态网页概述
- 静态网页是标准的HTML文件
- 扩展名是htm、.html
- 文本、图像、声音、 FLASH动画、客户端脚本和 Activex控件及JAVA小程序等
- 是网站建设的基础,早期网站一般都由静态网页制作的
- 没有后台数据库、不含程序和不可交互的网页
- 相对更新起来比较麻烦,适用于一般更新较少的展示型网站
3.4.2:静态网页特点
- 每个静态网页都有一个固定的URL,且URL以htm、 html、shtm等常见形式为后缀,而不含有“?
- 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件
- 静态网页的内容相对稳定,因此容易被搜索引擎检索
- 静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难
- 静态网页的交互性较差,在功能方面有较大的限制
- 页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面
3.5:动态网页
3.5.1:动态网页概述
- 网页URL不固定,能通过后台与用户交互
- 在动态网页网址中有一个标志性的符号—?”
- 常用的语言有ASP,PHP,JSP,Ruby等
3.5.2:动态网页的特点
- 交互性
- 即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋
- 自动更新
- 即无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量
- 因时因人而变
- 即当不同的时间,不同的人访问同一网址时会产生不同的页面
四:HTTP概述
4.1:基本概念
- HTTP协议是互联网上应用最为广泛的一种网络协议,设计这个协议的目的是为了发布和接收Web服务器上的HTML页面
- HTTP协议的版本
- HTTP 0.9
- HTTP 1.0
- HTTP 1.1
- HTTP 2.0
4.2:HTTP获得Web资源的方法
-
HTTP支持几种不同的请求命令,这些命令被称为HTTP
方法(HTTP method) -
每条HTTP请求报文都包含一个方法,告诉服务器要执
行什么动作
● 获取一个Web页面
● 运行一-个网关程序
● 删除一个文件等 -
HTTP协议有多种获得Web资源的方法,常用的有两种
:GET和POST -
post 更注重安全
get 更注重效率
HTTP方法 | 描述 |
---|---|
GET | 请求获取 Request-URI所标识的资源 |
PUT | 请求服务器存储一个资源,并用 Request-∪RI作为其标识 |
DELETE | 请求服务器删除 Request-URI所标识的资源 |
POST | 在 Request-URI所标识的资源后附加新的数据 |
HEAD | 请求获取由Request-UR所表示的资源的响应消息报头 |
4.2.1:GET方法:从指定的服务器上获得数据
- GET请求能被缓存
- GET请求会保存在浏览器的浏览纪录里
- GET请求有长度的限制
- 主要用于获取数据
- 查询的字符串会显示在URL中,不安全
4.2.2:POST方法:提交数据给指定服务器处理
- POST请求不能被缓存
- POST请求不会保存在浏览器的浏览纪录里
- POST请求没有长度限制
- 查询的字符串不会显示在∪RL中,比较安全
4.3:HTTP状态码
4.3.1:什么是HTTP状态码
- 当使用浏览器访问某一个URL,会根据请求URL返回状态码
- 通常正常的状态码为2xx,3XX(如200)
- 如果出现异常会返回4XX,5XX(如404)
状态码首位 | 已定义范围 | 分类 |
---|---|---|
1XX | 100-101 | 信息提示 |
2XX | 200-206 | 成功 |
3XX | 300-305 | 重定向 |
4XX | 400-415 | 客户端错误 |
5XX | 500-505 | 服务器错误 |
4.3.2:生产环境常见的HTTP状态码
消息 | 描述 |
---|---|
200 OK | 请求成功(其后是对GET和POST请求的)应答文件 |
301 Moved Permanently | 请求的永久页面跳转 |
403 Forbidden | 禁止访问改页面 |
404 Not Found | 服务器无法找到被请求的页面 |
500 Internet Server Error | 内部服务器错误 |
502 Bad Gateway | 无效网关 |
503 Service Unavailable | 当前服务不可用 |
504 Gateway Timeout | 网关请求超时 |
- 403:权限问题,没有权限访问
4.4:HTTP请求流程
4.5:HTTP消息报文格式
4.5.1:请求消息报文格式
-
HTTP请求消息报文格式包括:请求行、请求头、请求体
- Get /mattmarg/ HTTP/1.1请求目录
- User- Agent:Mozilla/2.0( Macintosh;;PPC)浏览器标识
- Accept:text/html;/
- Cookie:name value (记录日志)
- Referer:http://www.xxx.com/a.html(referer:重定向,防止直接访问子界面,从而直接弹回主页面)
-
长连接会有时效性
4.5.2:相应消息报文格式
- HTTP响应消息报文格式包括:状态行、响应头、响应体
- 01HTTP/1.1200oK
- 02 Server:Microsoft-IS/5. 1
- …
- 06 Accept-Ranges:bytes
- 07 Last-Modified:Wed. 02 Jul 2008 01:01:26 GMT
- 08 ETag:Of71527dfdbc81:ade
- 09 Content-Length:46
- 10
- 11 <html><head></head><body>adfasfa</body></html>
4.6:Fiddler抓包工具
- Fiddler是一款抓取HTTP数据包的工具软件,用于分析HTTP报文