web基础与HTTP协议的攻坚战

目录

一、DNS与域名

1.1、DNS解析方式

1.2、域名注册

二、网页的概念

2.1、网页(HTTP/HTTPS)

2.2、HTML概述

三、Web

3.1、Web概述

3.2、Web1.0 VS Web2.0

Web1.0

Web2.0

3.3、静态页面与动态页面

静态页面

静态页面特点

动态页面

动态页面特点

四、HTTP协议

4.1、HTTP协议概述

4.2、cookie和session扩展

session

cookie和session区别

4.3、HTTP协议的版本

HTTP1.0和HTTP1.1的区别

HTTP1.1和HTTP2.0的区别

4.4、HTTP状态码

生产环境中常见的状态码


一、DNS与域名

1.1、DNS解析方式

/etc/hosts
linux 系统中负责快速解析的文件,包含了 ip 与主机名的映射关系,在没有 DNS 服务器的情况下,使用本
/etc/hosts 完成解析 / 映射,实现快速访问
PS: 主要用于主机之间( IP 和主机名)的映射 / 解析关系,示例:
192.168.226.128 master
192.168.226.129 node1
192.168.226.130 node2
/etc/resolv.conf
DNS 客户端配置文件,主要用于设置 DNS 服务器的 IP 和域名,还包含了主机域名的搜索顺序等等,这个
文件是由域名解析器( resolver ,一个根据主机名解析 IP 地址的库)使用的配置文件。
PS: 主要用与匹配 DNS 服务器,示例:
nameserver 114.114.114.114
nameserver 8.8.8.8
nameserver 218.2.135.1
/etc/sysconfig/network-scripts/ifcfg-ens33
我们也可以在网卡配置文件中定义DNS1= DNS2=
生效顺序 1 hosts文件 2 网卡配置文件 3 /etc/resolv.conf
生效顺序: 1 hosts文件 ;2 网卡配置文件 ;3 /etc/resolv.conf

1.2、域名注册

域名注册是 Internet 中用于解决地址对应问题的一种方法
遵循先申请先注册原则
域名注册步骤:
准备申请资料 ———— 》寻找域名注册网站 ———— 》查询域名 ———— 》正式申请 ———— 》申请成功

二、网页的概念

2.1、网页(HTTP/HTTPS)

① 网页
纯文本格式文件
编写语言为 HTML
在用户的浏览器中被 翻译 成网页形式显示出来 ② 网站
由一个一个页面构成的,是多个网页的结合体
主页
打开网站后出现的第一个网页称为网站主页(或首页)
③ 域名
浏览网页时输入的网址
HTTP/HTTPS
用来传输网页的通信协议(是否加密),是一种通讯 / 交互的标准 / 规范
URL
是一种万维网寻址系统
HTML
用来编写网页的超文本标记语言
⑦ 超链接
超链接是将网站中不同网页链接起来的功能
⑧ 发布
将制作好的网页上传到服务器供用户访问的过程

2.2、HTML概述

HTML 网页
头部部分
标题部分
主体部分
网页内容,包括文本、图像等
网页摘要信息的作用:
有利于浏览器解析;
有利于搜索引擎搜索。
行控制相关标签:
范围标签;图像标签;超链接标签;特殊符号。

三、Web

3.1、Web概述

网络是基于TCP/IP协议进行通信和连接的,每一台主机都有一个唯一的标识(固定的IP),用以区别在网络上成千上万个用户和计算机。网络在区分所有与之相连的网络和主机是,均采用一种唯一、通用的地址格式,即每一个与网络相连接的计算机都被指派一个独一无二的地址。

3.2、Web1.0 VS Web2.0

Web1.0

以编辑为特征,网站提供给用户的内容是编辑处理后的,然后用户阅读网站提供的内容.这个过程是网站到用户的单向行为。

Web2.0

更注重用户的交互作用,用户既是网站内容的消费者(浏览者),也是网站内容的制造者,加强了网站与用户之间的互动,网站内容基于用户提供,网站的诸多功能也由用户参与建设,实现了网站与用户双向的交流与参与。

3.3、静态页面与动态页面

静态页面

1、静态网页是标准的html文件

2、扩展名是.htm、.html

3、是网站建设的基础,早起网站一般都由静态网页制作

4、没有后台数据库、不含程序和不可交互的网页

5、相对更新起来比较麻烦,适合用于一般更新较少的展示型网站

静态页面特点

1、每个静态网页都有一个固定的URL,且URL以.htm、.html、.shtml等常见形式为后缀,而不含?

2、网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页都是保存在网站服务器上的

3、静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难。

4、静态网页的交互性较差,在功能方面有较大的限制

5、页面浏览速度迅速,过程无需连接数据库,开启页面速度快于动态页面

动态页面

1、网页URL不固定,能通过后台与用户交互

2、在动态网页网址中有一个标志性的符号——"?"

3、常用的语言有PHP、JSP、Python、Ruby

动态页面特点

1、交互性:网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这是当前使用的web类型。

2、自动更新:无需手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量

3、因时因人而变:当不同的时间,不同的人访问同一个网址会产生不同的页面

四、HTTP协议

4.1、HTTP协议概述

HTTP协议简介、版本:HTTP(超文本传输协议)协议是互联网应用最为广泛的一种网络协议,它是基于TCP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。

HTTP是应用层上的协议,简历在传输层TCP之上,客户端通过与服务端进行TCP连接,之后发送HTTP请求与接收HTTP响应都是通过访问Socket接口来调用TCP协议实现。

HTTP是一种无状态协议,HTTP协议本身不会对发送过的请求和相应的通信状态进行持久化处理,这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务,提高效率。

4.2、cookie和session扩展

Cookie基于HTTP协议,也叫Web Cookie或浏览器Cookie,是服务器发送到用户浏览器并保存在客户端

本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它

用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。Cookie使基于无状态的HTTP

协议记录稳定的状态信息成为了可能。

① 第一次请求过程

浏览器第一次发送请求时,不会携带任何cookie信息

服务器接收到请求之后,发现请求中没有任何cookie信息

服务器生成和设置一个cookie.并将此cookie设置通过set_cookie的首部字段保存在响应报文中返回给浏

览器

浏览器接收到这个响应报文之后,发现里面有cookie信息,浏览器会将cookie信息保存起来

② 第二次及其之后的过程

当浏览器第二次及其之后的请求报文中自动 cookie的首部字段携带第一次响应报文中获取的cookie信息

服务器再次接收到请求之后,会发现请求中携带的cookie信息,这样的话就认识是谁发的请求了

之后的响应报文中不会再添加set_cookie首部字段

Cookie主要用于以下三个方面:

- 会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)

- 个性化设置(如用户自定义设置、主题等)

- 浏览器行为跟踪(如跟踪分析用户行为等)

session

cookie和session区别

cookie和session的相同和不同:

cookie通常是在服务器生成,但也可以在客户端生成,session是在服务器端生成的

session 将数据信息保存在服务器端,可以是内存,文件,数据库等多种形式,cookie 将数据保存在

客户端的内存或文件中单个cookie保存的数据不能超过4K,每个站点cookie个数有限制,比如IE8为50个、Firefox为50

个、Opera为30个;session存储在服务器,没有容量限制

cookie存放在用户本地,可以被轻松访问和修改,安全性不高;session存储于服务器,比较安全

cookie有会话cookie和持久*cookie,生命周期为浏览器会话期的会话cookie保存在缓存,关闭浏

览器窗口就消失,持久cookie被保存在硬盘,知道超过设定的过期时间;随着服务端session存储

压力增大,会根据需要定期清理session数据

session中有众多数据,只将sessionID这一项可以通过cookie发送至客户端进行保留,客户端下次

访问时,在请求报文中的cookie会自动携带sessionID,从而和服务器上的的session进行关联

4.3、HTTP协议的版本

HTTP1.0和HTTP1.1的区别

1. 持久连接:

HTTP1.0中每次请求都需要在请求头中加上connection: keep-alive来指示服务器不断开连接。而

HTTP1.1中默认为持久连接,不需要再加上这个头。

2. 分块传输编码:

HTTP1.1中支持分块传输编码(chunked transfer encoding),可以将数据分成多个块传输,避

免了等待整个响应全部到达之后才开始渲染页面的问题。

3. 缓存处理:

HTTP1.1中使用更多的缓存策略,有强缓存和协商缓存两种。HTTP1.0只有强缓存。

4. 虚拟主机:

HTTP1.1支持虚拟主机,可以在同一IP地址下使用多个域名。HTTP1.0不支持虚拟主机。

5. 状态码:

HTTP1.1将状态码增加到了101、201、202、203、204、205、206和307等状态。

6. 传输编码:

HTTP1.1中新增了一种传输编码:gzip。可以使用gzip来压缩传输内容,减少传输数据量,提高传输速度

HTTP1.1和HTTP2.0的区别

1、多路复用

HTTP2.0使用了多路复用的技术,做到同一个连接并发处理多个请求,而且并发请求数量比HTTP1.1大了好几个数量级。HTTP1.1也可以多建立几个TCP连接,来支持处理更多并发的请求,但是创建TCP连接本身也是有开销的,使用HTTP2.0来的更为高效。

2、头部数据压缩

在HTTP1.1中,HTTP请求和响应都是由状态行、请求/响应头部、消息主题三部分组成。一般而言,消息主题都经过gzip压缩,或者本身传输的就是压缩过后的二进制文件,但状态行和头部却没有经过任何压缩,直接以纯文本传输。随着Web功能越来越复杂,每个页面产生的请求数也越来越多,导致消耗在头部的流量越来越多,由器是每次传输UserAgent,Cookie这类不会频繁变动的内容,完全是一种浪费。

HTTP1.1不支持header数据的压缩,HTTP2.0使用HPACK算法对header的数据进行压缩,这样数据体积小了,在网络上传输就更快了。

3、服务器推送

服务器推送是一种在客户端请求之前发送数据的机制。网页使用了许多资源:HTML、样式表、脚本、图片等等。在HTTP1.1中这些资源每一个都必须明确地请求。这时一个很慢的过程。浏览器从获取HTML开始,然后把在它解析和评估页面的时候,增量地获取更多的资源。因为服务器必须等待浏览器的每一个请求,网络基础是空闲的和为充分使用的。

为了改善延迟,HTTP2.0引入server push,它允许服务端推送资源给浏览器,在浏览器明确的请求之前,免得客户端再次创建连接发送请求到服务端获取,这样客户端可以直接从本地加载这些资源,不再通过网络。

4.4、HTTP状态码

状态码首位已定义范围分类
1xx100-101信息提示
2xx200-206成功
3xx300-305重定向
4xx400-415客户端错误
5xx500-505服务器错误

生产环境中常见的状态码

消息描述
200OK请求成功
301Moved Permanently请求的永久页面跳转
403Forbidden禁止访问该页面
404Not Found服务器无法找到被请求的页面
500Internal Server Error内部服务器错误
502Bad Gateway无效网关
503Service Unavailable当前服务不可用
504Gateway Timeout网关请求超时
  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值