第一章

了解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的更多相关文章

  1. 图解HTTP 6/11

    第三章 HTTP报文内的HTTP信息 1.用于http协议交互的信息被称为HTTP报文.请求端(客户端)的HTTP报文叫做请求报文,响应端(服务器端 )的叫做响应报文. 2.请求报文的结构 请求行:包 ...

  2. Qt5.7学习

    一 Qt简介(Build your world with Qt) 二 Qt5.7.0的安装 三 Qt系统构造库及常用类 四 信号(signal)与槽(slot)通信机制 五 QtDesigner开发工 ...

  3. 大数据技术之_16_Scala学习_08_数据结构(下)-集合操作+模式匹配

    第十一章 数据结构(下)-集合操作11.1 集合元素的映射-map11.1.1 map 映射函数的操作11.1.2 高阶函数基本使用案例1+案例211.1.3 使用 map 映射函数来解决11.1.4 ...

  4. js中排序方法sort() 和 reverse()

    reverse() 作用:反转原数组. 用法: array.reverse(); 图解: sort() 作用:对原数组进行排序.默认将每个数组项 先 转换为字符串 再 进行字符串对比后升序排序. 用法 ...

  5. Java教程-修炼

    在2020这个特殊的时期,在家就是为国家做贡献!一切都会好起来的,加油中国!! Java 第一章 Java概述 1.1 Java历史 1.2 Java语言最主要的特点 1.3 Java环境搭建 1.3 ...

  6. 自学Java第五章——《面向对象的基本特征》

    面向对象的基本特征: 1.封装 2.继承 3.多态 6.1 封装 1.好处: (1)隐藏实现细节,方便使用者使用 (2)安全,可以控制可见范围 2.如何实现封装? 通过权限修饰符 面试题:请按照可见范 ...

  7. AI 音辨世界:艺术小白的我,靠这个AI模型,速识音乐流派选择音乐 ⛵

    作者:韩信子@ShowMeAI 数据分析实战系列:https://www.showmeai.tech/tutorials/40 机器学习实战系列:https://www.showmeai.tech/t ...

  8. 地区sql

    /*Navicat MySQL Data Transfer Source Server : localhostSource Server Version : 50136Source Host : lo ...

  9. (转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)

    干货 | 图解LSTM神经网络架构及其11种变体(附论文) 2016-10-02 机器之心 选自FastML 作者:Zygmunt Z. 机器之心编译  参与:老红.李亚洲 就像雨季后非洲大草原许多野 ...

随机推荐

  1. Spring Boot Web应用开发 CORS 跨域请求支持

    一.Web开发经常会遇到跨域问题,解决方案有:jsonp,iframe,CORS等等 CORS与JSONP相比 1. JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求. 2. 使用C ...

  2. 关于Spring Boot中的业务层(Service)是否要创建接口的分析

    在借助Spring Boot框架开发web项目时,在业务层(Service)这一部分,标准做法是:定义一个接口,然后再一个或多个类去实现.那么疑问来了: 为什么我们要维护两份同构代码,而不直接使用一个 ...

  3. jQuery学习笔记(1)

    什么是jQuery? jQuery是一个js库 jQuery的版本? jQuery1.x jQuery2.x(不支持IE6,7,8) jQuery作用? 简化js编写 将页面与js分离 常见的js库? ...

  4. Springboot 2.X的RequestMapping 的映射路径怎么看不到了?

    在使用spring boot 1.X的时候我们可以在console中看到mapping的映射路径 2020-01-12 19:10:19.996 INFO 2711 --- [ main] s.w.s ...

  5. (私人收藏)2019科协WER解决方案

    2019科协WER解决方案 含地图,解决程序,详细规则,搭建方案EV3;乐高;机器人比赛;能力风暴;WER https://pan.baidu.com/s/16sdFmM49bPijYw55i8ox1 ...

  6. Angular实现购物车全选

    直接上代码 <!DOCTYPE html> <html ng-app="myApp" > <head> <meta charset=&qu ...

  7. P1220 关路灯——区间dp

    P1220 关路灯 题目描述 某一村庄在一条路线上安装了 \(n\) 盏路灯,每盏灯的功率有大有小(即同一段时间内消耗的电量有多有少).老张就住在这条路中间某一路灯旁,他有一项工作就是每天早上天亮时一 ...

  8. Code Forces 833 A The Meaningless Game(思维,数学)

    Code Forces 833 A The Meaningless Game 题目大意 有两个人玩游戏,每轮给出一个自然数k,赢得人乘k^2,输得人乘k,给出最后两个人的分数,问两个人能否达到这个分数 ...

  9. C#获取CPU与网卡硬盘序列号及Base64和DES加密解密操作类

    public class RegisterHelp { /// <summary> /// CPU /// </summary> /// <returns>< ...

  10. mysql Unknown error 1146

    错误提示:Couldn't acquire next trigger: Unknown error 1146 spring +quartz 实现任务调度,由于quartz 默认读取表名为大写,新建数据 ...