读书写笔记。列举在学习过程当中记录的一些内容 1.TCP/IP协议族按层次分红四层:应用层、传输层、网络层和数据链路层。分层的好处就是改变设计时不须要总体改动,能够针对分层自由改动。浏览器
应用层:应用层决定了向用户提供应用服务时通讯的活动。TCP/IP协议族内预存了各种通用的应用服务。好比,FTP(File Transfer Protocol 文件传输协议)和DNS(Domain Name System 域名系统)服务就是其中的两类。HTTP协议也处于该层。 传输层:传输层对应上层应用层,提供处于网路链接中的两台计算机之间的数据传输。在传输层有两个性质不一样的协议:TCP(Transmission Control Protocol 传输控制协议)和UDP(User Data Protocol, 用户数据协议)。 网络层(网络互连层):网络层用来处理网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了经过怎样的路径(传输线路)到达对方计算机,并把数据包传送给对方。与对方计算机之间经过多台计算机或网络设备进行传输时,网络层因此得做用就是在众多的选项内选择一条传输路线。 链路层(数据链路层,网络接口层):用来处理链接网络的硬件部分。硬件上的范畴均在链路层的做用范围以内。 发送端在层与层之间传输数据时,每通过一层一定会被打伤一个该层所属的手背信息。反之,接收端在层与层传输数据傻逼,每通过一层时会把对应的首部消去。这种把数据信息包装起来的作法称之为封装。缓存
2.IP协议(网际协议)。IP协议的做用是把各类数据包传送给对方。而要确保确实确实传送到对方那里,则须要知足各种条件。其中两个重要的条件就是IP地址和MAC(Media Access Control Address)地址。IP地址指明了节点被分配到的地址。MAC地址是指网卡所属的固定地址。IP地址可变换,但MAC地址基本不会更改。IP间的通讯依赖MAC地址。采用ARP(Address Resolution Protocol)协议能够根据通讯方的IP地址就能够反查对应的MAC地址。 在到达通讯目标前的中转过程当中,那些计算机和路由器都只能获悉很粗略的传输路线。这种机制成为路由选择(routing)。安全
3.TCP协议为了更容易传送大数据才把数据分割,并且TCP协议可以确认数据是否送达到对方。服务器
三次握手策略(three-way handshaking)握手过程当中使用TCP的标志-SYN(synchronize)和ACK(acknowledge event)。网络
4.URI(统一资源标识符 Uniform Resource Identifier) 某个协议方案表示的资源的定位标识符。协议方案是指访问资源所使用的协议类型名称。而URL表示资源的地点。 绝对URI格式:协议方案名+登陆信息(认证)+服务器地址+服务器端口号+带层次的文件路径+查询字符串+片断标识符less
5.HTT是一种不保存状态,即无状态(stateless)协议。HTTP协议自身不对请求和响应之间的通讯状态进行保存。在HTTP这个级别,协议对于发送过得请求和响应都不作持久化处理。 ##6.经常使用的HTTP方法: GET(GET方法用来请求访问已被URI识别的资源); POST(用来传输实体的主题,主要目的并非获取相应的主体内容); PUT(用来传输文件,由于HTTP/1.1的PUT方法不带验证机制,任何人均可以上传文件,存在安全性问题); HEAD(HEAD方法和GET方法同样,只是不反悔报文的主体部分。用于确认URI的有效性及资源更新的日期时间等); DELETE(用来删除文件); OPTIONS(用来查询针对请求URI指定的资源支持的方法) TRACE(让Web服务器端讲以前的请求通讯环给客户端的方法); CONNECT(要求在与代理服务器通讯时创建隧道,实现用隧道协议进行TCP通讯。主要使用SSL(Secure Sockets Layer 安全套接层)和TLS(Transport Layer Security,传输层安全)协议把通讯内容加密后经网络隧道传输) ##7.常见的响应结果:学习
- 200 OK:在响应报文内,随状态码一块儿返回的信息会由于方法的不一样而发生改变。
- 204 No Content:该状态码表明服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主体部分。
- 206 Partial Content:该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求。
- 301 Moved Permanently 永久性重定向。该状态码表示请求的资源已被分配了新的URI,之后应使用资源如今所指的URI。
- 302 Found 临时性重定向。该状态码表示请求的资源已被分配了新的URI,但愿用户(本次)能使用新的URI访问
- 303 See Other 该状态码表示因为请求对应的资源存在另外一个URI,应使用GET方法定向获取请求的资源。
- 304 Not Modified 该状态码表示客户端发送附带条件请求时,服务器容许请求访问资源,但未知足条件的状况。
- 307 Temporary Redirect 临时重定向。该状态码与302有着相同的含义,307会遵守浏览器标准,不会从POST变成GET。
- 400 Bad Request 该状态码代表请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求。
- 401 Unauthorized 该状态码表示发送的请求须要有经过HTTP认证的认证信息。另外若以前已进行过一次请求,则表示用户认证失败。
- 403 Forbidden 该状态码表示对请求资源的访问被服务器拒绝了。未获取文件系统的访问权限,访问权限出现某些问题等列举的状况均可能发生403的缘由。
- 404 Not Found 该状态码表示服务器上没法找到请求的资源。
- 500 Internal Server Error 该状态码代表服务器在执行请求时发生了错误。也多是微博应用存在的bug或临时故障。
- 503 Service Unavailable 该状态码代表服务器暂时处理超负载或正在进行停机维护,如今没法处理请求。
##8.通讯数据转发程序:代理、网关、隧道。 代理:代理服务器的基本行为就是接受可会断发送的请求后转发给其余服务器。持有资源实体的服务器被称为缘服务器。每次经过代理服务器转发请求或响应时,会追加写入Via首部信息。缓存代理(Caching Proxy)和透明代理(Transparent Proxy) 。 网关:网关的工做机制和代理十分类似。而网关能使通讯线路上的服务器提供非HTTP协议服务。利用网关能提升通讯的安全性,由于能够再客户端与网关之间的通讯线路上加密以确保链接的安全。 隧道:隧道本身不会去解析HTTP请求。隧道能够按照要求创建一条与其余服务器的通讯线路,可使用SSL等加密手段进行通讯。隧道的目的是确保客户端能与服务器进行安全的通讯。 9.HTTP首部字段室友首部字段名和字段值构成的,中间用冒号”:”分割。“首部字段名:字段值” ##10.HTTP/1.1 通用首部字段,列举一些经常使用的。 1.Cache-Control 经过指定首部字段Cache-Control的制定,就能操做缓存的工做机制。no-cache表明不缓存过时的资源,缓存回想源服务器进行有效期确认后处理资源,no-store才是真正的不缓存。s-maxage指令功能和max-age指令相同,他们的不一样点是s-maxage适用于供多位用户使用的公共服务器,对向同一用户重复返回响应的服务器来讲无效。当使用s-maxage指令后,则直接湖绿对Expires(实体主体过时的日期时间)首部字段及max-age指令的处理。min-fresh指令要求缓存服务器返回至少还未过制定时间的缓存资源。 2.Connection 具备控制再也不转发给代理的首部字段/管理持久链接(Connection:close 即所谓断开持久链接,Connection:Keep-Alive 建立持久链接)的做用 3.Upgrade 用于检测HTTP协议及其余协议是否可以使用更高的版本进行通讯,其参数值能够用来制定一个彻底不一样的通讯协议。 3.Via 追踪客户端和服务器之间的请求和响应报文的传输路径。 11.TCP传递给IP的信息单元为TCP报文段或简称为TCP段,大小为20个字节。UDP传给IO的信息单元成为UDP数据报,并且UDP首部长为8字节。以太网数据帧的物理特性是其长度必须在46~1500字节之间。TCP和UDP都用一个16bit的端口号来表示不一样的应用程序。TCP和UDP把源端口号和目的端口号分别存入报文首部中。IP在首部存入一个长度为8bit的数值,称做协议域。 12.ARP:地址解析协议,RARP:逆地址解析协议大数据