Web基础与HTTP协议
一.Web基础
1、域名概述
(1)域名的概念
IP地址不易记忆
(2)早期使用Hosts文件解析域名
- 主机名称重复
- 主机维护困难
(3)DNS(Domain Name System 域名系统)
- 分布式
- 层次性
(4)域名空间结构
- 根域
- 顶级域
组织域
国家/地区域名
- 二级域名
- FQDN=主机名.DNS后缀
2、网页
(1)网页
- 纯文本格式文件
- 编写语言为HTML
- 在用户的浏览器中被“翻译”成网页形式显示出来
(2)网站
由一个一个页面构成的,是多个页面的结合体
(3)主页
打开网站后出现的第一个网页称为网站主页(或首页)
(4)域名
浏览网页时输入的网址
(5)HTTP
用来传输网页的通信协议
(6)URL
是一种万维网寻址系统
(7)HTML
用来编写网页的超文本标记语言
(8)超链接
超链接是将网站中不同网页链接起来的功能
(9)发布
将制作好的网页上传到服务器供用户访问的过程
3、HTML
(1)HTML超文本标记语言
- Hyper Text Markup Language
- 网页的“源码”
(2)浏览器:“解释和执行” HTML源码的工具
(3)HTML文档的结构
- HTML网页
头部部分
标题部分
主体部分
网页内容,包括文本、图像等
3、网页基本标签
(1)网页摘要信息的作用
- 有利于浏览器解析
- 有利于搜索引擎搜索
(2)< title >标签
(3)< meta > 标签
(4)基本标签-2
- 标题标签
- 行控制相关标签
- 范围标签
- 图像标签
- 超链接标签
- 特殊符号
4、Web概述
- Web(World Wide Web) 即全球广域网,也称为万维网。
- 一种分布式图形信息系统
- 建立在Internet上的一种网络服务
5、Web1.0 vs Web2.0
Web1.0
- 以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容
- 这个过程是网站到用户的单向行为
Web2.0
- 更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者
- 加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与
- Web2.0特征
用户分享、以兴趣为聚合点的社群、开放的平台,活跃的用户
6、静态网页
(1)概念
- 静态网页是标准的HTML文件
- 扩展名是.htm、.html
- 文本、图像、声音、Flash动画、客户端脚本和ActiveX控件及JAVA小程序等
- 是网站建设的基础,早期网站一般都由静态网页制作
- 没有后台数据库、不含程序和不可交互的网页
- 相对更新起来比较麻烦,适用于一般更新较少的展示型网站
(2)特点
- 每个静态网页都有一个固定的URL,且URL以.htm、.html、.shtml等 常见形式为后缀,而不含有“?”
- 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的
- 静态网页的内容相对稳定,容易被搜索引擎检索
7、动态网页
(1)概念
- 网页URL不固定,能通过后台与用户交互
- 在动态网页网址中有一个标志性的符号——“?”
- 常用的语言有PHP、JSP、Python 、Ruby等
(2)特点
- 交互性
网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋
- 自动更新
无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量
- 因时因人而变
当不同的时间,不同的人访问同一网址时会产生不同的页面
二.HTTP协议
1、HTTP协议概述
- HTTP协议是互联网应用最为广泛的一种网络协议,设计这个协议的目的是为了发布和接收Web服务器上的HTML页面
- HTTP协议的版本
HTTP 0.9
HTTP 1.0
HTTP 1.1
HTTP 2.0
HTTP1.0和HTTP1.1之间的区别
()缓存处理
在HTTP1.0中主要使用header里的If-Modified-Since,Expires来作为缓存判断的标准
2、HTTP方法
-
HTTP协议有多种获得Web资源的方法
-
常用的方法:GET和POST
(1)GET方法
- 请求行
请求的方式
请求的资源路径
请求的版本协议号
- 请求头(描述信息/标准化信息)
Accept:客户端可以接受的数据类型
Accept-Language:客户端可以接受的语言类型
User-Agent:浏览器的信息
Accept-Encoding:客户端可以接受的编码格式
Host:表示请求的ip和端口号
Connection:告诉服务器请求连接如何处理
Keep-Alive:通知服务器回传数据不要马上关闭,保持一小段的连接
(2)POST请求方式
- 请求行
请求的方式
请求的资源路径
请求的协议的版本号
- 请求头
Accept:客户端可以接受的数据类型
Accetp-Language:客户端可以接受的语言类型
Referer:表示请求发起时,浏览器地址栏中的地址
User-Agent:浏览器的信息
Content-Type:发送的数据类型
Content-Length:发送的数据长度
- 请求体:就是发送给服务器的数据
(3)GET与POST区别
区别一:语义上的区别
GET向服务器请求数据,依照HTTP协议,GET是用来请求数据
POST向服务器发数据,依照HTTP协议,POST的语义是向服务器添加数据,也就是说按照POST的语义,该操作是会修改服务器上的数据
区别二:服务器请求的区别
GET请求是可以被缓存,示例:访问百度,访问的方式就是GET,此时访问后的内容会被缓存在浏览器中,短时间再次访问,其实是拿到的浏览器的缓存内容。
另外GET请求只能接收ASCII码的回复
POST请求是不可以被缓存的。对于POST方式提交表单,刷新页面浏览器会弹出提示框“是否重新提交表单”
POST可以接收二进制等各种数据形式,所以如果要上传文件一般用POST请求
区别三:参数放请求头和请求体的差别
GET请求通常没有请求体(也是可改的),在TCP传输中只需传输一次(而不是)