Http协议知识总结

(感谢老男孩优秀学员笔记分享)
1、HTTP协议介绍
1)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)HTTP协议版本

HTTP/1.0 规定浏览器和服务器只保持短暂的连接(TCP短链接)

HTTP/1.1 支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和时间延迟(TCP长连接)

2、HTTP协议原理过程
在linux系统中查看报文的方法
curl -v ##显示访问域名请求报文与相应报文信息

[root@www opt]# curl -v www.baidu.com 
* About to connect() to www.baidu.com port 80 (#0)
*   Trying 104.193.88.77...
* Connected to www.baidu.com (104.193.88.77) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: www.baidu.com
> Accept: */*
> 
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
< Connection: Keep-Alive
< Content-Length: 2381
< Content-Type: text/html
< Date: Sun, 10 Feb 2019 12:53:32 GMT
< Etag: "588604ec-94d"
< Last-Modified: Mon, 23 Jan 2017 13:28:12 GMT
< Pragma: no-cache
< Server: bfe/1.0.8.18
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
.........

1)响应http请求方法

HTTP方法作用描述
GET客户端请求指定资源信悤,服务器返回指定资源
HEAD只请求响应报文中的 HTTP首部
POST将客户端的数据提交到服务器,例:注册表单
PUT用从客户端向服务器传送的数据取代指定的文档内容
DELETE请求服务器删除 Request-URI所表示的资源
MOVE请求服务器将指定的页面移至另一个网络地址

2)http的请求过程
在这里插入图片描述
请求头信息说明
在这里插入图片描述

3)http响应过程
在这里插入图片描述

4)响应头信息说明

响应头说明
Server服务器应用程序软件的名称和版本
Content-Type响应正文的类型(是图片还是二进制字符串)
Content-Length响应正文长度
Content-Charset响应正文使用的编码
Content-Encoding响应正文使用的数据压缩格式
Content-Language响应正文使用的语言

3、HTTP协议的状态码
HTTP状态码(HTTP Status Code )是用来表示Web服务器响应HTTP请求状态的数字代码。每当Web客户端向Web服务器发送一个HTTP请求时,Web服务器都会返回一个状态响应代码。这个状态码是一个三位数字代码,作用是告知Web客户端此次请求是否成功,或者是否要采取其他的动作方式。
1)不同范围的状态码及其对应的作用

状态码范围作用描述
100 - 199用于指定客户端相应的某些动作
200 - 299用于表示请求成功
300 - 399用于己经移动的文件,并且常被包含在定位头信息中指定新的地址系信息
400 - 499用于指出客户端的错误
500 - 599用于指出服务端的错误

2)常见的状态码

代码代码说明
200请求成功
301 Moved Permanently(永久跳转)请求的网页已永久跳转到新位置
302请求资源临时重定向
401客户端请求需要在服务器端进行认证
403 Forbidden(禁止访问)服务器拒绝请求
404 - Not Found服务器找不到请求的页面
500内部服务器错误
502坏的网关,一般是网关服务器请求后端服务时,后端服务没有按照http协议正确返回结果
503 - Service Unavailable(服务当前不可用)可能因为超载或停机维护
504 - Gateway Timeout(网关超时)一般是网关服务器请求后端服务时,后端服务没有在特定的时间内完成服务

4、HTTP资源
媒体资源
互联网上的数据有很多不同的类型,Web服务器会把通过Web传输的每个对象都打上MIME类型(即MIME type)的数据格式标签。最初设计MIME(Multipurpose Internet Mall Extension,多用途因特网邮件扩展)是为了解决在不同的电子邮件系统之间搬移报文时存在的问题.MIME在电子邮件系统中工作得非常好。后来,HTTP也支持了这个功能,用它来描述数据并标记不同的数据内容类型。

当Web服务器响应HTTP谪求时,会为每一个HTTP对象数据加一个MIME类型,当Web浏览器获取到服务器返回的对象时,会去査看相关的MIME类型,并进行相应处理。

MIME类型存在与HTTP响应报文的响应头部信患里,它是一种文本标记,表示一种主要的对象类型和一个特定的子类型,中间由一条斜杠来分割。

1)MIME媒体资源

web服务可以处理的资源类型,根据扩展名进行识别(html css mp4)

2)URL/URI
URL:全称为Uniform Resource Location,中文翻译为统一资源定位符

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

3)网页资源种类:
静态网页资源
动态网页资源
伪静态网页资源
3.1 静态网页资源
请求响应信息,发给客户端进行处理,由浏览器进行解析,显示的页面称为静态页面

在网站设计中,纯粹HTML格式的网页(可以包含图片、视频JS (前端功能实现)、CSS (样式)等)通常被称为"静态网页"

静态页面资源特征:

  1. 处理文件类型:如.html、jpg、.gif、.mp4、.swf、.avi、.wmv、.flv等-

  2. 地址中不含有问号"?"或&等特殊符号。

  3. 保存在网站服务器文件系统上的,是实实在在保存在服务器上的文件实体

  4. 网页内容是固定不变的,因此,容易被搜索引擎收录

  5. 网页页面交互性交差,因为不能与数据库配合

  6. 网页程序在用户浏览器端解析,当客户端向服务器请求数据时,服务器会直接从磁盘文件系统上返回数据(不做任何解析)

优势:

  1. 访问的效率比较高

  2. 网页内容是固定不变的,因此,容易被搜索引擎收录

  3. 网页程序在用户浏览器端解析,当客户端向服务器请求数据时,服务器会直接从磁盘文件系统上返回数据(不做任何解析)

劣势:

  1. 网页页面交互性交差,因为不能与数据库配合

  2. 保存在网站服务器文件系统上的,是实实在在保存在服务器上的文件实体

3.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.不便于被搜索引擎收录

3.3伪静态网页资源
将动态页面伪装成静态页面,便于被搜索引擎收录

将动态页面转换为静态页面的方式(rewrite 正则表达式)

将动态页面内容转换为静态页面,去掉动态页面uri地址中的? &字符,伪装成静态页面uri信息

动态转静态(开发来配合完成)

5、网站流量度量术语
1)独立IP数度量值

独立IP数是指不同IP地址的计算机访问网站时被计算的总次数

在一个局域网内多个主机进行访问相同的网站地址时,独立IP数记为多少?

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

记录独立IP的时间可为一天或一个月,目前通用的标准为"一天"。

2)页面浏览次数PV

页面浏览量或点击量

3)独立访客数UV

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

根据http响应报文:cookie(id)

cookie(id) 将服务端的信息保存到客户端

session 将客户端信息保存到服务器

4)扩展知识
cookie和session区别

① cookie介绍说明

cookie 存放在浏览器缓存中—浏览器进行查看(谷歌)

【设置里面】—【显示高级设置】—【隐私设置】—【内容设置】—【所有cookie和内容设置】

PS:cookie的格式信息是由开发人员进行定义,所以不同的网站所生成的cookie信息内容不太一致

cookie 数据存放在客户的浏览器上

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

cookie 不占用服务器端资源,提升了服务器性能

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

② session介绍说明

session 存放在服务器的内存中

session 数据放在服务器上

session 从数据库的安全应用方面会更安全些

session 会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
③ 建议性说明:

将登陆信息等重要信息存放为SESSION

其他信息如果需要保留,可以放在COOKIE中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值