HTTP 和 DNS 原理概念了解 ;

一 、 HTTP 原理概念介绍  ;

用户访问网站的原理过程是什么样~~~~

01. DNS域名解析,获悉域名对应IP地址

02. 根据IP地址访问网站服务器,TCP三次握手过程

03. 用户向网站服务请求信息,HTTP请求过程(HTTP请求报文)

04. 网站服务对用户请求进行响应,HTTP响应过程(HTTP响应报文)

 说明:03 04步骤就称为HTTP协议原理过程

05. 断开网络连接,TCP四次挥手过程

二 、 HTTP 协议简介  ;

HTTP 协议(超文本传输协议)是互联网中常用的一网络种协议, HTTP 的重要应用之一是 www 服务,设计 HTTP 协议 最初的目的就是提供一种发布和接收HTMl的方法,

主要应用于 web 浏览器 和 web 服务器之间的通信,Http默认的协议端口是 80 端口 , 另外一个加密的 www 服务应用 https 端口为 443 , https 以前主要用于 网银 支持等和钱相关的业务,现在已经不止是钱相关的在用了 很多企业都在用 ,

 

三 、 HTTP 协议 版本介绍   ;

HTTP 协议从诞生支出到现在经历了若干个版本,其中最主要的版本为 HTTP/1.0 、 HTTP/1.1,

HTTP/1.0 是第一个得到广泛使用的版本, HTTP/1.1 为当前使用的主流版本 。

HTTP/1.0 在 HTTP/0.9 的基础上增加了 HTTP 请求头可以支持更多的请求方法,并且能对多媒体对象进行处理,HTTP/1.0 使得包含生动的图片web 页面和交互式表格成为可能

HTTP/1.0 规定浏览器与服务器只保持了短暂连接,浏览器的每次 请求都需要与服务器建立新的 TCP连接,服务器请求完后断开连接 ,服务器不跟踪每个用户也不记录过去的请求 。

 

3.1 HTTP 协议 短连接和 长连接 说明 :

HTTP/1.0 短连接 :

断开连接后,短时间内在和服务器端建立连接,还需要从新建立TCP 三次握手,费时 效率不高

HTTP/1.1 :  长连接 ;

支持持久连接,在一个 TCP 连接上可以传送多个HTTP 请求和响应,减少了建立和关闭连接的消耗和时间的延迟,效率较高 。

 

四 、 HTTP 请求 - 响应 上图理解  ;

浏览器 只是负责解析 代码语言给用户反回了用户需要的页面 。

HTTP 和 DNS 原理概念了解 ;_第1张图片

4.1  、请求报文 ;

HTTP 和 DNS 原理概念了解 ;_第2张图片

4.2 、 常见的请求方法

常用的两种请求    GET 获取    、 POST 请求

HTTP 和 DNS 原理概念了解 ;_第3张图片

五 、 HTTP 状态码 ===============================================================

常用的是 后边几个 ,HTTP 状态码是用来表示web 服务器响应HTTP请求状态的数字代码,

每当web 客户端向 web 服务器发送一个 HTTP 请求 web 服务器 都会返回一个状态响应码,这个状态码

一般是一个三位数字,作用是告知web客户端此次请求是否成功,或者是否要采取其他的动作方式 。

不同范围的状态码及其对应的作用

状态码

含义

100 ~ 199

用于指定客户端相应的某些动作

200 ~299

表示请求已经成功

300 ~ 399

用于已经移动的文件,并且常被包含在定位头信息中指定的新的地址信息 。

400 ~ 499

用于指定客户端的错误信息 

500 ~ 599

用于指出服务器端的错误 

5.1 常用状态吗说明   ;

HTTP 和 DNS 原理概念了解 ;_第4张图片

重点掌握  502 错误 这个错误 一搬是后端有问题了 

HTTP 和 DNS 原理概念了解 ;_第5张图片

5.2 使用 curl 命令查看 响应报文 和 请求报文 详细信息 

[root@m01 ~]# curl -v www.360buy.com                                   --->>     -v 显示详细信息

* About to connect() to www.360buy.com port 80 (#0)

* Trying 111.20.253.129... connected

* Connected to www.360buy.com (111.20.253.129) port 80 (#0)

> GET / HTTP/1.1                                 ---->>   GET 请求方式 --- 版本信息 “ > ”  表示请求报文

> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2   -->> 用的是什么浏览器类型

> Host: www.360buy.com                                              --->> 访问的域名 对应的主机信息

> Accept: */*

>                                                                 ----->> 空行 请求头结束

 

 

< HTTP/1.1 301 Moved Permanently                                 --->>   “ < ”  表示开始 响应报文内容 包含状态吗等信息,301 永久跳转

< Server: JDWS/2.0                                                            ---->>  响应头部 ,

< Date: Sat, 09 Sep 2017 03:15:54 GMT                          ---->> 时间信息

< Content-Type: text/html                                                   ---->>  返回的文件信息是什么 html

< Content-Length: 272                                                      ---->> 报文的 大小 长度

< Connection: keep-alive                                                  ---->> 长连接

< Location: http://www.jd.com/                                           ---->> 指定了新的地址,这里是做了地址跳转,跳转到了新的地址的

< Via: BJ-H-NX-112(), http/1.1 XA-CM-1-JCS-159 ( [cRs f ])

< Age: 629

<                                                                                       ------>>  一个空行 响应报文 - 结束

 

=================================================================================

这就是一个响应主体 ,也就是你访问的内容

                                响应主体

301 Moved Permanently

301 Moved Permanently

The requested resource has been assigned a new permanent URI.


Server: JDWS

* Connection #0 to host www.360buy.com left intact

* Closing connection #0

 

=================================================================================

 六  、 URL与URI的概念 (重点)

https://www.taobao.com/markets/3c/shuma?spm=a21bo.50862.201867-main.12.28689e73E6z0p9

https://www.taobao.com/ -- URL信息

/markets/3c/shuma?spm=a21bo.50862.201867-main.12.28689e73E6z0p9 --URI信息

域名组成:URL+ URI组成

URL,全称为Uniform Resource Location,中文翻译为统一资源定位符

URI,全称为Uniform Resource Identifier,中文翻译为统一资源标识符

 

七、静态网页和动态网页区别   ;

静态网页资源特点是, 开发写什么,网页显示的内容就是什么,一点编写完成,就不会有任何的改变,

静态网页的维护相对麻烦,每个不同的网页都需要单独的编写更新,静态网页一般适合用于更新较少的的宣

传展示网站,(例如 酒、家具、水果 等宣传网站),

静态网页对应程序以及资源文件常见扩展名 :

① ,纯文本类程序或者文件 如 : .html、 .htm、 .xml、 .shtml、.js、.css 等

② ,图片类文件或者是数据文档 如 : .jpg、.gif、.png、.bmp、.txt、.doc、.ppt 等

③ ,视频类流媒体文件 如: . mp4 、.swf、.avi、.wmv、.flv 等

 

静态网页资源的6个重要特征:

① ,每个页面都有一个固定的 URL 地址,且URL 一般是以 .html 、 .htm 、.shtml 等常见的形式为后缀

       而且地址中不含有 问号 或 & 等特殊符号 。

② ,网页内容已经发布到网站服务器上,无论是否有用户访问,每个网站内容信息都是保存在网站服务器

       文件系统上,也就是说,静态的网页是实实在在保存在服务器上的文件实体, 每个网页都一个一个独立的文件。

③ ,网页内容是固定不变的,因此容易被搜索引擎收录(容易被用户找到) 这也是静态网也的一个(优点)

④ ,因网页 没有数据库的支持,所以在网站制作和维护方面工作量较大,当网站信息量很大时,

        完全依靠静态网页比较困难 (缺点)

⑤ ,网页的 交互性很差,在程序的功能实现方面有着较大的限制 (缺点)

⑥ ,网页程序是在用户的浏览器中解析,程序解析效率高 ,由于服务器端不进行解析,不需要读取数据库,

        因此服务器端可以接受更多的并发访问,当客户端向服务器端请求数据时服务器会直接从磁盘文件系统

       上返回数据(不做任何解析) 等客户端拿到数据后,在浏览器上解析,并显示出用户需要的数据 。(优点)

静态网页缺点:     没有数据的支持 , 没有交互功能 就是 不能登录 或者是 注册 什么的

静态网页优点 :    响应速度较快 ,容易被搜索引擎收录容易被用户找到 。

服务端 要什么给什么 ,生成页面用户需要的数据 是由 客户端的 web 来做的 。

 

八  、 怎么评估 这个网站是不是很好 , 是不是 大型的网站    

1, 独立IP数度量值

独立IP数度量值是指不同IP地址的计算机访问网站是被记录的总数次,在一个局域网内多个主机

进行访问相同的网站地址时,独立IP数记为多少?

一般一天内 (00:00 - 24:00) 相同的IP地址的客户端访问网页只会被记录一次 。

 

2,页面浏览次数 PV

页面的浏览量或者是点击量

 

3 ,独立访客数 UV

根据http请求报文: 浏览器版本, 0S

根据http响应报文: cookie (id) --- 将客户端数据保存到本地

session --- 将客户端数据保存到服务器

① , 第一种 不是很精准

② , 第二种 打开一个网页就是一个 pv ,在同一网站下打开在一个页面又是一个 pv

③ , 相对于前两种 最后这种 相对于精准一点 记录相关设备属性信息 cookie 记录的是 设备的属性 信息 , session 将客户端的数据信息记录          到服务器端 , session 会话 共享

工作中常用的统计工具   :
网页信息统计软件-piwik
pwiki统计工具:(https://piwik.org/)
pwiki演示页面:https://piwik.org/demo
 

九  、 ---- cookie 和 session 的区别  ;

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗

   考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能

   考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

 

 

十  、DNS 域名解析原理 : 

上图理解 :

HTTP 和 DNS 原理概念了解 ;_第6张图片

1, 用户访问一个网站,首先访问的是 本地的 缓存服务器 hosts 文件

2,当本地的域名服务器收到请求后,先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。 

3,如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器

     再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。

4, 查看 windows 本地缓存DNS 解析记录的命令

C:\Users\Admin>ipconfig /displaydns                                  --->>  查看命令

Windows IP 配置

safebrowsing.googleapis.com

----------------------------------------

 

5, 清除 windows 客户端本地缓存的DNS 解析记录的命令

C:\Users\Admin>ipconfig /flushdns

 

6, windows 系统下的hosts 域名解析记录的位置

C:\Windows\System32\drivers\etc\hosts

 

7, 通过实践理解DNS解析流程,通过 dig 命令进一步理解 DNS 解析流程

[root@web01 ~]# dig @8.8.8.8 www.baidu.com +trace

 

====================================END====================================================

你可能感兴趣的:(HTTP 和 DNS 原理概念了解 ;)