06-04-了解HTTP

1.了解HTTP

(1).什么是HTTP?

HTTP,HyperText Transfer Protocol,超文本传输协议。
作用:用于从Web服务器传输超文本到本地浏览器的传送协议。
解读这一句:方向是从服务器到浏览器,传送数据 ,协议
将HTTP拆分成三个部分:

  • HyperText
  • Transfer
  • Protocal

HyperText
决定了传送的内容
和HTML中的HyperText是一致的,超文本
请问:什么是超文本?
所谓的超文本,就是指HTML文件、图片文件、音视频文件、动画文件、css文件夹、js文件等。
Transfer
传输的意思。
决定了HTTP的作用。
既然是传输,就一定涉及到双方:

  • 传送方
  • 接收方
    实际上,传送方是服务器端,接收方是浏览器端。
    Protocal
    协议,就是规范。
    决定了如何来传输内容。
    只要涉及到双方,肯定有一个规范。
    既然是从服务端向浏览器端传输超文本,应该怎么传送,相应的就有一些规范。

(2).HTTP的构成?

HTTP是有两个部分构成的:

  • HTTP请求
  • HTTP响应
    实际上,HTTP本质上是指超文本如何从服务端传输到浏览器端的。
    但是,这个传输它不是主动完成的,而是被动完成,用户在浏览器中输入了url,或者点击某个超链接,才会开始传输内容。
    换言之,HTTP是一个请求/响应模型。
    在HTTP中,一定是先有请求,然后才有响应。
    针对请求,称之为request,有三个部分构成:
  • 请求行
  • 请求头请
  • 求正文
    针对响应,称之为response,也有三个部分构成:
  • 状态行
  • 响应头
  • 响应正文

(3).网络查看工具–network

网络查看工具是任何一个web开发人员必须要掌握的一个工具。
基本上,所有的浏览器都有network面板。
Chrome浏览器
在这里插入图片描述
针对http请求,可以分为不同的类型,如下:
在这里插入图片描述
Firefox浏览器
在这里插入图片描述
在这里插入图片描述

(4).http请求

http请求有如下三个部分构成的:

  • 请求行
  • 请求头
  • 请问正文
    在http中,http请求分为如下两种:
  • get请求
  • post请求

get请求

直接使用url来访问页面,都属于get请求。典型形式有:

  • 在地址栏中中输入url
  • 点击页面中的超链接
  • 通过js跳转
    平常,浏览网站和页面的时候,都是属于get请求
    使用一个本地的静态页面,来说明,访问如下:
    在这里插入图片描述

点击每一个请求,就可以查看其详细信息。
firefox如下:
在这里插入图片描述
注意:chrome浏览器比较特殊,访问任何一个页面,都会自动去请求一个favicon.ico的文件。
在chrome浏览器下,点击每一个请求,对应的有如下几个选项:
在这里插入图片描述
重点要分析Headers
在这里插入图片描述
在这里插入图片描述
Get请求,请求正文为空。
请求行中,一般包括如下:

  • 请求的路径,比如/
  • 请求的方式,如get或post
  • 协议的版本,如HTTP/1.1
    请求正文,针对get请求,永远为空。

post请求

使用form来提交数据的,通常是post请求。

平常在登录账号的时候,都是post请求。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200815171150204.png#pic_center) 针对get和post请求,区别就在于请求正文,get请求正文是空的,post请求正文是有内容的,是以键值对的方式来提交的。 ## http响应 -- response 响应就不分get和post,两种都一样。 响应也是由三个部分构成的: - 响应行/状态行 - 响应头 - 响应正文 ### 响应行/状态行 有如下几个信息: - 协议版本号,通常就是HTTP/1.1 - 响应的状态码 - 响应的状态描述,和状态码一一对应

响应头
告诉浏览器一些信息,比如你应该使用何种编码来解析返回的内容
响应正文
返回给用户的内容,用户可以看到的内容。
三个部分,其中响应正文是给用户看的,会呈现在浏览中,而其余两个是给浏览器的,不会呈现在浏览器中的。
使用chrome查看:
在这里插入图片描述
其中,200就是状态码,ok是状态描述。
常见的状态有:
200,ok,表示一切正常
302,founded,重定向
304,not modified,使用缓存
403,forbidden,没有权限
404,not found,找不到
500,服务器内部错误
在这里插入图片描述
在这里插入图片描述

(6).进一步来理解HTTP?

请问:在访问网站的时候,用户在浏览器端看到的内容从而何来?
内容,都是从服务器端传输过来的。
涉及到,从服务端传输到本地浏览器端,为了确保能够传输,所以需要遵循一定的规范,这个规范就是HTTP。

浏览网站/页面的本质,就是发起一个HTTP请求,服务端接收到请求,进行处理,返回一个HTTP响应。响应的结果通常就是超文本。浏览器接收到这些超文本,然后将其保存到浏览器开辟的内存中,然后解析并显示。

请问:针对百度首页,只是访问了一个url,https://www.baidu.com/,但是却有若干请求,如下,这是为何?
在这里插入图片描述

我们在访问网站/页面的时候,第一次一定是请求HTML页面,说白了就是html文件。服务端会返回一个html的内容
在这里插入图片描述
然后,浏览器会解析这个响应的内容,在解析标签的过程中,会遇到一些比较特殊的标签:
在这里插入图片描述
在这里插入图片描述
这些img、link、script标签,它们非常特殊,它的内容不是文本,而是一个文件。这些文件是一个url,说明,此时需要发起一个新的http请求,将这个文件下载回来。
在http中,任何一个文件都是一次全新的请求,如图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值