目录
前言
随着互联网的飞速发展,企业信心绝大多数已采用网页的形式构建。
对web与HTTP做一个简单的了解
一、域名
1、域名概念
域名要从 IP 地址开始解释。IP 地址(类似 192.168.1.1 内网网关)是互联网协议地址[1],它给因特网上的每台计算机和其它设备都规定了一个唯一的地址。由于有这种唯一的地址,才保证了用户在连网的计算机上操作时,能够高效而且方便地从千千万万台计算机中选出自己所需的对象来。
但是 IP 地址毕竟是一串毫无规律的数字,并不方便人类的记忆和书写。因此在 IP 地址的基础上又发展出一种符号化的地址方案,来代替数字型的 IP 地址,每一个符号化的地址都与特定的IP地址对应。这个与网络上的数字型 IP 地址相对应的字符型地址,就是域名
通俗的说,域名就相当于一个家庭的门牌号码,别人通过这个号码可以很容易的找到你。
DNS(Domain Name System 域名系统)
1)域名结构
① 根域 位于域名空间最顶层,一般用一个 “.” 表示 基础单位,除了根域 其他都只有一个上级域,有0或多个子域,同层域不可重复的子域或域名
② 顶级域 一般代表一种类型的组织机构或国家地区(主要有此两种类型构成),如 net(网络公司)、com(商业)、org(民间团体组织)、edu(教育)、gov(政府)、mil(军事)、cn(中国)、jp(日本)、hk(中国香港)
③ 二级域 用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …
④ 子域 用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理,如 .cn 顶级域名下面设置的二级域名:.com.cn、.net.cn、.edu.cn …
主机 主机位于域名空间最下层,就是一台具体的计算机,如 www、mail、都是具体的计算机名字,可用www.sina.com.cn.、mail.sina.com.cn. 来表示,这种表示方式称为 FQDN (完全合格域名),也是这台主机在域名中的全名
2)域名注册
遵循先申请先注册原则
域名注册步骤:
准备申请资料----->>寻找域名注册网站------>>查询域名—-------->>正式申请------>>申请成功
二、HTML
HTML(Hyper Text Markup Language)即超文本标记语言。它不是一种编程语言,而是标记语言,用于告诉浏览器如何构造您所访问的网页。HTML由一系列元素组成,可以用它来封装、包装或标记内容的不同部分,使其以某种方式显示或以某种方式执行。
HTML文档的结构
HTML网页
头部部分
标题部分
主体部分
网页内容,包括文本、图像等
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>我的第一个脚本</title>
</head>
<body>
<h1>这是标题 1</h1>
<h2>这是标题 2</h2>
<h3>这是标题 3</h3>
<h4>这是标题 4</h4>
<h5>这是标题 5</h5>
<h6>这是标题 6</h6>
</body>
</html>
运行结果如下
三、web
1、web概述
web(World Wide Web)即全球广域网,也称为万维网,它是一种基于和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。
2、Web1.0与Web2.0
Web1.0 的主要特点在于用户通过浏览器获取信息。 (不加密) (80)
Web2.0 则更注重用户的交互作用,用户既是网站内容的浏览者 (加密) (443)
Web3.
未来的趋势,以AI人工智能自动学习为主
3、静态页面 与动态页面
静态
(1) 静态页面定义
① 静态网页是标准的HTML文件
② 扩展名是.htm、.html 例如文本、图像、声音、Flash动画、客户端脚本和ActiveX控件及Java小程序等
③ 是网站建设的基础,早期网站一般都由静态网页制作
④ 没有后台数据库、不含程序和不可交互的网页
⑤ 相对更新起来比较麻烦,适用于一般更新较少的展示型网站
(2)静态页面特点:
① 每个静态网页都有一个固定的URL,且URL以.htm、.html、.shtml等常见形式为后缀,而不含有“?”
② 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的
③ 静态网页的内容相对稳定,容易被搜索引擎检索
④静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难
⑤ 静态网页的交互性较差,在功能方面有较大的限制
⑥ 页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面
动态
1) 动态页面
① 网页 URL不固定,能通过后台与用户交互
② 在动态网页网址中有一个标志性的符号——“?”
③ 常用的语言有PHP、JSP、Python、Ruby等
2) 动态页面特点
① 交互性 网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋
② 自动更新 无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量
③ 因时因人而变 当不同的时间,不同的人访问同一网址时会产生不同的页面
四、HTTP协议
1.HTTP简述
HTTP是 应用层协议 ,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。. HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP进行通信的HTTP的实现程序。
HTTP2.0和SPDY区别:
HTTP2.0 支持明文 HTTP 传输,而 SPDY 强制使用 HTTPS
HTTP2.0 消息头的压缩算法采用 HPACK,而非 SPDY 采用的 DEFLATE
2、cookie和session扩展
cookie和session都为了实现的是http的短期的持久化(内存/缓存方式,查询快、效率比较高)cookie 是缓存在用户端(client)浏览器中的(默认缓存一天),当下次客户端通过同一个浏览器访问客户端的时候,会优先读取cookie中的缓存信息,向服务端进行请求,同时服务端收到客户端请求的时候,读取到cookie文件,知道客户端之前找的是服务器A处理的任务,为了省事儿,省资源,干脆直接讲请求直接再交给服务器A处理 两者对比: cookie 省服务器性能 session 更安全
-
为后面服务、集群、功能优化做铺垫。
-
具体解释了怎么解决HTTP无状态协议的持久化/存储。
3、GET请求方式
GET 用于获取信息,是无副作用的,是幂等的,且可缓存
4、POST请求方式
POST 用于修改服务器上的数据,有副作用,非幂等,不可缓存
5、get与post区别
最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。
GET | POST | |
后退按钮/刷新 | 无害 | 不可收藏为书签 |
缓存 | 能被缓存 | 不能缓存 |
编码类型 | application/x-www-form-urlencoded | application/x-www-form-urlencoded或multipart、form-datda。为二进制数据使用多重编码 |
历史 | 参数保留在浏览器历史中。 | 参数不会保留在浏览器历史中。 |
对数据长度的限制 | 是的,当发送数据时,GET方法向URL添加数据;URL的长度是受限制的 (URL的最大长度是2048个字符)。 | 无限制 |
对数据类型长度的限制 | 只允许ASCII字符。 | 没有限制,也允许二进制数据 |
安全性 | 与POST相比,GET的安全性较差,因为所发送的数据是URL的一部分。 在发送密码或其他敏感信息时决不能使用GET! | POST比GET更安全,因为参数不会被保存在浏览器历史或web服务器日志中。 |
可见性 | 数据在URL中对所有人都是可见的。 | 数据不会显示在URL中。 |
6、HTTP状态码
状态首位 | 已定义范围 | 分类 |
1xx | 100-101 | 信息提示 |
2xx | 200-203 | 成功 |
3xx | 300-305 | 重定向 |
4xx | 400-415 | 客户端错误 |
5xx | 500-505 | 服务器错误 |
7、生产环境常见的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 | 网关请求超时 |
8.HTTP协议请求流程分析
用户输入URL(地址链接)(http://www.baidu.com:80/tools.html)客户端获取到端口及主机名后,客户端利用DNS解析域名,首先客户端的浏览器会先找自身的缓存,如果有解析结束,如果没有客户端会去找host文件,如果host文件没有的话,客户端会去找本地的DNS缓存服务器,本地的DNS缓存服务器没有的话,缓存服务器会去找根域,根域没有,会返回一个.com.然后本地缓存服务器会去找顶级域,顶级域没有的话会返回baidu.com.,然后本地缓存服务器会去找二级域,二级域解析完后会返回客户端。
客户端解析到IP地址后会通过TCP的三次握手与服务器建立连接。
总结
了解了静态网页与动态网页,理解了HTTP协议中GET方法与POST方法,并且也明白了HTTP协议请求流程,并记住了一些生产环境常见的几个HTTP状态码。