HTTP(一)-- HTTP简单使用

1.  HTTP的概述:

  • HTTP的全称是:Hyper Text Transfer Protocol,意为 超文本传输协议
  • 它指的是服务器和客户端之间交互必须遵循的一问一答的规则。形容这个规则:问答机制、握手机制。
  • 它规范了请求和响应内容的类型和格式, 是基于 TCP/IP 协议的。
  • HTTP协议是由W3C组织管理和维护的。

小提示:

        HTTP协议概念是客户浏览器和服务器一种一问一答的规则,那么必须要有问有答,而且要先问后答


      但是我们使用<script>,<link>和<img>标签,没有手动发起请求,但是仍然能从服务器端拿到数据,原因就是:在浏览器遇到<script>,<link>,<img>标签时会自动发出请求

2.   HTTP的组成:

由HTTP协议的概念可知,它分为问和答两部分。其中问指的就是请求部分,而答指的就是响应部分

2.1   请求部分

  • 请求行: 永远位于请求的第一行。
  • 请求消息头: 从第二行开始,到第一个空行结束。
  • 请求的正文: 从第一个空行后开始,到正文的结束。

 2.2 响应部分

  • 响应行: 永远位于响应的第一行。
  • 响应消息头: 从第二行开始,到第一个空行结束。
  • 响应的正文: 从第一个空行后开始,到正文的结束。

 3.  请求部分详解

3.1 请求行详解

请求行:

GET /day03/1.html HTTP/1.1

内容说明
GET请求的方式。(还有POST)
/day03/1.html请求的资源。
HTTP/1.1使用的协议,及协议的版本。

3.2 请求消息头详解

内容说明
Accept告知服务器,客户浏览器所支持的MIME类型。(见附录
Accept-Encoding告知服务器,客户浏览器所支持的压缩编码格式。最常用的就是gzip压缩。
Accept-Language告知服务器,客户浏览器所支持的语言。一般都是zh_CN或en_US等。
Referer告知服务器,当前请求的来源。 只有当前请求有来源的时候,才有这个消息头。从地址栏输入的没有来源。 作用:1 统计工作    2. 防盗链(见附录
Content-Type告知服务器,请求正文的MIME类型。
Content-Length告知服务器,请求正文的长度。
User-Agent浏览器相关信息
Connection: Keep-Alive连接的状态:保持连接
If-Modified-Since告知服务器,客户浏览器缓存文件的最后修改时间。
Cookie()会话管理相关,非常的重要。

3.3 请求正文详解

  1. 只有post请求方式,才有请求的正文。get方式的正文是在地址栏中的。
  2. 表单的输入域有name属性的才会被提交。不分get和post的请求方式。

3.4 Get/Post的区别

请求参数位置请求的url长度安全性
get在请求行中,在url后。有限制不太安全
post在请求体中无限制相对安全

4.  响应部分详解

4.1 响应行详解

响应行:

HTTP/1.1 200 OK

内容说明
HTTP/1.1使用协议的版本。
200响应状态码
OK状态码描述

常用状态码介绍:

响应状态码说明
1xx:信息性状态码
100表示服务器正在处理请求,并尚未完成处理过程。
101表示服务器正在切换协议版本或协议类型。
2xx:成功状态码
200表示请求已成功处理,并返回所需的内容。
201表示请求已成功处理并且服务器已经创建了一个新资源。
202表示请求已被接受,但是服务器还没有处理完成。
204表示请求已成功处理,但是没有返回任何内容。
3xx:重定向状态码
301表示请求的资源已被永久移动。
302表示请求的资源已被临时移动。(重定向
304表示请求的资源没有被修改,可以直接使用本地缓存。
307表示请求的资源已被临时移动。
4xx:客户端错误状态码
400表示请求无法被服务器理解或包含无效的参数。
401表示请求需要用户验证。
403表示服务器拒绝执行请求。
404表示请求的资源不存在。
5xx:服务器错误状态码
500表示服务器在执行请求时遇到了错误。
502表示网关服务器在执行请求时遇到了错误。
503表示服务器当前无法处理请求。
504表示网关服务器在执行请求时遇到了超时。

4.2   响应消息头详解

消息头说明
Location请求重定向的地址,常与302,307配合使用。
Server服务器相关信息。
Content-Type告知客户浏览器,响应正文的MIME类型。(见附录
Content-Length告知客户浏览器,响应正文的长度。
Content-Encoding告知客户浏览器,响应正文使用的压缩编码格式。常用的gzip压缩。
Content-Language告知客户浏览器,响应正文的语言。zh_CN或en_US等等。
Content-Disposition告知客户浏览器,以下载的方式打开响应正文。
Refresh定时刷新
Last-Modified服务器资源的最后修改时间。
Set-Cookie()会话管理相关,非常的重要
Expires:-1服务器资源到客户浏览器后的缓存时间
Catch-Control: no-catch不要缓存,//针对http协议1.1版本

4.3  响应正文详解

就和我们在浏览器上右键查看源文件看到的内容是一样的。

<html>
    <head>
        <link rel="stylesheet" href="css.css" type="text/css">
        <script type="text/javascript" src="demo.js"></script>
    </head>
    <body>
        <img src="1.jpg" />
    </body>
</html>

附录:

(一)Referer的使用场景:

   HTTP Referer是HTTP协议头部的一部分,用于表示请求中的来源页面或链接。


 下面是HTTP Referer的一些常见使用案例:

  1. 防止CSRF攻击:在进行跨站请求伪造(CSRF)防御时,可以使用HTTP Referer来验证请求的来源。服务器可以检查HTTP Referer头部,并确保请求来自正确的页面。
  2. 统计分析:网站管理员可以使用HTTP Referer来跟踪从哪里访问了网站。这些信息可以用于分析流量来源,以及确定哪些页面和广告效果最好。
  3. SEO:搜索引擎优化(SEO)专家可以使用HTTP Referer来确定哪些页面链接到他们的网站,并使用这些信息来制定更好的链接策略,以提高他们的排名。
  4. 安全审计:安全审计员可以使用HTTP Referer来确定攻击者从哪个网站发起了攻击,以便识别并追踪攻击。

        需要注意的是,HTTP Referer可以被修改、篡改或伪造,因此它不能被视为100%可靠的来源验证方法。

(二)MIME类型是什么?

        全名叫多用途互联网邮件扩展(Multipurpose Internet Mail Extensions),最初是为了将纯文本格式的电子邮件扩展到可以支持多种信息格式而定制的。后来被应用到多种协议里,包括我们常用的HTTP协议。

  • MIME的常见形式是一个主类型加一个子类型,用斜线分隔。
  • 常见的MIME有:text/html、application/javascript、image/png等。

        在访问网页时,MIME type帮助浏览器识别一个HTTP请求返回的是什么内容的数据,应该如何打开、如何显示。

 如果对你有帮助,请帮我点一下赞,我才有动力继续创作,谢谢!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值