了解WEB

了解WEB

web 即全球广域网 World Wide Web ,也称万维网,是一种基于超文本和 HTTP 的、全球性的、动态交互 的、跨平台的分布式图形信息系统。是建立在 Internet 上的一种网络服务,为浏览者在 Internet 上查找和 浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将 Internet 上的信息节点组织 成一个互为关联的网状结构
web 是一种交流方式

 WEB工作原理

 将编写好的文件放在服务器上,供其他人访问

WEB服务器

WEB 服务器就是一台连接到互联网的计算机,等待处理用户的各种请求(浏览网页、看电影、听音乐等)
WEB 服务器处理浏览器发送来的请求,找到对应的资源后再返回给浏览器

WEB浏览器

浏览器向服务器发送请求,然后接收 WEB 服务器返回回来的数据,并显示在浏览器上

用户从浏览器获得资源

利用 DNS 协议进行域名解析 --> 建立 tcp 协议三次握手过程 --> 客户端发出访问网站相应页面请求
(发出 http 协议请求报文) --> 服务端发出相应访问页面的请求信息(发出 http --> 断开 tcp 协议
四次挥手过程
  • 静态网页的网址形式通常如 www.deom.com/demo.htm,网页后缀通常为.htm.html.shtml.xml
  • 动态网页的网址形式通常如 http://www.demo.cn/index.asp?id=1 , 网页后缀通常为
    .asp .jsp .php .perl .cgi 因人因时因地而发生变化
  • 逻辑结构是文档间关系的描述,它定义了文档间的链接,而物理结构则描述了文档的实际位置

利用DNS协议进行域名解析

DNS 称为域名服务,主要作用是负责把域名解析对应的 IP 地址。就是把 www.baidu.com 解析为对应的 IP地址 111.13.101.208 ,有了 IP 地址就相当于知道百度服务器在哪了,接下来就是去找它。 
DNS 体系中查找记录,分为两种查找方式:递归查询和迭代查询
  • 递归查询:由DNS客户端发起,一级一级的向上提交查询申请,直至查询终止
  • 迭代查询:一般情况下由DNS服务器之间完成,即本地DNS向上一级DNS提交查询,上级DNS并不直接返回查询结果,而是告知DNS应该向哪里去查找。

 

请记住查询顺序:
  • HOSTS--> 本地DNS -->上层DNS(包括根DNS

网站的基本特征

网站就是一个或多个网页的集合。从广义上讲,网站就是当网页发布到 Internet 上以后,能通过浏览器在 Internet 上访问的页面
按照网站处理的业务不同,将网站可以分为:政府部门网站、电子商务网站、企业信息网站、信息资源网站、信息导航网站
  • 域名
  • 网站标志
  • 数量众多的网页
  • 网页的风格统一
  • 便捷的导航系统
  • 分层的栏目组织
  • 切合主题的内容
  • 用户能与网站进行双向交流的栏目
  • 搜索信息的功能
  • 用户指南和网站动态信息

Web网站开发流程

从制作的角度,建立一个网站可分为十个阶段,每一个阶段都有不同的目标和要求
  • 计划阶段
  • 初步建设阶段
  • 连接阶段
  • 交互阶段
  • 数据库阶段
  • 对外阶段
  • 商业阶段
  • 应用阶段
  • 资本运营阶段
  • 更新阶段

客户端发出访问网站相应页面请求

建立连接后,发送请求报文,想看什么数据。 输入 www.baidu.com 时,默认请求的是 index.html 首页文件
1,请求行:
  • 请求的方法(get post)
  • 请求的数据信息(默认请求index.html首页文件)
  • 请求http协议版本。协议分为长连接http1.1和短连接http1.0
2,请求头
3,空行
4,请求主体: get 方法没有请求主体内容 post 方法会有请求主体信息

服务端发出相应访问页面的请求信息(发出http响应报文)

1,起始行(响应行)
  • HTTP协议版本信息
  • 响应的状态码信息(请求成功状态码 200
  • 响应状态码说明信息
2,响应头部
3,空行
4,响应主体内容:一般为 html css js 等等代码信息

http版本号

HTTP1.01.1区别

长连接(Persistent Connection)

HTTP1.1 支持长连接和请求的流水线处理,在一个 TCP 连接上可以传送多个 HTTP 请求和响应,减少了建立和关闭连接的消耗和延迟,在 HTTP1.1 中默认开启长连接 keep-alive ,一定程 度上弥补了 HTTP1.0 每次请求都要创建连接的缺点。 HTTP1.0 需要使用 keep-alive 参数来告知 服务器端要建立一个长连接。

节约带宽

 HTTP1.0中存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能。HTTP1.1支持只发送header信息(不带任body信息),如果服务器认为客户端有权限请求服务器,则返回100,客户端接收到100才开始把请求body发送到服务器;如果返回401,客户端就可以不用发送请求body了节约了带宽。

HOST

HTTP1.0 中认为每台服务器都绑定一个唯一的 IP 地址,因此,请求消息中的 URL 并没有传递主机名 hostname HTTP1.0 没有 host 域。随着虚拟主机技术的发展,在一台物理服务器上可 以存在多个虚拟主机( Multi-homed Web Servers ),并且它们共享一个 IP 地址。 HTTP1.1的请求消息和响应消息都支持 host 域,且请求消息中如果没有 host 域会报告一个错误( 400Bad Request )。

缓存处理

HTTP1.0 中主要使用 header 里的 If-Modified-Since,Expires 来做为缓存判断的标准,HTTP1.1 则引入了更多的缓存控制策略例如 Entity tag If-Unmodified-Since, If-Match, If None-Match 等更多可供选择的缓存头来控制缓存策略。

错误通知的管理

HTTP1.1 中新增了 24 个错误状态响应码,如 409 Conflict )表示请求的资源与资源的当前状态发生冲突; 410 Gone )表示服务器上的某个资源被永久性的删除。

HTTP1.12.0区别

多路复用
HTTP2.0 使用了多路复用的技术,做到同一个连接并发处理多个请求,而且并发请求的数量 HTTP1.1 大了好几个数量级。 HTTP1.1 也可以多建立几个 TCP 连接,来支持处理更多并发的 请求,但是创建 TCP 连接本身也是有开销的。
头部数据压缩
HTTP1.1 中, HTTP 请求和响应都是由状态行、请求 / 响应头部、消息主体三部分组成。一般 而言,消息主体都会经过 gzip 压缩,或者本身传输的就是压缩过后的二进制文件,但状态行 和头部却没有经过任何压缩,直接以纯文本传输。随着 Web 功能越来越复杂,每个页面产生的请求数也越来越多,导致消耗在头部的流量越来越多,尤其是每次都要传输 UserAgent ,Cookie 这类不会频繁变动的内容,完全是一种浪费。 HTTP1.1 不支持 header 数据的压缩, HTTP2.0 使用 HPACK 算法对 header 的数据进行压缩,这 样数据体积小了,在网络上传输就会更快。
服务器推送
服务端推送是一种在客户端请求之前发送数据的机制。网页使用了许多资源: HTML 、样式 表、脚本、图片等等。在 HTTP1.1 中这些资源每一个都必须明确地请求。这是一个很慢的过 程。浏览器从获取 HTML 开始,然后在它解析和评估页面的时候,增量地获取更多的资源。因为服务器必须等待浏览器做每一个请求,网络经常是空闲的和未充分使用的。为了改善延迟, HTTP2.0 引入了 server push ,它允许服务端推送资源给浏览器,在浏览器明 确地请求之前,免得客户端再次创建连接发送请求到服务器端获取。这样客户端可以直接从 本地加载这些资源,不用再通过网络

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值