HTTP服务原理,做运维的你了解多少呢?
北京学满分 > 学习网 > 电脑IT设计 > Web前端 > HTTP服务原理,做运维的你了解多少呢?

北京老男孩教育-最新动态NEWS

HTTP服务原理,做运维的你了解多少呢?

文章导读:HTTP服务原理,做运维的你了解多少呢?

HTTP协议是互联网上常用的通信协议之一。它有很多的应用,但最流行的就是用于Web浏览器和Web服务器之间的通信,即WWW应用或称Web应用。

HTTP服务原理,做运维的你了解多少呢?

资料整理:北京老男孩教育发布时间:2018-11-23已帮助:105人

HTTP服务原理做运维的你了解多少呢

HTTP协议是互联网上常用的通信协议之一。它有很多的应用,但最流行的就是用于Web浏览器和Web服务器之间的通信,即WWW应用或称Web应用。

HTTP服务原理,做运维的你了解多少呢?

  一、HTTP服务介绍
  1简述用户访网站流程
  a进行域名信息的DNS解析dig+trace获得地址信息
  b进行与网站服务器建立连接,tcp三次握手过程
  (syn ack SEQ ACK/状态转换closed listen syn_sent syn_rcvd established)
  c和网站服务器数据传输过程(http协议原理过程-http请求过程)查看方法curl-v/wget--debug
  d和网站服务器数据传输过程(http协议原理过程-http响应过程)
  e进行与网站服务器断开连接,tcp四次挥手过程
  (fin ack SEQ ACK/状态转换fin_wait1 fin_wait2 close_wait last_ack time_wait closing)
  1.1 DNS解析原理
  01.查看本地主机缓存和hosts文件有没有域名与IP对应记录
  02.本地主机向local DNS服务器(网卡上指定配置的DNS服务器)发出请求(递归查询)
  03.LOCAL DNS服务器接收到客户端主机请求,查询本地缓存信息
  04.LOCAL DNS服务向根域名服务器请求,向顶级域名服务器请求,向二级域名服务器请求(迭代查询)
  05.获取到域名与IP地址的对应关系,是通过授权DNS服务中获取得到(得到的信息称为A记录)LOCAL DNS服务进行缓存A记录信息,将A记录信息发送给客户端主机
  06.客户端主机接收到A记录信息,进行本地缓存,根据A记录中记录IP地址信息,进行网络访问
  1.2 dns树状结构图
  1.3 DNS域名解析,获悉域名对应IP地址(windows)
  査看有关DNS信息方法(windows主机上):
  1)査看windows客户端本地缓存的DNS解析记录的命令如下。
  c:\>ipconfig/displaydns<-意思是display the contents of the DNS Resolver
  (显示DNS CACHE内容),"/displaydns"前面有空格
  复制代码
  2)清除windows客户端本地缓存的DNS解析记录的命令如下。
  c:\>ipconfig/flushdns<-意思为Purges the DNS Resolver cache"
  (清除DNS CACHE内容),"/displaydns"前面有空格
  复制代码
  3)windows系统下hosts域名解析记录的位置如下。
  c:\Windows\system32\drivers\etc\hosts
  复制代码
  1.4 linux上实现DNS缓存
  nscd bind dnsmasq
  复制代码
  2 HTTP协议知识介绍
  2.1什么是HTTP协议
  HTTP协议,全称HyperText Transfer Protocol,中文名为超文本传输协议,是互联网中最常用的一种网络协议。HTTP的重要应用之一是WWW服务。设计HTTP协议最初的目的就是提供一种发布和接收HTML(一种页面标记语言)页面的方法。
  HTTP协议是互联网上常用的通信协议之一。它有很多的应用,但最流行的就是用于Web浏览器和Web服务器之间的通信,即WWW应用或称Web应用。
  www,全称World Wide Web,常称为Web,中文译为"万维网:它是目前互联网上最受用户欢迎的信息服务形式。HTTP协议的WWW服务应用的默认端口为80,另外一个加密的WWW服务应用https的默认端口为443,主要用于网银、支付等和钱相关的业务。当今,HTTP服务、WWW服务、Web服务三者的概念已经混淆了,都是指当下最常见的网站服务应用。
  2.2 HTTP协议版本
  HTTP/1.0规定浏览器和服务器只保持短暂的连接(TCP短链接)
  HTTP/1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和时间延迟(TCP长连接)
  二、HTTP资源
  1媒体资源
  互联网上的数据有很多不同的类型,Web服务器会把通过Web传输的每个对象都打上MIME类型(即MIME type)的数据格式标签。最初设计MIME(Multipurpose Internet Mall Extension,多用途因特网邮件扩展)是为了解决在不同的电子邮件系统之间搬移报文时存在的问题.MIME在电子邮件系统中工作得非常好。后来,HTTP也支持了这个功能,用它来描述数据并标记不同的数据内容类型。
  当Web服务器响应HTTP谪求时,会为每一个HTTP对象数据加一个MIME类型,当Web浏览器获取到服务器返回的对象时,会去査看相关的MIME类型,并进行相应处理。
  MIME类型存在与HTTP响应报文的响应头部信患里,它是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由一条斜杠来分割。
  1.1 MIME媒体资源
  web服务可以处理的资源类型,根据扩展名进行识别(html css mp4)
  1.2 url/uri
  url:URL,全称为Uniform Resource Location,中文翻译为统一资源定位符
  uri:URI,全称为Uniform Resource Identifier,中文翻译为统一资源标识符
  URN:统一资源名称(Uniform Resource Name,URN),是URI两种形式之一。
  QPS:每秒钟处理完请求的次数;注意这里是处理完。具体是指发出请求到服务器处理完成功返回结果。可以理解在server中有个counter,每处理一个请求加1,1秒后counter=QPS。
  TPS:每秒钟处理完的事务次数,一般TPS是对整个系统来讲的。一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能会对应多个请求,对于衡量单个接口服务的处理能力,用QPS比较多。
  并发量:系统能同时处理的请求数
  RT:响应时间,处理一次请求所需要的平均处理时间
  计算关系:
  QPS=并发量/平均响应时间
  并发量=QPS*平均响应时间
  例如
  网址:http://reg.jd.com/reg/person?ReturnUrl=https%3A//www.jd.com/
  http://reg.jd.com---称为url
  /reg/person?ReturnUrl=https%3A//www.jd.com/---称为uri
  复制代码
  说明:nginx软件识别url和uri的方式和上面说明一致
  2网页资源种类
  静态网页资源
  动态网页资源
  伪静态网页资源
  2.1静态网页资源
  请求响应信息,发给客户端进行处理,由浏览器进行解析,显示的页面称为静态页面
  在网站设计中,纯粹HTML格式的网页(可以包含图片、视频JS(前端功能实现)、CSS(样式)等)通常被称为"静态网页"
  静态页面资源特征:
  1)处理文件类型:如.html、jpg、.gif、.mp4、.swf、.avi、.wmv、.flv等-
  2)地址中不含有问号"?"或&等特殊符号。
  3)保存在网站服务器文件系统上的,是实实在在保存在服务器上的文件实体
  4)网页内容是固定不变的,因此,容易被搜索引擎收录
  5)网页页面交互性交差,因为不能与数据库配合
  6)网页程序在用户浏览器端解析,当客户端向服务器请求数据时,服务器会直接从磁盘文件系统上返回数据(不做任何解析)
  优势:
  1)访问的效率比较高
  2)网页内容是固定不变的,因此,容易被搜索引擎收录
  3)网页程序在用户浏览器端解析,当客户端向服务器请求数据时,服务器会直接从磁盘文件系统上返回数据(不做任何解析)
  劣势:
  1)网页页面交互性交差,因为不能与数据库配合
  2)保存在网站服务器文件系统上的,是实实在在保存在服务器上的文件实体
  2.2动态网页资源
  所谓的动态网页是与静态网页相对而言的,也就是说,动态网页的URL后缀不是.html.htm、.xml、.shtml、.js css等静态网页的常见扩展名形式,而是.asp、.aspx、.php、.js、.do、.cgi等形式
  请求响应信息,发给屎务端进行处理,由服务端处理完成,将信息返回给客户端,生成的页面称为动态页面
  动态网页资源特点:
  1)网觅扩展名后缀常见为:.asp、.aspx、.php、.js、.do、.cgi
  2)网页页面交互性强,可以与数据库配合
  3)地址中含有问号"?"或&等特殊符号
  4)不便于被搜索引擎收录
  优势:
  1)客户端与服务端交互能力强
  劣势:
  1)访问的效率比较低
  2)不便于被搜索引擎收录
  2.3伪静态网页资源
  将动态页面伪装成静态页面,便于被搜索引擎收录
  将动态页面转换为静态页面的方式(rewrite正则表达式)
  将动态页面内容转换为静态页面,去掉动态页面uri地址中的?&字符,伪装成静态页面uri信息
  动态转静态(开发来配合完成)
  3网站流量度量术语
  3.1独立IP数度量值
  独立IP数是指不同IP地址的计算机访问网站时被计算的总次数
  在一个局域网内多个主机进行访问相同的网站地址时,独立IP数记为多少?
  一般一天内(00:00-24:00)相同IP地址的客户端访问网站页面只会被计一次
  记录独立IP的时间可为一天或一个月,目前通用的标准为"一天"。
  3.2页面浏览次数PV
  页面浏览量或点击量
  3.3独立访客数UV
  根据http请求报文:浏览器版本,OS
  根据http响应报文:cookie(id)
  cookie(id)将服务端的信息保存到客户端
  session将客户端信息保存到服务器
  3.4【扩展知识】cookie和session区别
  1)cookie介绍说明
  cookie存放在浏览器缓存中---浏览器进行查看(谷歌)
  【设置里面】---【显示高级设置】---【隐私设置】---【内容设置】---【所有cookie和内容设置】
  PS:cookie的格式信息是由开发人员进行定义,所以不同的网站所生成的cookie信息内容不太一致
  cookie数据存放在客户的浏览器上
  cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
  cookie不占用服务器端资源,提升了服务器性能
  cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
  2)session介绍说明
  session存放在服务器的内存中
  session数据放在服务器上
  session从数据库的安全应用方面会更安全些
  session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
  3)建议性说明:
  将登陆信息等重要信息存放为SESSION
  其他信息如果需要保留,可以放在COOKIE中
  4 IP PV UV统计度量的方法
  4.1 IP pv统计度量的方法
  1)利用awk或者相应统计命令,进行分析访问日志信息进行统计
  2)在网站访问页面中嵌入统计程序代码(页面结尾处),只有全部网页加载完毕后,才进行数据统计
  说明:利用hm.baidu.com在页面curl时会出现,利用百度进行统计PV IP信息
  利用第三方公认的统计工具进行统计,例如:百度统计工具hm.baidu.com
  4.2 UV统计度量的方法
  通过客户端HTTP请求报文分析
  通过Cookie信息鉴别统计
  4.3工作中常用的统计工具
  网页信息统计软件-piwik pwiki统计工具:(https://piwik.org/)pwiki演示页面:https://piwik.org/demo
  ELK软件介绍说明http://blog.oldboyedu.com/elk/
  5网站并发连接说明
  5.1如何理解网站并发的概念
  A种理解:网站服务器每秒能够接收的最大用户请求数。
  B种理解:网站服务器每秒能够响应的最大用户请求数。
  C种理解:网站服务器在单位时间内能够处理的最大连接数。(推荐)
  ss-lntup|grep 80
  netstat-lntup|grep 80
  复制代码
  5.2网站并发概念举例说明
  饭店吃饭/酒店住宿举例
  我们去餐馆吃饭,餐馆里一共有10张卓,每张桌最多坐4个人同时吃饭,那么按一般人的理解,这个餐馆能够接收的并发吃饭人数为10M,即40个并发,其实这里就没有考虑时间问题,1秒并发可以是40个,10分钟内并发也是40个。因为这里还有一个因素,就是每个人吃饭时长的问题,如果平均每个人10分钟吃完,那么可以说10分钟内,这个餐馆的并发为40个,而不是每秒钟并发40个,因为,秒可以是40个人同时进来,但是第二秒就无人可进了(满员了),如果说10分钟并发是40个,下一个10分钟还是40个,第三个10分钟还可以是40个。即网站服务器在单位时间内能够处理的最大连接数。
  高速公路通车举例说明
  高速公路每个方向都有两条车道,那么,同一时刻并发的车辆为两辆,并且并发可以永远为2,如果按秒计算,每秒的并发可能就有十几辆,这个例子和餐馆不同,因为高速路处理并发不需要处理时间。但是对于Web服务器来讲,是需要花费时间处理请求的,这个请求可能是1秒或数秒,因此说,并发不应该只是用户访问的请求数,而应是服务器同时处理的并发数,并且单位时间不一定是1秒,可能是一个连接处理周期内的连接数。
  5.3网站并发统计计算方法
  netstat-an|grep-i“est”|wc-l
  ss-ant|grep-ic est
  复制代码
  说明:在nginx web服务中相应的软件模块进行统计
  5.4统计公式说明
  例如:某网站的并发是5000。意味着单位时间内(理解为1秒或数秒内),正在处理的连接数,正在建立的连接数,加起来一共是5000个。
  下面是国外学者对网站并发数的计算公式及参考说明:
  Request Per Second+Simultaneous Browser connections+Thinking Time=Concurrent User
  其中:
  Concurrent User表示网并发用户总数一
  Request Per Second[RPS]表示每秒请求数(吞吐量
  Simultaneous Browser connections[SBC]表示并发浏览连接数。
  Thinking Time表示平均用户思考时间。
  5.1有关网站度量Linux企业运维问题
  常见的面试题如下:
  1)请问你如何理解网站并发?
  2)你们公司网站访问量是多少?是怎么计算的?
  —定要理解IP、PV、并发量这3个点的知识,在回答时才能有的放矢,这三个点的多少决定面试时说多大的架构,对于没有经验的新手不能在介绍有几万PV的同时描述数十台的集群架构,这样就尴尬了。
  关于网站访问指标的计算,可以考虑:
  运维部门的日志分析。
  开发在页面嵌入的JS程序(用于统计、收集、分析)。
  运营市场通过第三方公司提供的工具进行统计,例如GA统计。
  6 HTTP协议
  所有的协议,都是为软件提供服务的
  利用HTTP协议的软件,称为www服务软件或者web服务软件
  6.1 web服务软件分类
  1)静态解析web服务软件
  Apache:这是中小型Web服务的主流,Web服务器中的老大哥。
  Nginx:大型网站Web服务的主流,曾经Web服务器中的初生牛犊,现已长大。
  Nginx的分支Tengine(http://tengine.taobao.org/)目前也在飞速发展。
  Lighttpd:这是一个不温不火的优秀Web软件,社区不活跃,静态解析效率很高。
  在Nginx流行前,它是大并发静态业务的首选,
  国内百度贴吧、豆瓣等众多网站都有Lighttpd奋斗的身影。
  2)动态解析web服务软件
  PHP(FastCGI):大中小型网站都会使用,动态网页语言PHP程序的解析容器。它可配合Apache解析动态程序,
  不过,这里的PHP不是FastCGI守护进程模式,而是mod_php5.so(module)。也可配合Nginx解析动态程序,此时的PHP常用FastCGI守护进程模式提供服务。
  Tomcat:中小企业动态Web服务主流,互联网Java容器主流(如jsp、do)。
  Resin:大型动态Web服务主流,互联网Java容器主流(如jsp、do)。
  IIS(Internet information services):微软windows下的Web服务软件(如asp、aspx)

更多 最新课程学员问答学习资料优惠活动学校地址 等,请点击北京老男孩教育 ,咨询电话: 400-888-4846 ,QQ咨询: 北京老男孩教育为您服务

您也可以留下您的联系电话,课程老师会时间给您回电解答:预约咨询

北京老男孩教育—学员评价更多>>我要评价

蒋**去年和几个兄弟一起来北京老男孩教育学习编程,现在成功的成为了一名程序猿,虽然辛苦点,但是每个月过万的工资已经让我特别满意啦!
学员电话:1651246**** | 报名课程: Go语言开发 | 网点: 昌平校区 | 时间: 2019-01-18 17:12:37
洪**老男孩教育的IT课程非常棒,老师也很负责,是学习计算机的好去处呢!
学员电话:1351236**** | 报名课程: Linux云计算运维全能班 | 网点: 昌平校区 | 时间: 2019-01-18 15:08:37
栗**要说老男孩教育真心很靠谱,怪不得口碑这么好!老师很专业!
学员电话:1391256**** | 报名课程: 阿里云架构师 | 网点: 昌平校区 | 时间: 2019-01-19 23:47:37
朱**一直对计算机比较感兴趣,在毕业后也没有找到合适的工作,所以就去老男孩学Java,现在我的工作比较好,每个月的工资都比我同龄人高,感觉还挺欣慰的。
学员电话:1391236**** | 报名课程: Go语言开发 | 网点: 昌平校区 | 时间: 2019-01-18 02:37:37
姚**老男孩教育的大数据课程真的非常的好,主要是老师讲的专业、到位,我和朋友感觉能够学到实在的东西,觉得不错。
学员电话:1355536**** | 报名课程: Linux云计算运维全能班 | 网点: 昌平校区 | 时间: 2019-01-21 01:02:37
任**儿子毕业想学Java就给他在老男孩教育报了Java大数据软件高端课程,他说老师讲的特别好。
学员电话:1351277**** | 报名课程: Python自动化开发周末精英班 | 网点: 昌平校区 | 时间: 2019-01-18 06:36:37
周**现在Python挺火的,朋友介绍报了北京老男孩教育的Python语言高端课程,管理真的很严格,畏怯还推荐就业,学出来不怕找不到工作。
学员电话:1869876**** | 报名课程: 大数据开发脱产班 | 网点: 昌平校区 | 时间: 2019-01-20 01:09:37
俞**北京老男孩教育的老师教学经验丰富,上课的时候非常幽默。
学员电话:1351566**** | 报名课程: 大数据开发脱产班 | 网点: 昌平校区 | 时间: 2019-01-23 04:29:37
黄**一直很想学习Java,看了很多机构,在朋友的推荐下选择了老男孩,果然没有让我失望。
学员电话:1351236**** | 报名课程: Linux架构师 | 网点: 昌平校区 | 时间: 2019-01-22 17:57:37
朱**北京老男孩教育的校区环境好,师资力量也很强大,在这里学习很放心。
学员电话:1391236**** | 报名课程: Go语言开发 | 网点: 昌平校区 | 时间: 2019-01-17 11:37:37

北京老男孩教育-最新动态 NEWS更多>>

学校首页| 课程导航| 最新开班| 学校简介| 名师推荐| 校区地址| 最新优惠| 学员问答| 学员评价| 最新动态| 学校相册

北京老男孩教育 北京老男孩教育怎么样|北京老男孩it教育|北京老男孩教育官网|it培训机构

北京老男孩教育 团购预约热线: 400-888-4846

扫描手机访问