00:00
前面我们在学习三大协议四大角色的时候。曾经说过HTTP协议。HTP协议是浏览器和web服务器进行。数据交换。啊,所要遵循的一种规范。咱们说了呀,协议是什么?就是规范规则。是一种事先的约定。IP协议。对于。我们web编程。非常重要。因为我们浏览器。就是通常情况下我们的浏览器和服务器之间。或者这样说,说的再白一些啊,就是我们平常上网的时候用到的其实都是STP协议,也就是说我们开发出来的应用也都是基于IB协议的。所以。我们程序员首先要对HTTP协议非常的了解。
01:07
那么下面我们就来。学习IP协议。HTTP是什么hyper?Transfer protocol。什么意思?就是超文本传输协议。它是一个基于请求响应模式的,请求响应是什么啊,我们一会儿来说。无状态的网络协议什么是无状态?我们后边来说。那么大家首先要知道的是,APP协议是我们的客户端浏览器和服务器之间。进行通讯的一种协议。它是一种约定,是一种格式。
02:02
当然这个格式。由于我们是这个IB啊,分为请求和响应部分,所以这个格式呢,也就分为了请求格式与响应格式。那我们首先要了解什么是请求,什么是响应。所谓请求,就是浏览器向服务器发送数据,这就叫请求。那什么是响应的服务器向浏览器发送数据?就成为响应response。那么。我们通常我们我们当然我们用的啊,作为普通用户来用的话,那肯定就是通过浏览器要访问服务器了。也就是我们要做的,作为用户来说,他要做的就是发送请求,那怎么样就发送了请求了,通过浏览器发送了请求了呢。
03:08
其实很简单。就是我们在地址栏里边。输入你要访问的地址,这就是一种发出请求的方式。比如说吧。家康。我这里。这个比如访问京东。我在地址栏输入3W点京东点。com回车。这就提交了请求了,什么请求?我要访问京东。这个网站它的首页。你把这个请求提交给谁了?提交给京东的服务器了。京东服务器接收到以后,会给出我们一个响应。
04:03
诶,你请求什么呢?你请求这个页面呢,我就把这个页面发给你,所以我们在这儿就能看到京东的首页了。这就是一种请求。当然,还有什么。还有超链接呀,大家看。这个图片就是超链接呀,我点一下你看这是又发出一次请求。这是超链接,也是发出请求,再比如说大家看啊,我免费注册。这是一个表单对吧,我在表单里边填入这些信息以后,一点立即注册,这是什么。这表单提交啊。是不是这也是一种请求?当然了,再比如说我们在填数据的时候啊,填密码的时候,那注册的时候填密码呀。填密码,我输入在这儿输的密码123,我在这儿输的321。
05:05
这肯定不行吧,123我这儿输321。你看两次密码输入不一致,另外他提示长度只能在六到20个字符之间,这是什么?这实际上是。阿贾克斯请求。这发出的是一个阿贾克斯请求。这是另外一种请求方式。包括什么?我给大家输入一个。我我输什么,我这用户名就叫。ABCDEFG。你看。他说已经被注册了,为什么他能知道已经被注册了,就是因为这里边发出了一个阿贾克斯请求,所以这都是请求。这是我们通常见到的。
06:00
我们浏览器发出的请求的这种方式。我们知道了什么是请求了,响应也知道响,就是你请求什么东西,他给你发过来什么东西是吧,那么。刚才我记得给大家说了这个请求和响应。都需要遵循,是不是协议啊?有请求协议和响应协议,并且我们刚才说的这个协议是什么,是约定,是一种格式。那我想看一下,到底这个请求发送的数据格式和响应发送的数据格式都是什么呢?如果要想这个,那么我们就需要。使用一个抓包工具。抓包工具很多啊,我们常用的抓包工具是I watch,它可以对请求和响应进行拦截。
07:10
所以我们下边就来看http watch。怎么使用?当然,要想使用它,我们需要先安装。吐死。下边有这个I watch,我就安装了。这个安装很简单,这是它的这个license啊,直接它就检测到了我们下一步。这是添加firefox的插件,就是我们这个I watch啊,可以在IE下使用,也可以在firefox下使用。我给他添加上,我们一会儿用firefox。在firefox中使用watch。下一步。
08:01
然后安装到哪儿呢。安装到D盘。Setup下it watch安装。哎,这时候他让要给firefox安装,所以他要求我们把这个firefox给关闭,那我们关闭。好了。安装完毕了。安装完毕以后,那怎么用呢。这样来用的。打开firefox。诶,你看看他已经检测到这儿有个插件了。
09:00
允许此次参加。继续。然后重新启动firefox。好了。关了他。这样咱们这样手工启动啊。大家看工具。这是不是有I watch?这就是I watch的界面。好。我现在访问淘宝。直空。在我发出请求之前。先点一下record记录。我现在要开始监测这个请求了,我点record。然后。走。大家看。这是他监测到的发出的请求。
10:02
大家看。这是他监测到的。那这个怎么用呢?你想查看哪一个请求,你就点击它。然后。当然这里面每一个数据什么意思,我们回头来查看啊。大家看这。啊。看到这儿。Re。这是什么东西?这就是。这个stream就是这是请求协议,这是响应协议,就是这个格式啊。约定啊。这我们就亲眼看到了,当然这都是什么东西,乱七八糟的,我们一会儿会给大家详细分析啊,好了,这个已经看到了,看到以后。
11:01
我也可以给他。清除。停止,诶,你如果还想发出其他的请求是吧,那么可以再次点它进行记录,那就这样了。这个先简单说一下它的使用啊。恩。不过你需要注意,刚才我们好像说了it watch是不是需要。不是需要啊,可以在呃哪儿啊呃firefox下使用,也可以在I下使用,那么我们在A下使用一下。再挨一下啊。嗯,咱们这样,我给这儿。大家看工具I watch professional这专业版呢?
12:03
好。记录。我现在要访问。京东点。com照。Yeah。怎么回事?怎么不能访问呢?什么意思,停了,清掉。我在刷新。哎,这可以啊。是不是就可以啊。记录我再刷新。哎,这怎么回事,这就是我要给大家说的,你需要注意的一点啊。我现在用的这个系统是WIN10。WIN10系统下需要使用的ATP watch要求最低版本是十。而我们现在从网上下载到的我们可以使用的版本。最高也就到九了。
13:01
使我们能用的版本下载不到,所以没办法了。没办法用,我跟你说,刚才我在firefox下使用。如果我不给你交代后边的话,你在你的记忆上,你会发现你在firefox下也不能用。这里边儿有一些需要说明的东西。你要想使用在WIN10下要使用啊,你记着firefox使用的版本,不要用最新版本,就用FIREFOX35这个版本。Http watch就用9.4.17这个版本。然后你在firefox下是可以使用at TP watch,但如果说你用的是9.4.17,但你的firefox用的是最高版本,现在最高版本50,你要用的是50这个版本,你会发现IP那个firefox下是没法使用I watch的。
14:10
你现在用的这个I watch9.4.17再按一下是不能用的。只要一打开,他就把你的请求给你整个拦截了。所以啊。诶,大家需要注意这个版本的问题。Firefox我们就使用35这个版本,I watch用9.4.17,当然到后边啊,如果有了我们可用的I watch10以上的版本,那么就无所谓了。好,这是关于这个IP watch和firefox版本的问题啊,我就不说了,那么下边啊,我们看一下什么。看一下这个。浏览器自动发出的请求。
15:03
也就是说其实上大家大家刚才已经看到了啊。哇。I you watch。你看这。我再点一下,它其实是。发出我们手工操作的,手工提交的请求,是不是就一个呀。就我点一下,点一个超链接,它就一个请求对吧。我点。可实际上你会看到这里边儿有多少请求呢?大家看到没?这都是。还没结束呢。这都是。这么多请求,这都从哪儿来的?我们就发出了一个。他为什么会出现这么多请求?诶,这就是要给大家讲的这个请求啊。
16:03
浏览器发出的请求分这样的两种情况,一个是手工提交的请求。用户手工提交的请求,那比如说刚才给大家说了。是吧,那个。叫什么?呃,我们的第几栏呀,超链接呀。是吧,这些都是手工。还有是。浏览器自动发出,这是自动发的,又是什么呢?我们来看个例子啊,我建个web工程。这个叫什么?咱们这样吧,还叫my web吧。叫my web。恩。然后2.5直接finish。
17:01
这样我给这儿啊来个资源包。Folder。往里面放点资源啊,Resources放点什么呢?咱们放个图片,放个GS放个CSS可以吧。素材。放个图片,咱们放这个车吧。这车好看是吧?放个图片。再来个。这个GS。这GS那没有啊。直接创建一个file,直接创建一个file,这个GS叫什么就叫。
18:02
卖点GS可以吧,随便起什么名都行啊。啊,这个GS,我们这里面就写上一句话,Alert。这个。Hello。哎,TP,我去就这就写这一句话。好了。再来一个。再来个CSS,诶有CSS文件是吧,其实我们也用不着这样直接建个就行了,我这个叫卖点CSS。结束。它里边就含了一个字符编码,这个我们也不用八颗。Ground。
19:00
Bike。哎,怎么白了啊?我就给整个页面加个背景色,Background color。来个红色是吧,显眼儿好。这在哪呢?都在这个resources资源下呢啊。紧接着我在塔下边拉一个。呃,J。叫什么?我们就叫秀点JSP。是错了啊,不是JSP。捡JSP干嘛?IITL啊I tml叫Q点IL。
20:00
这样啊。我先把这个图片拿过来,先看着这个图片图片。Imagine对吧?这个就叫卡,这是卡点JPG,但是在哪放着呢?对,在resources are resources下边的是不是它下边的差点记不记呀,对不对,好,我把图片拿过来了。现在就可以跑了,这程序现在就能跑了啊,我们看一下。诶,Firefox默认浏览器,Firefox就要它了。Run as。好。我要打开ITV watch。
21:00
现在要记录了,访问谁呢?Q点,哎,听见没有,你注意,我现在在地址栏里边一敲回车。我手工提交了几个请求。对,就一个,就这一个请求啊,我手工提交这一个请求,但是大家注意看一下,一会儿你看看浏览器真正提交的请求有几个。走。你看到没几个,两个,一个是itl的,一个是看JPG。有同学说,这算请求吗?这当然是请求啊。你看看没事的。这个master get啊,这个咱们还没讲呢,一会儿会讲到。这200先说一下200什么表示成功了。这给出来这服务端给我们的一个响应,表示我给你响应已经成功了。
22:02
我们一会儿也会说这个状态码。这就两个请求。好,我们看一下。你看看。这边。你看这就是这个请求,这个请求。他的请求协议。这是给出的相应相应的协议。再点它。你看。这是请求。这,原来这是什么东西啊?这就给的想象是什么呀,图片呢,这这个图片呢。他是二进制的吗?这边解析不了啊,那OK了。好。情调,情调。刚才说了啊。你手工提交了一个请求,实际浏览器提交了几个,两个,一个是HTML文件的。
23:07
对这个资源的请求,一个是对是不是这个图片资源的请求啊。那再来看。我来一个。Link。二。R21F对吧,我要连接谁呀。是不是连着CSS啊?这CSS是谁卖点CSS在哪放着呢?Resources下边的卖点CSS。Re啊,这怎么ref了ref啊,好,大家再看啊,现在再看。我这页面改了啊,不用重新发布。
24:01
这边只需要刷新就行了。记录。看好。走。你看是不是颜色变成底色变成红色了,对吧,你再看这发出几个请求,123是不是三个请求。这个请求你看给出来的。你看这不就是他吗?这不就是我们那个CSS文件吗。这给的响应啊,对于这个请求,服务器给出我们的响应。这是不是一共发出三个。请求啊,当然用户手工提交的请求仍然是这一个对吧,好,我继续来改。再连谁是不是GSGS用的是谁呀,对script。这个是src。
25:03
Resources resources下边的卖点,GS。太好。停止。清掉记录。早。哎,你看看。看到这儿了没?这是不是我们那个。JS弹出了一个。Alert框啊,确定一下,你看发出几个请求四个。从这儿啊。从这儿我们就知道了。这个一个页面。或者说我们的用户所提交的一个请求,手工提交的一个请求,他实际上对于浏览器来说,提交的可不见得是一个请求,他是提交了两类,一类是。
26:05
用户手工提交的一类是页面自动提交的,像这种图片资源,像这种GSCSS这种资源,这都是属于提交的请求,那么是请求。客,这个服务端就会给出我们响应。好。这是我们首先啊。啊,了解一下这个。IP协议以及请求与响应。
我来说两句