目录
一、DNS与域名
1.1、域名概述
1.2、域名小结
1.3、DNS解析
1.4、域名
二、网页的概念
2.1、网页
2.2、HTML概述
2.2.1、HTML超文本标记语言
2.2.2、HTML文档的结构
2.2.3、网页基本标签
2.2.4、标题标签类型
三、Web
3.1、Web概述
3.2、Web1.0 vs Web2.0
3.3、静态页面与动态页面
四、HTTP协议概述
4.1、HTTP协议简介
4.2.2、session
4.3、HTTP协议的版本
4.4、HTTP请求格式(GET /POST方式)
4.4.1、GET方式
4.4.2、POST请求方式
4.4.3、GET与POST的区别
4.4.4、HTTP状态码
一、DNS与域名
1.1、域名概述
1.2、域名小结
1.3、DNS解析
1.4、域名
二、网页的概念
2.1、网页
2.2、HTML 概述
2.2.1 HTML超文本标记语言
前端 html css javascripthttp Hyper Text Markup Language网页的 “ 源码 ”浏览器: “ 解释和执行 ”HTML 源码的工具
2.2.2 HTML文档的结构
HTML 网页头部部分标题部分主体部分网页内容,包括文本、图像等
- 头标签中常用标签
标签 描述<title> 定义了文档的标题<base> 定义了页面链接标签的默认链接地址<link> 定义了一个文档和外部资源之间的关系<meta> 定义了 HTML 文档中的元数据<script> 定义了客户端的脚本文件<style> 定义了 HTML 文档的样式文件
- 内容标签中常用标签
标签 描述<table> 定义一个表格<tr> 定义了表格中的一行<td> 定义了表格中某一行的一列<img> 定义了一个图像<a> 定义了一个超链接<p> 定义了一行<br> 定义了换行<font> 定义了字体
2.2.3 网页基本标签2-1
网页摘要信息的作用有利于浏览器解析有利于搜索引擎搜索
2.2.4 标题标签类型
行控制相关标签范围标签图像标签超链接标签特殊符号
三、Web
3.1Web概述
互联网:是网络的网络,是所有类型网络的母集因特网:世界上最大的互联网网络。即因特网概念从属于互联网概念。习惯上,大家把连接在因特网上 的计算机都成为主机。Web ( World Wide Web )即全球广域网,也称为万维网 一种分布式图形信息系统建立在Internet 上的一种网络服务万维网并非某种特殊的计算机网络,是一个大规模的、联机式的信息贮藏库,使用链接的方法能非常方便地从因特网上的一个站点访问另一个站点(超链技术),具有提 供分布式服务的特点。万维网是一个分布式的超媒体系统,是超文本系统的扩充,基于B/S 架构实现URL :万维网使用统一资源定位符( Uniform Resource Locator )来标志万维网上的各种文档,并使每个文档在整个因特网的范围内具有唯一的标识符URL 。HTTP :为解决 " 用什么样的网络协议来实现整个因特网上的万维网文档 ” 这一难题,就要使万维网客户程 序(以浏览器为主,但不限于浏览器)与万维网服务器程序之间的交互遵守严格的协议,即超文本传送协议(HyperText Transfer Protocol )。 HTTP 是处于应用层的协议,使用 TCP 传输层协议进行可靠的传送。因此,需要特别提醒的是,万维网是基于因特网的一种广泛因特网应用系统,且万维网采用的是HTTP( 80/TCP )和 HTTPS ( 443/TCP )的传输协议,但因特网还有其他的网络应用系统(如: FTP 、SMTP等等)。HTML :为了解决 " 怎样使不同作者创作的不同风格的万维网文档,都能在因特网上的各种主机上显示出来,同时使用户清楚地知道在什么地方存在着链接” 这一问题,万维网使用超文本标记语言( HyperTextMarkup Language),使得万维网页面的设计者可以很方便地用链接从页面的某处链接到因特网的任何一个万维网页面,并且能够在自己的主机品目上将这些页面显示出来。HTML 与 txt 一样,仅仅是是一种 文档,不同之处在于,这种文档专供于浏览器上为浏览器用户提供统一的界面呈现的统一规约。且具备 结构化的特征,这是txt 所不具备的强制规定。
3.2 Web1.0 vs Web2.0
以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容这个过程是网站到用户的单向行为Web1.0以静态 单向阅读为主 Web2.0更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与
用户分享、以兴趣为聚合点的社群、开放的平台,活跃的用户
3.3 静态页面 与动态页面
① 静态网页是标准的 HTML 文件② 扩展名是 .htm 、 .html例如文本、图像、声音、 Flash 动画、客户端脚本和 ActiveX 控件及 Java 小程序等③ 是网站建设的基础,早期网站一般都由静态网页制作④ 没有后台数据库、不含程序和不可交互的网页⑤ 相对更新起来比较麻烦,适用于一般更新较少的展示型网站
① 每个静态网页都有一个固定的 URL ,且 URL 以 .htm 、 .html 、 .shtml 等常见形式为后缀,而不含有 “?”② 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的③ 静态网页的内容相对稳定,容易被搜索引擎检索④静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难⑤ 静态网页的交互性较差,在功能方面有较大的限制⑥ 页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面
① 网页 URL 不固定,能通过后台与用户交互② 在动态网页网址中有一个标志性的符号 ——“?”③ 常用的语言有 PHP 、 JSP 、 Python 、 Ruby 等
① 交互性网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后 WEB 发展的大势所趋② 自动更新无须手动地更新 HTML 文档,便会自动生成新的页面,可以大大节省工作量③ 因时因人而变当不同的时间,不同的人访问同一网址时会产生不同的页面
四、HTTP协议概述
4.1、HTTP协议简介
- HTTP(超文本传输协议HyperText Transfer Protocol)协议是互联网上应用最为广泛的一种网络协议,它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。
- HTTP/HTTPS是应用层上的协议,建立在传输层TCP之上,客户端通过与服务端进行TCP连接(三次握手),之后发送HTTP请求与接收HTTP响应都是通过访问Socket接口来调用TCP协议实现。
- HTTP 是一种无状态 (stateless) 协议, HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理(存储,保存)。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率
4.2 cookie和session扩展
4.2.1 cookie
cookie产生流程:
-
用户请求网页:
- 用户通过浏览器请求访问某个网站。
-
服务器响应:
- 服务器响应用户的请求,并在响应头中包含
Set-Cookie
字段,将一个或多个 Cookie 发送到浏览器。
- 服务器响应用户的请求,并在响应头中包含
-
浏览器保存 Cookie:
- 浏览器接收到 Cookie,并将其保存到本地。
-
用户访问相同网站:
- 当用户再次访问同一网站时,浏览器会自动将之前保存的 Cookie 发送到服务器。
-
服务器读取 Cookie:
- 服务器接收到请求,并从请求头中读取 Cookie 信息,以识别用户的身份或处理其他功能。
-
服务器响应处理:
- 服务器根据 Cookie 的信息处理请求,并生成新的响应。可能会更新 Cookie,或者在响应头中包含新的
Set-Cookie
字段。
- 服务器根据 Cookie 的信息处理请求,并生成新的响应。可能会更新 Cookie,或者在响应头中包含新的
-
浏览器更新 Cookie:
- 浏览器接收到响应后,根据需要更新本地保存的 Cookie。
-
重复过程:
- 用户继续与网站交互,浏览器和服务器会继续按照上述步骤交换 Cookie 信息。
4.2.2 session
Session(会话)用于在客户端和服务器之间维持状态,通常用于跟踪用户的登录状态或保存其他用户特定的信息。以下是 Session 产生和管理的基本流程:
1. 用户发起请求
- 用户通过浏览器向服务器发起请求,通常是访问一个需要身份验证的页面。
2. 服务器检查 Session
- 服务器检查请求中是否包含有效的 Session ID。如果没有 Session ID,或 Session ID 无效,服务器将创建一个新的 Session。
3. 创建 Session
- 生成 Session ID:服务器生成一个唯一的 Session ID,用于标识这次会话。这个 ID 通常是一个随机生成的字符串。
- 存储 Session 数据:服务器在内存、数据库或文件系统中创建一个新的 Session 数据存储区,并将与用户相关的信息存储在其中(如用户身份、购物车内容等)。
4. 发送 Session ID 到客户端
- 服务器将生成的 Session ID 通过
Set-Cookie
头部发送到客户端浏览器。浏览器将这个 Session ID 存储在 Cookie 中。
5. 客户端存储 Session ID
- 浏览器收到 Session ID 后,将其保存为 Cookie,以便在后续的请求中发送回服务器。
6. 用户后续请求
- 当用户再次发起请求时,浏览器会自动将保存的 Session ID 通过 Cookie 发送到服务器。
7. 服务器验证 Session
- 服务器接收到请求后,从请求中提取 Session ID,并在存储中查找相应的 Session 数据。如果找到有效的 Session 数据,服务器将继续处理请求。
8. 更新 Session
- 根据用户的操作,服务器可能会更新 Session 数据(如更改用户设置、添加购物车商品等)。
9. 用户登出或 Session 超时
- 当用户登出时,服务器可以选择删除 Session 数据,并通过
Set-Cookie
头部将过期的 Session ID 发送到客户端,使浏览器删除对应的 Cookie。 - 如果 Session 超时(即 Session 数据在一定时间内未被访问),服务器将删除过期的 Session 数据,并可能使 Session ID 失效。
4.2.3 cookie和session区别
主要区别总结
- 存储位置:Cookie 存储在客户端(浏览器中),Session 存储在服务器端。
- 数据量和安全性:Cookie 的数据量较小且安全性较低,而 Session 数据量较大且更安全。
- 生命周期:Cookie 可以是持久的或会话性的,而 Session 通常是临时的,取决于会话管理策略。
4.3 HTTP协议的版本
- HTTP/0.9: 已过时。只接受GET一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持POST方法,所以客户端无法向服务器传递太多信息。
- HTTP/1.0: 这是第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用,特别是在代理服务器中。PV(访问量): 即Page View, 页面浏览量或点击量,用户每次刷新即被计算一次,PV反映的是浏览某网站的页面数,PV与来访者的数量成正比,PV并不是页面的来访者数量,而是网站被访问的页面数量
- HTTP/1.1: 引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同--个TCP连接里面,客户端可以同时发送多个请求,以便降低线路负载,提高传输速度
- HTTP/2.0:完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序.对应。引入了头信息压缩机制,使用gzip或compress压缩后再发送。支持服务端推送,允许服务器未经请求,主动向客户端发送资源。
4.4 HTTP 请求格式( GET / POST 方式 )
4.4.1 GET 方式
4.4.2 POST 请求方式
4.4.3 GET 与POST 区别
4.4.4 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 禁止访问该页面404 Not Found 服务器无法找到被请求的页面500 Internal Server Error 内部服务器错误502 Bad Gateway 无效网关 503 Service Unavailable 当前服务不可用504 Gateway Timeout 网关请求超时