为了账号安全,请及时绑定邮箱和手机立即绑定

HTTP协议

标签:
Premiere

1.HTTP协议概述

HTTP叫超文本传输协议,基于请求/响应模式。
协议:协议的甲乙双方,就是客户端(浏览器)和服务器。

HTTP是无状态协议,FTP是有状态。

  • 无状态
    无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

双方通信的格式

  • 请求协议
    浏览器发送给服务器
    格式:

请求首行:请求方式 请求路径 协议和版本,例如:GET /index.html HTTP/1.1。
2~n请求头:请求头名称:请求内容,即为key:value格式,例如:Host:localhost:8080。
空行:用来与请求体分开。
请求体:GET没有请求体,只有POST有请求体。

  • 响应协议
    服务器发送给浏览器
    格式:

响应首行
响应头信息
空行
响应体

2.GET请求

在浏览器的地址栏中直接给出URL,那么一定就是GET请求。
点击页面上的超链接也一定是GET请求。
提交表单时,表单默认是GET请求,也可以设置为POST

webp

GET消息头说明

3.POST请求

数据不会出现在地址栏中。
数据的大小没有上限。
有请求体。
请求体中如果出现中文,会使用URL编码。

webp

POST消息头说明

4.状态码

  • 200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;

  • 404:请求的资源没有找到,说明客户端错误的请求了不存在的资源;

  • 500:请求资源找到了,但服务器内部出现了错误;

  • 302:重定向,当响应码为302时,表示服务器要求浏览器重新再发一个请求,服务器会发送一个响应头Location,它指定了新请求的URL地址;

  • 304:当用户第一次请求index.html时,服务器会添加一个名为Last-Modified响应头,这个头说明了index.html的最后修改时间,浏览器会把index.html内容,以及最后响应时间缓存下来。当用户第二次请求index.html时,在请求中包含一个名为If-Modified-Since请求头,它的值就是第一次请求时服务器通过Last-Modified响应头发送给浏览器的值,即index.html最后的修改时间,If-Modified-Since请求头就是在告诉服务器,我这里浏览器缓存的index.html最后修改时间是这个,您看看现在的index.html最后修改时间是不是这个,如果还是,那么您就不用再响应这个index.html内容了,我会把缓存的内容直接显示出来。而服务器端会获取If-Modified-Since值,与index.html的当前最后修改时间比对,如果相同,服务器会发响应码304,表示index.html与浏览器上次缓存的相同,无需再次发送,浏览器可以显示自己的缓存页面,如果比对不同,那么说明index.html已经做了修改,服务器会响应200。

webp

304图解说明



作者:乐乐亲么么哒
链接:https://www.jianshu.com/p/e8602695588d


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
205
获赞与收藏
1007

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消