简单的HTTP协议——《图解http》第二章

2.1 HTTP协议用于客户端和服务端直接的通信
在一条通信线路上必定一端是客户端,另一端则是服务端。

2.2 通过请求和响应的交换达成通信。
HTTP协议规定,==请求从客户端发出,最后服务器响应该请求并返回==。

请求报文的构成解读

请求报文是由请求方法请求URI请求协议版本可选的请求首部字段内容实体构成的。
image

响应报文的构成和解读

响应报文由协议版本状态码(表示请求成功或失败的数字代码)用以解释状态码的原因短语可选的响应首部字段以及实体主体构成。
image

2.3 HTTP是不保存状态的协议
协议对于发送过的请求或响应都不做持久化处理。目的是==在于更快地处理大量事务,确保协议的可伸缩性,而特意把HTTP协议设计地如此简单==。

新情况下遭遇到的问题:比如购物网站的业务,用户登录到一家购物网站,即使他跳转到该站的其他页面后,也需要能继续保持登录状态。所以网站为了能够掌握是谁发送的请求,需要保存用户的状态

针对上面问题的解决方案:HTTP是无状态协议,但为了实现期望的保持状态功能,于是引入了cookie技术

2.4 HTTP协议使用URI定位互联网上的资源。
指定请求URI的方式

  1. URI为完整的请求URI
  2. 在首部字段Host中写明网络域名或IP地址

2.5 告知服务器意图的HTTP方法

方法名作用说明
GET获取资源侧重获取
POST传输实体主体侧重发送
PUT传输文件一般不使用,存在安全性问题
HEAD获取响应报文首部用于确认URI的有效性及资源更新的日期等
DELETE删除文件一般不使用
OPTIONS询问支持的方法返回例如GET、POST、HEAD等
TRACE追踪路径一般不使用,且易引发XST(跨站追踪)攻击
CONNECT要求用隧道协议连接代理主要使用SSL和TLS协议把通信内容加密后经网络隧道传输。

2.6 使用方法下达命令

2.7 持久连接节省通信量

HTTP协议的初始版本中,每进行一次HTTP通信就要断开一次TCP连接。而使用浏览器浏览一个包含多张图片的HTML页面时,在发送请求访问HTML页面时也会请求该HTML页面里包含的其他资源。因此每次的请求都会造成无谓的TCP连接建立和断开,增加通信量的开销。

2.7.1 持久连接
HTTP/1.1中,所有的连接默认都是持久连接(除非哪一方提出断开连接否则不会断开TCP连接),但在HTTP/1.0内未标准化。

2.7.2 管线化
不用等待响应可直接发送下一个请求。比持久连接更快。

2.8 使用Cookie的状态管理
image

转载于:https://www.cnblogs.com/foxNike/p/6337282.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nacicat for mysql查询_navicat for mysql怎么用

navicat简单的使用方法:1、创建数据库:选中连接名,右键,点击新建数据库。2、删除数据库:选中要删除的数据库,右键,点击删除数据库。3、创建数据表:双击test01,选中表,右键…

字节跳动开发者工具_FAQ | 字节跳动小游游戏发布常见问题汇总

在说常见问题之前,我们先强调2点字节跳动小游戏的基础技术限制(这个很重要,请认真阅读):第1:不允许操作 DOM、BOM,必须改成平台相应的 API 调用方式;第2:不允许动态执行代码的能力,e…

人机协同作战:或改写未来战争规则

来源:中国军网人工智能技术的发展,将深刻影响人机协同作战从态势感知、指挥决策、目标引导、火力打击到毁伤评估的全过程。在人工智能技术的推动下,人机协同作战极有可能成为改写未来战争规则的重要手段之一。人工智能为人机协同作战“补齐短…

微信 获取wx.config 参数 基类

微信 获取wx.config 参数 基类 原文:微信 获取wx.config 参数 基类using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Script.Serialization;using System.Text;using System.Web.Caching; namespace Saturn.TTS.WMS.WeiXiP…

mysql的exp平方_MySQL EXP()用法及代码示例

MySQL中的EXP()函数用于将E提升为指定数字的幂。这里E(2.718281 ...)是自然对数的底数。用法:EXP(X)参数:此方法接受语法中上面提到并在下面描述的一个参数:X-一个指定的数字,将用作E的幂。返回值:它返回提高到给定数字X的幂的E。…

激荡十年:美国正在衰落和正在兴起的25个行业

来源:资本实验室 十年,在人类历史中只是非常短暂的一瞬。但是,十年时间又具备了足够的力量,能够对各行业的发展带来剧烈变革。在2009—2018这十年中,以互联网、移动互联网为依托的各种新兴技术层出不穷,不仅…

命令行参数怎么输入_太好用了!谷歌开源的命令行接口工具fire

大家使用最多的命令行工具应该是pip了,pip提供了很多的命令行参数和选项,我们在终端使用pip install --help命令可以查看install子命令的帮助文档。可以看到,除了最常用的pip install package命令,我们还可以附加很多可选选项来控…

Elasticsearch5中安装Elasticsearch-head插件

介绍 elasticsearch-head是一个用于管理Elasticsearch的web前端插件,搞过ES的同学应该都了解。该插件在es5中可以以独立服务的形式进行安装使用。本文将介绍如何操作。 相关链接:https://github.com/mobz/elasticsearch-headhttp://mobz.github.io/elast…

登录mysql一闪而过_解决MySQL 一闪而过的情况

winform中选择文件获取路径private void button1_Click(object sender, EventArgs e) { //此时弹出一个可以选择文件的窗体 OpenFileDialog fileDialog ...SQLite核心函数一览abs(X) abs(X)返回 X 的绝对值. Abs(X) returns NULL if X is NULL. Abs(X) return 0.0 if X is a s…

plsql最多可以存多少_银行内部透露:如果有10万块钱,可以都放在余额宝里吗?存银行是不是更好?...

阅读本文前,请您先点击上面的“蓝色字体”,再点击“关注”,这样您就可以继续免费收到最新文章了。每天都有分享。完全是免费订阅,请放心关注。声明:图文来源于网络,版权归原作者所有, 如有侵权请…

图解未来50年前沿科技趋势与22个预测

任何理论研究,必须具有符合未来发展趋势的预测,才能体现其可能的价值。近15年来,我们深入研究互联网结构的变化,提出在过去50年里,互联网从网状结构进化成为大脑模型是21世纪前沿科技爆发的根源,包括物联网…

centos8安装MySQL依赖_centos8安装mysql8

1,检查是否有mysql残留文件查找出安装的mysql软件包和依赖包rpm -pa | grep mysql依次删除yum remove mysql-xxx-xxx-查找出所用的配置文件find / -name mysql依次删除rm -rf /var/lib/mysql2,删除MariaDB的文件,装MySQL的话会和MariaDB的文件…

java format用法_java学习常用函数之日期时间函数

日期时间函数DATE_FORMAT(datetime ,fmt)和STR_TO_DATE(str, fmt)所需的日期模板使用NOW(),SYSDATE(),CURDATE(),CURTIME()获取当前时间SELECT CURTIME(),CURDATE(),NOW(),SYSDATE();DATEDIFF(date1,date2) 返回两个日期之间相差的天数SELECT DATEDIFF(CURDATE(),’2019-3-1′)…

NeurIPS 2019公布获奖论文!新增杰出新方向奖项,微软华裔研究员斩获经典论文...

来源:大数据文摘备受瞩目的NeurlPS 2019周日一早在温哥华拉开序幕,今天,组委会通过一篇博客公布了包括杰出论文奖、杰出新方向论文奖等五大类奖项。NeurIPS,全称神经信息处理系统大会(Conference and Workshop on Neural Informat…

Adobe Acrobat DC

DC: document cloud 【云服务】 但是Adobe document cloud包括: Acrobat DC, Adobe sign, 以及Web和移动应用程序。 参考: https://acrobat.adobe.com/cn/zh-Hans/acrobat.html https://helpx.adobe.com/cn/document-cloud/faq.html http://tech.163.co…

mongodb和mysql的对比_MongoDB和MySQL的区别

http://www.cnblogs.com/caihuafeng/p/5494336.htmlMongoDB(文档型数据库):提供可扩展的高性能数据存储一、1、基于分布式文件存储2、高负载情况下添加更多节点,可以保证服务器性能3、将数据存储为一个文档二、比较1、稳定性2、索引,索引放在…

万字长文深度分析华为智能汽车战略

来源: 中信证券2019 年 4 月,华为首次以汽车 Tier1 的身份参加上海车展。2019 年 11 月,北汽新能源总经理郑刚加盟华为。2019 年 11 月,华为发布核心网自动驾驶白皮书。本文为中信证券团队的分析报告,全文超过 15000 字…

Mac下关闭Sublime Text 3的更新检查

操作如下: 注意:update_check的属性前后都要有一个逗号。 ,"update_check":false, 然后还需要一步,就是注册破解,在【Help】->【Enter License】 —– BEGIN LICENSE —– Michael Barnes Single User License EA7E-…

javascript小游戏_个人网站集成js小游戏《圈小猫》教程及源码

今天在某网站浏览帖子的时候,发现帖子被删除了,然后弹出了404页面,页面上集成了一个小游戏,小游戏长什么样子呢?看下面这个图!第一步查看小游戏源码,发现这个小游戏完全是由JavaScript编写的&am…

阿里云数据库mysql 创建数据库服务器_如何使用mysql创建数据库服务器

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":6,"count":6}]},"card":[{"des":"云服务器 ECS(Elastic Compute Service)是一…