iOS 《图解HTTP》+《TCP/IP 协议》笔记

读书写笔记。列举在学习过程中记录的一些内容
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格式:协议方案名+登录信息(认证)+服务器地址+服务器端口号+带层次的文件路径+查询字符串+片段标识符

5.HTTP是一种不保存状态,即无状态(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.常见的响应结果:

  • 2XX成功:表明请求被正常处理了。
  1. 200 OK:在响应报文内,随状态码一起返回的信息会因为方法的不同而发生改变。
  2. 204 No Content:该状态码代表服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主体部分。
  3. 206 Partial Content:该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求。
  • 3XX 重定向
  1. 301 Moved Permanently 永久性重定向。该状态码表示请求的资源已被分配了新的URI,以后应使用资源现在所指的URI。
  2. 302 Found 临时性重定向。该状态码表示请求的资源已被分配了新的URI,希望用户(本次)能使用新的URI访问
  3. 303 See Other 该状态码表示由于请求对应的资源存在另一个URI,应使用GET方法定向获取请求的资源。
  4. 304 Not Modified 该状态码表示客户端发送附带条件请求时,服务器允许请求访问资源,但未满足条件的情况。
  5. 307 Temporary Redirect 临时重定向。该状态码与302有着相同的含义,307会遵照浏览器标准,不会从POST变成GET。
  • 4XX客户端错误,表明客户端是发生错误的原因所在。
  1. 400 Bad Request 该状态码表明请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求。
  2. 401 Unauthorized 该状态码表示发送的请求需要有通过HTTP认证的认证信息。另外若之前已进行过一次请求,则表示用户认证失败。
  3. 403 Forbidden 该状态码表示对请求资源的访问被服务器拒绝了。未获取文件系统的访问权限,访问权限出现某些问题等列举的情况都可能发生403的原因。
  4. 404 Not Found 该状态码表示服务器上无法找到请求的资源。
  • 5XX服务器错误,表明服务器本身发生错误
  1. 500 Internal Server Error 该状态码表明服务器在执行请求时发生了错误。也可能是微博应用存在的bug或临时故障。
  2. 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:逆地址解析协议

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容