图解HTTP 2/11
第一章
了解Web及网络基础
*HTTP(HyperText Transfer Protocal, 超文本传输协议),可以说,Web是建立在HTTP协议上通信的。
*3项WWW(World Wide Web ,万维网)构建技术,分别是:把SGML(Standard Generalize Markup Language,标准通用标记语言)作文页面的文本标记语言的HTML(HyperText Markup Language,超文本标记语言);作为作为文档传递协议的HTTP;指定文档所在地址的URL(Uniform Resource Locator,统一资源定位符)。
*通常使用的网络(包括互联网)是在TCP/IP协议族的基础上运作的,而HTTP属于它内部的一个子集。
*TCP/IP是互联网相关的各类协议族的总称。
*不同的硬件,操作系统之间的通信,所有的这一切都需要一种规则,而我们把这种规则称之为协议(Protocol)
*TCP/IP协议族按层次分为:应用层,传输层,网络层,数据链路层。
*层次化的好处是,当某个地方需要改变设计时,就必须把所有部分整体替换掉,而分层后只需把变动的层替换掉即可。
应用层:决定了向用户提供应用服务时通信的活动。
比如FTP(File Transfer Protocol,文件传输协议)和DNS(Domain Name System,域名系统) HTTP协议也处于该层
传输层:传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。
在传输层有两个性质不同的协议:TCP(Transmission Control Protocol,传输控制协议)和UDP(User Data Protocol,用户数据报协议)
网络层(又名网络互连层):网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径到达对方计算机,并把数据包传送给对方。
网络层的作用是在众多的选项内选择一条传输路线。
链路层(又名数据链路层,网络接口层):用来处理链接网络的硬件部分。
*利用TCP/IP协议族进行网络通信时,会通过分层顺序与对方进行通信。发送端从应用层往下走,接收端则往应用层网上走。
*发送端在曾与层之间传输数据时,每经过一层时必定被打上一个该层所属的首部信息。反之,接收端在曾与层传输数据时,每经过一层时会把对应的首部消去。
这种把数据信息包装起来的做法称为封装(encapsulate)
*IP(Internet Protocol)网际协议,位于网络层。作用是把各种数据传送给对方,其中两个重要的条件是IP地址和MAC地址(Media Access Control Address)
IP地址可变化,但MAC地址基本不会更改。
*ARP协议(Address Resolution Protocol)。ARP是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。
因为一般通信的双方不再同一个局域网,所以通常需要经过多台计算机和网络设备中专,中转时,会利用下一站中转设备的MAC地址来搜索下一个中专目标。
*TCP,位于传输层,提供可靠的字节流服务。
*DNS(Domain Name System)服务,位于应用层。提供域名到IP地址之间的解析服务。
DNS协议提供通过域名查找IP地址,或逆向从IP地址反查域名的服务。
*URI(统一资源标识符Uniform Resource Identifier)
URL(统一资源定位符 Uniform Resource Locator)
URI用字符串标识某一互联网资源,而URL表示资源的地点(互联网上所处的位置)。可见URL是URI的子集。
第二章
简单的HTTP协议
*请求报文是由请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成的。
*HTTP是一种不保存状态,即无状态(stateless)协议。 就不做持久化处理。
*为了实现期望的保持状态功能而引用了Cookie技术。有了Cookie再用HTTP协议通信,就可以管理状态了。
*HTTP方法
GET:获取资源
请求的资源是文本,就保持原样返回。如果是像CGI(Common Gateway Interface,通用网关接口)那样的程序,则返回经过执行后的输出结果。
POST:传输实体主体
PUT:传输文件
HEAD:获得报文首部
DELETE:删除文件
OPTIONS:询问支持的方法
TRACE:追踪路径
CONNECT:要求用隧道协议连接代理
*HTTP协议的初始版本中,每进行一次HTTP通信就要断开一次TCP连接。
为了解决上述TCP问题 ,持久连接(HTTP Persistent Connections,也称为HTTP keep-alive或者HTTP connection reuse)的方法。持久连接的特点:只要任一一端没有明确提出断开连接,则保持TCP连接状态。
*因为HTTP是无状态,无法记住登录状态,优点是减少服务器CPU及内存资源的消耗。为了解决这个问题。引入了Cookie技术,
在请求和响应报文中写入Cookie来控制客户端的状态。
Cookie会根据从服务端发送的响应报文内的一个叫做Set-Cookie的首部字段信息,通知客户端保存Cookie。下次再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie值后再发送出去。
图解HTTP 2/11的更多相关文章
- 图解HTTP 6/11
第三章 HTTP报文内的HTTP信息 1.用于http协议交互的信息被称为HTTP报文.请求端(客户端)的HTTP报文叫做请求报文,响应端(服务器端 )的叫做响应报文. 2.请求报文的结构 请求行:包 ...
- Qt5.7学习
一 Qt简介(Build your world with Qt) 二 Qt5.7.0的安装 三 Qt系统构造库及常用类 四 信号(signal)与槽(slot)通信机制 五 QtDesigner开发工 ...
- 大数据技术之_16_Scala学习_08_数据结构(下)-集合操作+模式匹配
第十一章 数据结构(下)-集合操作11.1 集合元素的映射-map11.1.1 map 映射函数的操作11.1.2 高阶函数基本使用案例1+案例211.1.3 使用 map 映射函数来解决11.1.4 ...
- js中排序方法sort() 和 reverse()
reverse() 作用:反转原数组. 用法: array.reverse(); 图解: sort() 作用:对原数组进行排序.默认将每个数组项 先 转换为字符串 再 进行字符串对比后升序排序. 用法 ...
- Java教程-修炼
在2020这个特殊的时期,在家就是为国家做贡献!一切都会好起来的,加油中国!! Java 第一章 Java概述 1.1 Java历史 1.2 Java语言最主要的特点 1.3 Java环境搭建 1.3 ...
- 自学Java第五章——《面向对象的基本特征》
面向对象的基本特征: 1.封装 2.继承 3.多态 6.1 封装 1.好处: (1)隐藏实现细节,方便使用者使用 (2)安全,可以控制可见范围 2.如何实现封装? 通过权限修饰符 面试题:请按照可见范 ...
- AI 音辨世界:艺术小白的我,靠这个AI模型,速识音乐流派选择音乐 ⛵
作者:韩信子@ShowMeAI 数据分析实战系列:https://www.showmeai.tech/tutorials/40 机器学习实战系列:https://www.showmeai.tech/t ...
- 地区sql
/*Navicat MySQL Data Transfer Source Server : localhostSource Server Version : 50136Source Host : lo ...
- (转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)
干货 | 图解LSTM神经网络架构及其11种变体(附论文) 2016-10-02 机器之心 选自FastML 作者:Zygmunt Z. 机器之心编译 参与:老红.李亚洲 就像雨季后非洲大草原许多野 ...
随机推荐
- Mybatis架构相关的知识
如上所示,这是一个简单的Mybaits执行流程. 我们其实可以看到,一直到第三步(Sqlsession)那么一步,这都是我们的程序里需要创建的.而之后的步骤才是底层完成的任务. 这里就有了一个引申的概 ...
- 每日一题 - 剑指 Offer 52. 两个链表的第一个公共节点
题目信息 时间: 2019-07-03 题目链接:Leetcode tag: 单链表 难易程度:简单 题目描述: 输入两个链表,找出它们的第一个公共节点. 示例: A: a1 -> a2 \ - ...
- web网页多语言的实现方案_前端实现多语言切换
实现的效果 需要在web中实现多语言的切换,当用户语言切换完成后下次重新打开网页,也是上次设置的语言进行显示. 资源网站搜索大全https://55wd.com 实现步骤 1.在用户点击切换语言后,把 ...
- windows快速安装redis
下载地址:https://github.com/microsoftarchive/redis/releases 下载解压,命令行:redis-server.exe redis.windows.conf
- BZOJ3573 米特运输 题解
题目 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题.D星上有N个城市,我们将其顺序编号为1到N,1号城市为首都.这N个城市由 ...
- C#使用NPOI对Word文档进行导出操作的dll最新版2.5.1
Npoi导出非模板 最近使用NPOI做了个导出Word文档的功能,因为之前都是导出Excel很方便(不用模板),所以导出Word也选用了Npoi(也没有用模板,
- easy tornado
easy tornado 题目分析 这是一道2018年护网杯的题目 /flag.txt /welcome.txt /hints.txt 一共有3个文件. /flag.txt flag in /flll ...
- 数据可视化基础专题(十一):Matplotlib 基础(三)常用图表(一)折线图、散点图、柱状图
1 折线图 折线图主要用于表现随着时间的推移而产生的某种趋势. cat = ["bored", "happy", "bored", &quo ...
- RCNN论文阅读笔记
一摘要: 两个主要工作:1将cnn和自上而下的区域提案结合进行定位和对象分割:2当训练数据稀缺时,先预训练然后微调. rccn工作分为四步:1输入一张图片 2用selective search算法对每 ...
- 微信小程序随手笔记
1.全局导入vant时build后有问题(只能页面引入) 2.微信小程序只能用:https开头,在微信公众号里还要修改下配置 3.微信小程序里textarea与vant的van-popup有问题,手机 ...