web基础与HTTP协议
- 一、web基础
- 1.1、域名概述
- 1.2、早期使用Hosts文件解析域名
- 1.3、DNS(Domain Name System 域名系统)
- 1.4、域名空间结构
- 1.4、网页的概念
- 1.5、HTML概述
- 1.6、网页基本标签
- 1.7、web概述
- 1.8、web 1.0 VS web 2.0
- 1.9、静态网页
- 1.10、静态网页的特点
- 1.11、动态网页
- 1.11、动态网页的特点
- 二、HTTP协议
- 2.1、HTTP协议概述
- 2.2、HTTP方法
- 2.3、GET方法
- 2.4、POST方法
- 2.5、HTTP状态码
- 2.6、生产环境常见的HTTP状态码
- 2.7、HTTP协议请求流程分析
- 2.8、HTTP请求消息报文格式包括:请求行、请求头、请求体
- 2.9、HTTP响应消息报文格式包括:状态行、响应头、响应体
- 三、本章总结
一、web基础
1.1、域名概述
- IP地址不易记忆
1.2、早期使用Hosts文件解析域名
- 主机名称重复
- 主机维护困难
优点:可以帮你解析主机名跟域名,方便了使用
缺点:维护比较困难,条目是人工一条条添加的,修改要人工切进去修改,管理层面是比较麻烦的)
hosts文件位置
Linux的hosts文件位置 :/etc/hosts
Windows的hosts文件位置:C:\Windows\System32\drivers\etc\hosts
早期使用Hosts文件解析域名 (本地解析) 优先级最高 hosts有记录会解析地址
1.3、DNS(Domain Name System 域名系统)
- 分布式
- 层次式
1.4、域名空间结构
- 根域
- 顶级域
1、组织域
2、国家/地区域名 - 级域
- FQDN=主机名DNS后缀
- 域名注册
1.4、网页的概念
-
网站
由一个一个页面构成的,是多个网页的结合体 -
网页
纯文本格式文件,其编写语言为HTML,在用户的浏览器中被“翻译”成网页形式显示出来 -
主页
打开网站后出现的第一个网页成为网站主页(或首页) -
域名
浏览网页时输入的网址 -
HTTP协议
1、用来传输网页的通信协议
2、http:80端口
3、https:443端口
4、也有ftp:// 20或21端口 -
URL
是一种万维网寻址系统 -
HTML
用来编写网页的超文本标记语言 -
超链接
超链接是将网站中不同网页连接起来的功能 -
发布
将制作好的网页上传到服务器供用户访问的过程 -
网页的概念
1、HTML
2、超链接
3、发布
1.5、HTML概述
- HTML超文本标记语言
1、Hyper text markup language
2、网页的“源码” - 浏览器:“解释和执行” HTML源码的工具
- HTML文档结构
1、头部部分
2、标题部分
3、主体部分
4、网页内容、包括文本、图像等
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>我的第一个网页</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
Hello World
</body>
</html>
1.6、网页基本标签
-
网页摘要信息的作用
1、有利于浏览器解析
2、有利于搜索引擎解析 -
< title > 标签
<head>
<title>我的第一个网页</title>
</head>
- < meta >标签
<head>
<meta name="keywords">
content="挖掘机哪家强!"/>
</head>
- 标题标签
< h1 > 静夜思 < h1 >
- 行控制相关标签
< p > 床前明月光 < p >
疑是地上霜<br/>
- 范围标签
< span > 举头望明月 < span >
- 图像标签
< img src=“linux.jpg” >
- 超链接标签
<a href="linux.htm" >低头思故乡</a>
- 特殊符号
 ,",©,>
1.7、web概述
- web (world wide web)即全区广域网,也称为万维网
- 一种分布式图形信息系统
- 建立在Internet上的一种网络服务
1.8、web 1.0 VS web 2.0
-
web 1.0
1、以编辑为特征,网站提供给用户的内容是编辑处理后提供的,然后用户阅读网站提供的内容。
2、这个过程是网站到用户的单向行为 -
web 2.0
1、更注重用户的交互作用,用户近视网站内容的消费者(浏览者),也是网站内容的制造者
2、加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与 -
Web2.0特性:用户分享,以兴趣为聚合点的社群。开放的平台。活跃的用户
-
Web 1.0是静态网页 php语言打破了传统静态网页往动态网页过渡
1.9、静态网页
- 静态网页是标准的HTML文件
- 扩展名是.htm、.html
文本、图像、声音、FLASH动画、客户端脚本和Activex控件及JAVA小程序等 - 是网站建设的基础,早期网站一般都有静态网页制作的
- 没有后台数据库、不含程序和不可交互的网页
- 相对更新起来比较麻烦,适用于一般更新较少的展示型网站
1.10、静态网页的特点
- 每个静态网页都有一个固定的URL,且URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”
- 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件
- 静态网友的内容相对稳定,因此容易被搜索引擎检索
- 静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难
- 静态网页的交互性较差,在功能方面有较大的限制
- 页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面
1.11、动态网页
- 网页URL不固定,能通过后台与用户交互、
- 在动态网页网址中有一个标志性的符号——“?”
- 常用的语言有ASP,PHP,JSP等
1.11、动态网页的特点
- 交互性
即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋 - 自动更新
无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量 - 因时因人而变
当不同的时间,不同的人访问同一网址时会产生不同的页面
二、HTTP协议
2.1、HTTP协议概述
HTTP协议是互联网上应用最为广泛的一种网络协议
设计这个协议的目的是为了发布和接受web服务器上的HTML页面
HTTP协议的版本
- HTTP 0.9
- HTTP 1.0
- HTTP 1.1
- HTTP 2.0
HTTP真正从2.0版本进行动态网页时代
2.2、HTTP方法
-
HTTP支持几种不同的请求命令,这些命令被称为HTTP方法(HTTP method)
-
每条HTTP请求报文都包含一个方法,败诉服务器要执行什么动作
1、获取一个Web页面
2、运行一个网关程序
3、删除一个文件等 -
HTTP协议有多种获得web资源的方法,常用的有两种:GET和POST
1、请求分为两种get post
2、post安全 get效率,get会把信息会自动显示到url地址栏上
3、post会将信息进行加密处理
2.3、GET方法
- GET方法:从指定的服务器上获得数据
1、get请求能被缓存
2、get请求能被缓存
3、get请求有长度的限制
4、主要用于获取数据
5、查询的字符串会显示在URL中,不安全
HTTP | 描述 |
---|---|
GET | 请求获取Request-URI所标识的资源 |
PUT | 请求服务器存储一个资源,并用Request-URI作为标识 |
DELETE | 请求服务器删除Request-URI所标识的资源 |
POST | 在Request-URI所标识的资源后附加新的数据 |
HEAD | 请求获取由Request-URI所标识的资源的响应消息报头 |
2.4、POST方法
- POST方法:提交数据给制定法服务器处理
1、POST请求不能被缓存
2、post请求不会保存在浏览器的浏览记录里
3、post请求没有长度限制
4、查询的字符串不会显示在URL中,比较安全
2.5、HTTP状态码
- 当使用浏览器访问某一个URL,会根据请求URL返回状态码
- 通常正常的状态码为2xx,3xx(如200)
- 如果出现异常会返回4xx,5xx(如404)
状态码首位 | 已定义范围 | 分类 |
---|---|---|
1xx | 100-101 | 信息提示 |
2xx | 200-206 | 成功 |
3xx | 300-305 | 重定向 |
4xx | 400-415 | 客户端错误 |
5xx | 500-505 | 服务器错误 |
2.6、生产环境常见的HTTP状态码
消息 | 描述 |
---|---|
200 OK | 请求成功(其后是对GET和POST请求的应答文档) |
301 Moved Permanently | 请求的永久页面跳转 |
403 Forbidden | 禁止访问该页面 |
404 Not Found | 服务器无法找到被请求的页面 |
500 Internal Server Error | 内部服务器错误 |
502 Bad Gateway | 无效网关 |
503 Service Unavailable | 当前服务不可用 |
504 Gateway Timeout | 网关请求超时 |
2.7、HTTP协议请求流程分析
2.8、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
备注:
cookie :记录日志,可以记录账号密码,
referer :重定向 ,防止直接在未授权的情况下进入内部页面
2.9、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 >
三、本章总结
- 域名空间结构
- HTML文档结构
- 网页基本标签
- web1.0 与 web2.0 区别
- POST与GET方法区别
- HTTP协议报文格式