首页 > Web开发 > 详细

《图解HTTP》笔记

时间:2019-10-01 22:15:50      阅读:99      评论:0      收藏:0      [点我收藏+]

 

Web 是建立在 HTTP 协议上通信的。

HTTP 通常被译为超文本传输协议,但这种译法并不严谨。严谨的译名应该为“超文本转移协议”。

通过发送请求获取服务器资源的 Web 浏览器等,都可称为客户端(client)。

1.TCP/IP

TCP/IP 是互联网相关的各类协议族的总称。

像这样把与互联网相关联的协议集合起来总称为 TCP/IP。也有说法认为,TCP/IP 是指 TCP 和 IP 这两种协议。还有一种说法认为,TCP/IP 是在 IP 协议的通信过程中,使用到的协议族的统称。

TCP/IP 协议族里重要的一点就是分层。TCP/IP 协议族按层次分别分为以下 4 层:应用层、传输层、网络层和数据链路层。

应用层决定了向用户提供应用服务时通信的活动。

技术分享图片

 

 

 

 

技术分享图片

 

 

 

2.IP与IP地址是不一样的

TCP/IP 协议族中的 IP 指的就是网际协议,协议名称中占据了一半位置,其重要性可见一斑。可能有人会把“IP”和“IP 地址”搞混,“IP”其实是一种协议的名称。

IP 协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是 IP 地址和 MAC地址(Media Access Control Address)。
IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。IP 地址可以和 MAC 地址进行配对。IP 地址可变换,但 MAC地址基本上不会更改。

ARP 是一种用以解析地址的协议,根据通信方的 IP 地址就可以反查出对应的 MAC 地址。

 

3.TCP三次握手

(之前在网上看的资料,看完就忘了,这个分析的很清楚、简洁,以下就明白了原理,果然有时候看书比网上搜资料更靠谱)

TCP 协议采用了三次握手(three-way handshaking)策略。用 TCP 协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。
握手过程中使用了 TCP 的标志(flag) —— SYN(synchronize) 和ACK(acknowledgement)。

  • 发送端首先发送一个带 SYN 标志的数据包给对方
  • 接收端收到后,回传一个带有 SYN/ACK 标志的数据包以示传达确认信息
  • 最后,发送端再回传一个带 ACK 标志的数据包,代表“握手”结束

若在握手过程中某个阶段莫名中断,TCP 协议会再次以相同的顺序发送相同的数据包。

技术分享图片

 

 

 

4.DNS

计算机既可以被赋予 IP 地址,也可以被赋予主机名和域名。比如www.baidu.com
用户通常使用主机名或域名来访问对方的计算机,而不是直接通过 IP地址访问。因为与 IP 地址的一组纯数字相比,用字母配合数字的表示形式来指定计算机名更符合人类的记忆习惯。

但要让计算机去理解名称,相对而言就变得困难了。因为计算机更擅长处理一长串数字。为了解决上述的问题,DNS 服务应运而生。

DNS 协议提供通过域名查找 IP 地址,或逆向从 IP 地址反查域名的服务。

5.URI 和 URL

  • URI(统一资源标识符)
  • URL(UniformResource Locator,统一资源定位符)

URI 就是由某个协议方案表示的资源的定位标识符。协议方案是指访问资源所使用的协议类型名称。
采用 HTTP 协议时,协议方案就是 http。除此之外,还有 ftp、mailto、telnet、file 等。标准的 URI 协议方案有 30 种左右。

URI 用字符串标识某一互联网资源,而 URL 表示资源的地点(互联网上所处的位置)。可见 URL 是 URI 的子集。

以下列举了几种URI例子

ftp://ftp.is.co.za/rfc/rfc1808.txt
http://www.ietf.org/rfc/rfc2396.txt
ldap://[2001:db8::7]/c=GB?objectClass?one
mailto:John.Doe@example.com
news:comp.infosystems.www.servers.unix
tel:+1-816-555-1212
telnet://192.0.2.16:80/
urn:oasis:names:specification:docbook:dtd:xml:4.1.2

 

GET和POST

GET :获取资源

POST:传输实体主体

 

Cookie

HTTP 是无状态协议,它不对之前发生过的请求和响应的状态进行管理。也就是说,无法根据之前的状态进行本次的请求处理。

HTTP/1.1 虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了 Cookie 技术。有了 Cookie 再用 HTTP 协议通信,就可以管理状态了。

 

请求报文和响应报文

首部字段
包含表示请求和响应的各种条件和属性的各类首部。

请求报文

技术分享图片

 

 响应报文

技术分享图片

 

《图解HTTP》笔记

原文:https://www.cnblogs.com/songsongblue/p/11616242.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!