HTTP(超文本传输协议)-HyperText Transfer Protocol

     HTTP(超文本传输协议):一个基于请求与响应模式的、无效的、应用层的协议。常基于TCP的连接方式,绝大数的Web开发都是建立在HTTP 协议之上的Web应用。简单明了就是一个基于应用层的通信规范。

 一. 概念

          连接(Connection)浏览器和服务器之间存在传输数据的通道。 当请求完毕,通道关闭,如果保持连接,会降低服务器的处理的客户端请求数,而不保持连接服务器可以处理更多的请求,但是会降低处理速度,每次重新连接需要很长的时间。

         请求(Request)浏览器向服务器发送的请求,包含请求的类型、请求的数据、浏览器的信息(语言、浏览器版本等)。

         响应(Response)服务器对浏览器请求的返回的数据,包含是否成功、状态码等。

二、HTTP协议作用

           规范了数据是如何打包的 以及 数据时如何传递的。

三、http请求报文分析

 请求消息(Request Message):客户端向服务器发送的请求消息,具体图片如下:

  请求消息包括三部分:

请求消息组成

请求起始行

1、请求方法
GET :表示客户端向获取服务器上的资源(img/js/..),无请求主体 ,依靠地址栏传递数据给服务器

POST:表示客户端想传递数据给服务器,有请求主体
PUT: 表示客户端想把文件放到服务器上(禁用),有请求主体

DELETE:表示客户端想删除服务器上指定的文件(禁用)                    
HEAD:  表示只想获取指定 的响应头               
CONNECT:  测试连接              
TRACE:  追踪请示路径              
OPTIONS:  选项,保留以后使用...
                 
2、请求URL
3、协议 和 版本号 :HTTP / 1.1

请求头

 

1、Host:localhost :告诉服务器请求哪一个虚拟主机
2、Connection:keep-alive:告诉服务器做持久连接
3、User-Agent; 告诉服务器,客户端浏览器的类型
4、Cache-Control:max-age=0;: 告诉服务器缓存信息,max-age,即不缓存
5、Accept-Language : zh-CN :告诉服务器自己能接收的自然语言
6、Accept-Encoding:gzip:告诉服务器自己可以接收的压缩类型
7、Referer: url  :告诉服务器请求来自于哪个页面
                

请求体

Form Data :  是真正的请求主体 

      响应消息(Response Message ): 服务器端根据客户端的请求消息,返回给客户端的响应消息。图片如下:

http协议—响应报文格式

响应消息组成

响应起始行

分为三个部分:

1、协议版本号:  HTTP / 1.1           
2、响应状态码
1-100: 提示信息
2-200:服务器端成功响应所有的信息 OK
3-300:需要客户端进行重定向   
                    301 :永久性重定向
                    302 :临时重定向
                    304 :Not Modified
4-400:客户端请求错误
                    404 :Not Found,请求资源不存在
                    403 :Forbidden,没有访问权限
                    405 :Method Not Allowed,请求方法不被允许             

5-500:服务器运行错误
                    500 :服务器内部错误
                    501 :没有实现              
3、原因短句:对状态码的简单解释
 200 : OK
 404 : Not Found

响应消息头Content-Type:响应的主体类型,告诉浏览器,响应的数据时什么格式以及什么类型的
取值:
text/plain:纯文本,告诉浏览器按纯文本的方式解析
text/html:文本与网页,告诉浏览器按html的格式解析内容   
text/css:样式,告诉浏览器按 css 的方式解析 
application/javascript:JS代码片段,按JS的方式运行数据   
application/xml: 按 xml 的方式解析
application/json: 按 json 的方式解析
                                           
响应主体由服务器端响应回来的数据

三、缓存

什么是缓存,有什么用?

      客户端可以自动保存已访问过得文档的副本,这些副本就是所谓的缓存,当客户端再向同一URL发送请求时,那么就直接从缓存中将文件取出来,而不用再重新发送请求

缓存优点:
        1、减少了冗余的数据传输,节省流量
        2、缓解服务器带宽瓶颈的问题,服务器可以节省更多的带宽
        3、降低了对服务器的资源消耗和运行要求
        4、降低了由于远距离而造成的加载延迟

与缓存相关的消息头
        

Cache-Control:从服务器将文档传来之时起,认为新鲜的秒数 取值:秒数 60 / 3600 / ... ...
如果取值为 0 / no-cache,表示每次都要重新刷新网页
Expires:  明确指定缓存的过期时间,取值是格林尼治标准时间(GMT) Expires:Fri,25 Aug 2017,08:00:00 GMT
 Expires:0 表示不需要缓存

如何在HTML网页中设置消息头 

meta 标记中完成消息头的设定
 http-equiv :指定消息头的名称
          
  content :指定消息头对应的内容

例子展示:

关于Http协议我们就先分享到这里,如果本篇博客对您的学习有所帮助,记得点赞哦!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值