Linux下WEB基础与http协议
一,域名概述
1,域名的概念
- IP地址不易记忆
- 早期使用HostS文件解析域名
- 主机名重复
- 主机维护困难
- DNS(域名解析系统)
- 分布式
- 层次性
2,域名的空间结构
- 根域
- 顶级域
- 组织域
- 国家/地区域名
- 二级域名
- FQDN=主机名,DNS后缀
3,域名注册
- 域名注册是internet中用于解决地址对应问题的一种方式
- 遵循先申请先注册原则
- 域名注册步骤
二,网页的概念
1,网页
- 纯文本格式文件
- 编写语言为html
- 在用户的浏览器中被“翻译”成网页形式显示出来
2,网站
由一个一个页面构成,是多个网页的结合体(存放网页的位置)
3,主页
打开网站后出现的第一个网页称为网站主页(或首页)
4,域名
浏览网页时输入的网址
5,Http
用来传输网页的通信协议
5,URL
是一种万维网寻址系统
6,HTML(超文本传输协议)
用来编写网页的超文本标记语言
7,超链接
超链接是将网站中不通网页链接起来的功能
8,发布
将制作好的网页上传到服务器供用户访问的过程
三,html概述
1,HTML超文本标记语言
- hyper text markup language
- 网页的源码
2,浏览器:解释执行html源码的工具
3,html文档的结构
- html网页
<html></html>
- 头部部分:
<head></head>
- 标题部分 :
<title></title>
- 主体部分 :
<body></body>
- 网页内容,包括文本,图像等
- 头部部分:
4,网页的基本标签
网页摘要信息的作用
- 有利于浏览器解析
- 有利于搜索引擎搜索
标签
- 标题标签
- 行控制相关标签
- 范围标签
- 图像标签
- 超链接标签
- 特殊符号标签
注: 
;空格"
:引号©
;商标符号>
; 大于号<
; 小于号&
; &符号
5,web概述
-
web即全球广域网,也称为万维网
-
一种分布式图形信息系统
-
建立在internet上的一种网页服务
-
web1.0
- 以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容
- 这个过程是网站到用户的单向行为
-
web2.0
- 更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者
- 加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与
web2.0的特征:用户分享,以兴趣为聚合点的社群,开放的平台,活跃的用户
6,静态网页
- 静态网页时标准的html文件,纯粹html格式的网页通常被称为静态网页
- 扩展名是html, .htm
- 文本,图像,声音,flash动画,客户端脚本和activex控件及java小程序等
- 是网站建设的基础,早期网站一般都是由静态网页制作
- 没有后台数据,不含程序和不可交互的网页
- 相对更新起来比较麻烦,适用于一般更新较少的展示型网站
静态网页的特点:
- 静态网页相对比较稳定,容易被搜索引擎检索
- 静态网页交互性比较差,在功能方面有较大的限制
- 每个静态网页都有一个固定的url,且url以.htm,html,shtml等常见形式为后缀,而并不含有?
- 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的
- 静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时,完全依靠静态网页制作方式比较困难
- 页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面
7,动态网页
- 网页url不固定,能通过后台与用户交互
- 在动态网页网址中有一个标志性的符号—“?”
- 常用的语言有php,jsp,python,ruby等
动态网页的特点
-
交互性
- 网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后web发展的大势所趋
-
自动更新
- 无须手动的更新html文档,便会自动生成新的页面,可以大大节省工作量
-
因时因人而变
- 当不同的时间,不同的人访问同一网址时会产生不同的页面
二,http概述
- http协议是互联网上应用最为广泛的一种网络协议,设计这个协议的目的是为了发布和接收web服务器上的html页面
- http协议版本
- http 0.9
- http 1.0
- http 1.1
- http 2.0 (此版本现在被广泛使用)
1,Http方法
-
http支持几种不同的请求命令,这些命令被称为http方法
-
每条http请求报文都包含一个方法,告诉服务器要执行什么动作
- 获取一个web页面
- 运行一个网关程序
- 删除一个文件等
-
http协议有多种获得web资源的方法
-
常用的方法:get和post
http方法 | 描述 |
---|---|
get | 请求获取request-ur所标识的资源 |
put | 请求服务器存储一个资源,并用request-UR作为其标识 |
delete | 请求服务器删除request-URL所标识的资源 |
post | 在request-url 所标识的资源后附加新的数据 |
head | 请求获取由request-url所标识的资源的响应消息报头 |
(1)get方法
get方法: 从指定的服务器上或得数据
+ get请求能被缓存
+ get请求会保存在浏览器的浏览记录里面
+ get请求有长度的限制
+ 主要用于获取数据
+ 查询的字符串会显示在url中,不安全
(2)post方法
post方法:提交数据给指定服务器处理
+ Post请求不能被缓存
+ post请求不会保存在浏览器的浏览记录里面
+ post请求没有长度限制
+ 查询的字符串不会显示在url中,比较安全
(3)http状态码
- 当使用浏览器访问某一个url,会根据处理情况返回相应的处理状态
- 通常正常的状态码为2xx,3xx(如200)
- 如果出现异常会返回4xx,5xx (如404)
状态码首位 | 已定义范围 | 分类 |
---|---|---|
1xx | 100-101 | 信息提示 |
2xx | 200-206 | 成功 |
3xx | 300-305 | 重定向 |
4xx | 400-415 | 客户分端错误 |
5xx | 500-505 | 服务器错误 |
生产环境常见的http状态码
消息 | 描述 |
---|---|
200 OK | 请求成功(其后是对get和post请求的应答文档) |
301 moved permanently | 请求的永久页面跳转 |
403 forbidden | 禁止访问该页面(策略阻止) |
404not found | 服务器无法找到被请求的页面 |
500 internal server error | 内部服务器错误 |
502 bad gateway | 无效网关 |
503 service unavailable | 当前服务不可用 |
504gateway timeout | 网关请求超时 |
(4)http协议请求流程分析
http请求消息报文格式
- http请求消息报文格式包括:请求行,请求头,请求体
1,get /mattmarg/http/1.1请求目录
2,user-agent:mozilla/2.0(macintosh;i;ppc)浏览器标识
3,accept: text/html; * / *
4,cookie:name = value
5,referer: http://www.xxx.com/a.html
http响应消息报文格式
- http响应消息报文格式包括:状态行,响应头,响应体