第一章

了解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配置文件的部分配置文字说明

    http://blog.csdn.net/zzjjiandan/article/details/22922847/ spring的组成: <beans> <contenxt> ...

  2. ORA-04063: package body "DBSNMP.BSLN_INTERNAL" has errors

    ORA-04063: package body "DBSNMP.BSLN_INTERNAL" has errors 问题描述: 警告日志出现报错: Sun Jun 21 00:00 ...

  3. Linux高并发网络编程开发——10-Linux系统编程-第10天(网络编程基础-socket)

    在学习Linux高并发网络编程开发总结了笔记,并分享出来.有问题请及时联系博主:Alliswell_WP,转载请注明出处. 10-Linux系统编程-第10天(网络编程基础-socket) 在学习Li ...

  4. Scrapy模拟登录赶集网

    1.打开赶集网登录界面,先模拟登录并抓包,获得post请求的request参数 2. 我们只需构造出上面的参数传入formdata即可 参数分析: setcookie:为自动登录所传的值,不勾选时默认 ...

  5. Unity音量可视化——粒子随声浪跳动

    起初是看到这么一篇博客 Shader特效-- 音符跳动,效果如下图 具体的shader代码就不贴在这里了,他的博客里都有. 处理音频的关键代码如下: private int m_NumSamples ...

  6. Layui文本框限制正整数

    <input type="text" name="Number" lay-verify="required|integer" plac ...

  7. Python面向对象04 /封装、多态、鸭子类型、类的约束、super

    Python面向对象04 /封装.多态.鸭子类型.类的约束.super 目录 Python面向对象04 /封装.多态.鸭子类型.类的约束.super 1. 封装 2. 多态 3. 鸭子类型 4. 类的 ...

  8. 01-MySQL支持的数据类型

    1.数值类型 整数类型 MySQL 支持的整数类型有 SQL 标准中的整数类型 INTEGER,SMALLINT,TINYINT.MEDIUMINT和BIGINT.其整数类型的特性如下表所示: 在上述 ...

  9. 用前端姿势玩docker【三】基于nvm的前端环境构建技巧

    前言 安装docker啥的就不说了,这里重点强调一下,docker的环境问题.本人的环境: 虚拟机centos => docker => NAT => container 因为需要不 ...

  10. 从JDK源码理解java引用

    目录 java中的引用 引用队列 虚引用.弱引用.软引用的实现 ReferenceHandler线程 引用队列的实现 总结 参考资料 java中的引用 JDK 1.2之后,把对象的引用分为了四种类型, ...