Web 基础与HTTP 协议
前言
随着互联网的飞速发展,企业信息化应用大多已采用网页的形式构建,掌握网页的相关知识和HTTP的请求流程,是掌握互联网技术的第一步。
一、Web 基础
1.1、域名和DNS
1.1.1、域名的概念
•IP地址不易记忆
1.1.1.1、域名的结构
1.1.1.2、域名结构类型
(1)根域
(2)*域:
组织域
国家/地区域名
(3)二级域
(4)FQDN=主机名DNS后缀
1.1.2、Hosts 文件
Hosts 文件是一个用于存储计算机网络中节点信息的文件,它可以将主机名映射到相应的IP地址,实现DNS的功能,它可以由计算机的用户进行修改控制。
早期使用Hosts文件解析域名
•主机名称重复
•主机维护困难
优点:可以帮你解析主机名跟域名,方便了使用
缺点:维护比较困难,条目是人工一条条添加的,修改要人工切进去修改,管理层面是比较麻烦的
1.1.3、DNS
在互联网上域名与IP地址之间是一一对应的,域名虽便于人记忆,但机器之间只能互相认识IP地址,他们之间的转换工作称为域名解析,域名解析要由专门的域名解析系统来完成,DNS就是进行域名解析的系统。
主机名到IP地址的映射由两种方式
(1)静态映射
(2)动态映射
通过主机名,最终得到该主机名对应的IP地址的过程叫作域名解析。DNS是有分布式,层次性的。
1.1.4、域名注册
•域名注册是internet中用于解决地址对应问题的一种方法
•遵循先申请先注册原则
•域名注册步骤
1.2、网页与HTML
网页是构成网站的基本元素,是承载各种网站应用的平台,网页是由HTML(超文本标记语言)编写的,通俗来说,网站就是由网页组成的,如果您只有域名和虚拟主机而没有制作任何网页的话,客户仍旧无法访问您的网站。
1.2.1、网页概述
(1)网页
纯文本格式文件
其编写语言为HTML
在用户的浏览器中被“翻译”成网页形式显示出来
(2)网站
由一个一个页面构成的,是多个网页的结合体
(3)主页
打开网站后出现的第一个网页成为网站主页(或首页)
(4)域名
浏览网页时输入的网址
(5)HTTP协议
用来传输网页的通信协议
http:80端口
https:443端口
也有ftp:// 20或21端口
(6)URL
是一种万维网寻址系统
(7)HTML
用来编写网页的超文本标记语言
(8) 超链接
超链接是将网站中不同网页连接起来的功能
(9)发布
将制作好的网页上传到服务器供用户访问的过程
1.2.2、HTML 概述
HTML超文本标记语言
•Hyper text markup language
•网页的“源码”
浏览器:“解释和执行” HTML源码的工具
1.2.3、HTML 基本标签
网页基本标签
1.2.4、Web 概述
web (world wide web)即全区广域网,也称为万维网
一种分布式图形信息系统
建立在Internet上的一种网络服务
1.2.5、Web 1.0 vs Web 2.0
Web 1.0
以编辑为特征,网站提供给用户的内容是编辑处理后提供的,然后用户阅读网站提供的内容。
这个过程是网站到用户的单向行为
Web 2.0
更注重用户的交互作用,用户近视网站内容的消费者(浏览者),也是网站内容的制造者
加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与
Web2.0特征
用户分享,以兴趣为聚合点的社群。开放的平台。活跃的用户
1.3、静态网页与动态网页
1.3.1、静态网页
静态网页是标准的HTML文件
扩展名是.htm、.html
文本、图像、声音、FLASH动画、客户端脚本和Activex控件及JAVA小程序等
是网站建设的基础,早期网站一般都有静态网页制作的
没有后台数据库、不含程序和不可交互的网页
相对更新起来比较麻烦,适用于一般更新较少的展示型网站
1.3.1.1、静态网页的特点
每个静态网页都有一个固定的URL,且URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”
网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件
静态网友的内容相对稳定,因此容易被搜索引擎检索
静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难
静态网页的交互性较差,在功能方面有较大的限制
页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面
1.3.2、动态网页
网页URL不固定,能通过后台与用户交互
在动态网页网址中有一个标志性的符号——“?”
常用的语言有ASP,PHP,JSP等
1.3.2.1、动态网页的特点
交互性
即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋
自动更新
无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量
因时因人而变
当不同的时间,不同的人访问同一网址时会产生不同的页面
二、HTTP 协议
超文本传输协议是互联网上应用最为广泛的一种网络协议,所有的网页文件都必须遵守这个标准。HTTP最初的设计目的是为了提供一种发布和接收HTML页面的方法
2.1、HTTP 协议概述
HTTP协议是互联网上应用最为广泛的一种网络协议
设计这个协议的目的是为了发布和接受web服务器上的HTML页面
HTTP协议的版本
HTTP 0.9
HTTP 1.0
HTTP 1.1
HTTP 2.0
2.2、HTTP 方法
HTTP支持几种不同的请求命令,这些命令被称为HTTP方法(HTTP method)
每条HTTP请求报文都包含一个方法,败诉服务器要执行什么动作
获取一个Web页面
运行一个网关程序
删除一个文件等
HTTP协议有多种获得web资源的方法,常用的有两种:GET和POST
2.2.1、GET 方法
GET方法:从指定的服务器上获得数据
get请求能被缓存
get请求会保存在浏览器的浏览记录里
get请求有长度的限制
主要用于获取数据
查询的字符串会显示在URL中,不安全
2.2.2、POST 方法
POST方法:提交数据给制定法服务器处理
POST请求不能被缓存
post请求不会保存在浏览器的浏览记录里
post请求没有长度限制
查询的字符串不会显示在URL中,比较安全
2.3、HTTP 状态码
当使用浏览器访问某一个URL,会根据请求URL返回状态码
通常正常的状态码为2xx,3xx(如200)
如果出现异常会返回4xx,5xx(如404)
2.3.1、生产环境常见的HTTP 状态码
2.4、HTTP 请求流程分析
2.5、HTTP 请求消息报文格式
HTTP请求消息报文格式包括:请求行、请求头、请求体
1 Get /mattmarg/ HTP/1.1请求目录
2 User-Agent:Mozilla/2.0(Macintosh;I;PPC)浏览器标识
3 Accept:text/html;* / *
4 Cookie:name = value
5 Referer:http://XXX.com/a.html
2.6、HTTP 响应消息报文格式
HTTP响应消息报文格式包括:状态行、响应头、响应体
01 HTTP/1.1 200 OK
02 Server: Microsoft-IIS/5.1
…
06 Accept-Ranges:bytes
07 Last-Modified: Wed, 02 Jul 2008 01:01:26 GMT
08 ETag: “0f71527dfdbc81:ade”
09 Content-Length: 46
10
11 < html >< head >< /head >< body >adfasfa< /body >< /html >