Web 基础与HTTP 协议

前言

随着互联网的飞速发展,企业信息化应用大多已采用网页的形式构建,掌握网页的相关知识和HTTP的请求流程,是掌握互联网技术的第一步。

一、Web 基础

1.1、域名和DNS

1.1.1、域名的概念

•IP地址不易记忆

1.1.1.1、域名的结构

Web 基础与HTTP 协议

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中用于解决地址对应问题的一种方法

•遵循先申请先注册原则

•域名注册步骤
Web 基础与HTTP 协议

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源码的工具
Web 基础与HTTP 协议

1.2.3、HTML 基本标签

Web 基础与HTTP 协议
网页基本标签
Web 基础与HTTP 协议

Web 基础与HTTP 协议

1.2.4、Web 概述

web (world wide web)即全区广域网,也称为万维网

一种分布式图形信息系统

建立在Internet上的一种网络服务
Web 基础与HTTP 协议

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等
Web 基础与HTTP 协议

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
Web 基础与HTTP 协议

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)
Web 基础与HTTP 协议

2.3.1、生产环境常见的HTTP 状态码

Web 基础与HTTP 协议

2.4、HTTP 请求流程分析

Web 基础与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
Web 基础与HTTP 协议

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 >
Web 基础与HTTP 协议