图解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. 机器之心编译 参与:老红.李亚洲 就像雨季后非洲大草原许多野 ...
随机推荐
- Spring Boot Web应用开发 CORS 跨域请求支持
一.Web开发经常会遇到跨域问题,解决方案有:jsonp,iframe,CORS等等 CORS与JSONP相比 1. JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求. 2. 使用C ...
- 关于Spring Boot中的业务层(Service)是否要创建接口的分析
在借助Spring Boot框架开发web项目时,在业务层(Service)这一部分,标准做法是:定义一个接口,然后再一个或多个类去实现.那么疑问来了: 为什么我们要维护两份同构代码,而不直接使用一个 ...
- jQuery学习笔记(1)
什么是jQuery? jQuery是一个js库 jQuery的版本? jQuery1.x jQuery2.x(不支持IE6,7,8) jQuery作用? 简化js编写 将页面与js分离 常见的js库? ...
- Springboot 2.X的RequestMapping 的映射路径怎么看不到了?
在使用spring boot 1.X的时候我们可以在console中看到mapping的映射路径 2020-01-12 19:10:19.996 INFO 2711 --- [ main] s.w.s ...
- (私人收藏)2019科协WER解决方案
2019科协WER解决方案 含地图,解决程序,详细规则,搭建方案EV3;乐高;机器人比赛;能力风暴;WER https://pan.baidu.com/s/16sdFmM49bPijYw55i8ox1 ...
- Angular实现购物车全选
直接上代码 <!DOCTYPE html> <html ng-app="myApp" > <head> <meta charset=&qu ...
- P1220 关路灯——区间dp
P1220 关路灯 题目描述 某一村庄在一条路线上安装了 \(n\) 盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一 ...
- Code Forces 833 A The Meaningless Game(思维,数学)
Code Forces 833 A The Meaningless Game 题目大意 有两个人玩游戏,每轮给出一个自然数k,赢得人乘k^2,输得人乘k,给出最后两个人的分数,问两个人能否达到这个分数 ...
- C#获取CPU与网卡硬盘序列号及Base64和DES加密解密操作类
public class RegisterHelp { /// <summary> /// CPU /// </summary> /// <returns>< ...
- mysql Unknown error 1146
错误提示:Couldn't acquire next trigger: Unknown error 1146 spring +quartz 实现任务调度,由于quartz 默认读取表名为大写,新建数据 ...