http协议理论知识


http协议
https = http + ssh
tcp比udp要用的多
协议意思就是规则 服务端和客户端建立连接需要遵循这些协议
osi七层模型 是理论上的
实际当中传输 4层模型 : 
数据链路层:
 网络层 :连接 ip  icmp
 传输层 :传输数据  udp/tcp
应用层 :服务的协议 web ssh ftp
作为运维主要了解传输层和应用层
传输层 
tcp 比较安全 速度较慢 、
建立连接需要三次握手 
client发送请求连接---server接收响应连接
server同意连接---client响应同意建立
client进行连接---server连接成功
断开需要四次挥手
client---断开连接
server---client 同意断开连接 检查是否还有数据进行传输中
server---client 传输完毕 可以断开
client---server确认断开连接

udp 不太安全 速度快
连接
client请求连接---server建立连接
server建立成功---client响应数据
断开
client请求断开---server建立响应
server同意断开---client直接断开

http协议:
版本1.0 现在1.1
1.0增加了请求头部的功能,能传输处理图片视频表格之类
1.1支持了长连接的功能 
http请求方式
HTTP方法有以下几种:
(1)、GET: 客户端请求指定资源信息,服务器返回指定资源。
(2)、HEAD:只请求响应报文中的HTTP首部。
(3)、POST:将客户端的数据提交到服务器。
(4)、PUT:用从客户端向服务器传送的数据取代指定的文档内容。
(5)、DELETE:请求服务器删除Request-URI所标识的资源
(6)、MOVE:请求服务器将指定的页面移至另一个网络地址。
HTTP协议1.1版本中的状态码可以分为五大类。
client---server请求
sserver---client 响应 状态码
server---client 回应202 或者 404
状态码范围
100~199:用于指定客户端应相应的某些动作
200~299:用于表示请求成功
300~399:用于已经移动的文件,并且常被包含在定位头信息中指定的地址信息
400~499:用于指出客户端的错误
500~599:用于指出服务器的错误
HTTP响应的状态码种类很多,但是在实际生产环境中,经常遇到的状态码却不是很多,我们来看看常见的一些状态码。
200 -- OK :服务器成功返回页面,这是成功的HTTP请求返回的标准状态码
301 -- Moved Permanently :永久跳转,所请求的网页将永久跳转到被设定的新位置,例如:从www.kgc.cn跳转到www.kgc.com
403 -- Forbidden :禁止访问,虽然这个请求是合法的,但是服务器端因为匹配了预先设置的规则而拒绝响应客户端的请求,此类问题一般为服务器或服务权限配置不当。
404 -- Not Found : 服务器找不到客户端请求的指定页面,可能是客户端请求了服务器上不存在的资源。
500 -- Internal Server Error :内部服务器错误,服务器遇到了意料不到的情况,不能完成客户的请求。这是一个较为笼统的报错,一般为服务器的设置或内部程序问题导致例如:SELinux开启,而又没有为HTTP设置规则许可,客户端访问就是500。
502 -- Bad Gateway :坏的网关,一般是代理服务器请求后端服务时,后端服务不可用或没有完成响应网关服务器。这通常为反向代理服务器下面的节点出问题所致。
503 -- Service Unavailable : 服务当前不可用,可能是服务器超载或停机维护导致的,或者是反向代理服务器后面没有可以提供服务的节点。   访问不到web节点
504 -- Gateway Timeout : 网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求。多数是服务器过载导致没有在指定的时间内返回数据给前端代理服务器。
httpd的报文
HTTP请求报文由请求行、请求头部(header)、空行和请求报文主体几个部分组成
请求行
请求行是请求报文的第一行,用来说明客户端想要做什么。内容由请求方法字段、URL字段和HTTP协议版本字段组成,它们之间用空格分隔。

请求头部
请求头部由关键字/值对组成,每行一对,关键字和值用英文冒号“.”分隔。请求头部的作用是通过客户端把请求的相关信息告诉给服务器。与请求报文相关的最常用的请求头是Content-Type和Content-Length。
格式:请求的动作(get)  路径www.baidu.com   版本号http1.1
请求头部:描述客户端的信息,以键值对的形式来表示(key:value)
      Accept:客户端能够处理的页面/数据的类型
     例:Accept:text/html,text/css,image/jpeg,image/gif,video/mp4 
      Accept-Encoding:客户端支持的编码类型
     例:Accept-Encoding:gzip,deflate
      Connection:客户端与服务端的连接方式
     例:Connection:closed,keep-alived
      X-Forwarded-For:记录请求包所经过的客户端以及代理服务器
      Authorization:记录客户端的验证信息
      Host:记录服务端的域名
     例:Host:www.baidu.com
      User-Agent:用来记录浏览器的内核,版本等信息
<空行>
请求主体:客户端使用PUT/POST方法时才会有具体的内容
响应报文
HTTP响应报文由起始行、响应头部(heder)、空行和响应报文主体这几个部分组成,和HTTP请求报文格式类似。
(1)起始行
响应报文的起始行也叫状态行,用来说明服务器响应客户端请求的状况。一般为协议及版本号、数字状态码、状态情况。例如: HTTP/1.1 200 OK。

(2)响应头部
和请求报文类似,起始行的后面一般有若干个头部字段。每个头部字段都包含一个名
字和一个值,两者之间用冒号分隔。头部结尾也是以一个空行结束的。常见的头部信息有:
Content-Type: text/html; charset-utf-8等

(3)空行
最后一个响应头部信息之后是一个空行,通过发送回车符和换行符,通知客户端空行下文无头部信息了。

(4)响应报文主体
响应报文主体中装载了要返回给客户端的数据。这些数据可以是文本,也可以是二进制的(如图片、视频)。

Web服务器接受到请求后,返回一条HTTP响应报文,这条响应报文中包含了HTTP的版本号 (HTTP/1.1 )、成功的状态码( 200)、状态描述(OK),以及 若干个响应头部字段,,在所有这些内容之后跟着包含了所请求资源的响应主体。Content-Length首部说明响应主体的长度,Content-Type 首部说明文档的MIME类型。
HTTP协议原理及重点分析
应用层 表示层 会话层 传输层  网络层 数据链路层 物理层   C/S
HTTP协议属OSI模型中的第七层应用层协议。HTTP协议的重要应用就是www服务应用。以HTTP协议进行通信时,需要有客户端(即终端用户)和服务器端(即Web服务器),在Web客户端问Web服务器发送请求报文之前,先要通过TCP/IP协议在Web客户端和服务器
之间建立一个TCP/IP连接。整个HTTP协议请求的工作流程:
(1)终端客户在Web浏览器地址栏输人访问地址http://www.kgc.cn/index.html
(2)Web浏览器请求DNS服务器把域名www.kgc.cn转换成Web服务器的IP地址,此处的解析过程就是DNS解析的原理流程。
(3)Web浏览器将端口号 (默认是80)从访问地址(URL)中解析出来。
(4)Web浏器通过解析后的IP地址及端口号与Web服务器之间建立一条TCP连接。
(5)建立TCP连接后,Web浏览器问Web服务器发送一条HTTP请求报文。
(6)Web服务器响应并读取浏览器的请求信息,然后返回一条HTTP响应报文。
(7)Web服务器关闭HTTP连接,关闭TCP连接,Web浏览器显示访问的网站内容到屏幕上。
1.3  HTTP资源
1.3.1 媒体类型
互联网上的数据有很多不同的类型, Web服务器会把通过Web传输的每个对象都打上MIME类型(即MIME type)的数据格式标签。最初设计MIME ( Multipurpose Internet Mail Extension,多用途因特网邮件扩展)是为了解决在不同的电子邮件系统之间搬移报文时存在的问题。MIME在电子邮件系统中工作得非常好,后来,HTTP也支持了这个功能,用它来描述数据并标记不同的数据内容类型。
当Web服务器响应HTTP请求时,会为每一个HTTP对象数据加一个MIME类型。当Web浏览器获取到服务器返回的对象时,会去查看相关的MIME类型,并进行相应处理。
MIME类型存在于HTTP响应报文的响应头部信息里,它是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由一条斜杠来分隔。
 

URL统一资源定位符 网址
URL是Internet上用来描述信息资源的字符串,主要用在各种www客户端和服务器程序上。URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。
URL的格式由下列三部分组成:
第一部分是协议,例如:http。
第二部分是主机资源服务器IP地址或域名(端口号),例如: www.kgc.cn:8080
第三部分是主机资源的具体地址,如目录和文件名等,例如: teacher/index.html
第一部分和第二部分之间用“:// "符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分可以省略。

URI 统一资源标识符  图片 文档 一类文件
第一部分 访问资源的命名极致。
第二部分 存放资源的主机名
第三部分 资源自身的名称 由路径表示

网页的分类
1,静态页面
html htm png jpeg 静态数据 不会变的数据
缺点:和用户的交互不太好 更改麻烦 
优点:能够容易被搜索引擎抓取到  解析网页速度快
静态网页语言
常见的静态网页语言有HTML、 JS、 CSS、 XML,、SHTML等
2 动态页面
.asp、.aspx、 .php、 .js、.do、 .cgi 动态网页
里面的数据是和后端数据库相连的 随之数据库更新所更新
优点:和用户交互比较好 现在的网页大部分都是动态网页 
后期维护方便
缺点:不容易被搜索引擎抓取到
浏览器解析网页速度比较慢
3.伪静态页面
动态页面---交互好  搜索引擎抓取
动态页面的url---转换为静态页面的url
搜索引擎在抓取的时候只会去看url  就会直接把动态页面当成静态页面抓取
缺点:
静态转换为动态---提高服务器的压力
伪静态网页作用:
一是让搜索引擎收录网站内容,让更多的用户访问企业网站内容。二是提升用户访问体验,动态地址带特殊符号等的URL看起来也不如静态网页地址舒服。

网站度量单位
ip并发访问量
按天计量
192.168.2.1 www.baidu.com 1
一个ip一天之内访问网站 就会记1
所以说,对于网站来说一天内多个相同IP的客户端访问会被计为一个独立IP

pv页面浏览量
PV (访问量)即Page View,中文翻译为页面浏览,即页面浏览量或单击量,不管客户端是不是相同,也不管IP是不是相同,用户只要访问网站贝面就会被计算PV,一次计一个PV。
网页刷新就会记 1
般为了防止用户快速刷PV,很多网站会把PV的统计程序放在页面的最下面。

uv独立访客量
一个设备去访问网站 就会记1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值