IP、TCP、DNS协议

负责传输的IP协议

IP协议的作用是把各种数据包传送给对方。其中有两个最重要的条件是IP地址与MAC地址。

IP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。ARP是一种解析地址的协议,根据通信方的IP地址可以反查处对应的MAC地址。

下图为路由选择
《图解HTTP》之要点提炼

确保可靠性的TCP协议

TCP处于传输层,提供可靠的字节流服务。为确保数据能到达目标,TCP协议采用了三次握手策略,同时还有确认应答,重传超时,滑动窗口,流传输(窗口长度),快重传(三次重传),慢启动,拥塞窗口(慢启动阈值),普通恢复与快恢复,延迟应答,捎带应答等多种机制来保证流量防止拥塞等问题。
《图解HTTP》之要点提炼

负责域名解析的DNS服务

DNS(Domain Name System)服务是和HTTP协议一样位于应用层的协议,它提供域名到IP地址之间的解析。
用户通常使用主机名或域名来访问对方的计算机,而不是直接通过IP地址,但计算机需要IP地址,就由DNS协议提供该服务。
《图解HTTP》之要点提炼
整个流程中各个协议的作用:
(1)DNS协议将主机/域名(hackr.jp)解析成对应的IP地址;
(2)HTTP协议将生成HTTP请求报文;
(3)TCP协议,将请求报文分割并可靠的传输给对方;
(4)IP协议,搜索对方的地址,一边中转一边传送;
(5)TCP协议:将请求报文重组,并发送回应用层;
(6)HTTP协议对请求的内容进行处理,并由服务器返回请求内容。
《图解HTTP》之要点提炼
《图解HTTP》之要点提炼

URI

URI用字符串来标识某处的互联网资源,而URL则是互联网资源的具体地址。
《图解HTTP》之要点提炼

HTTP协议

HTTP是应用层协议,定义的是传输数据的内容的规范。HTTP的连接使用**“请求-响应”**方式。基于TCP协议传输默认端口号是80

通过请求和响应的交换达成通信

HTTP协议规定,由客户端发出请求,由服务端返回响应。
《图解HTTP》之要点提炼

请求报文与响应报文

HTTP 协议和 TCP/IP 协议族内的其他众多的协议相同,用于客户端和服务器之间的通信。

请求报文是由请求方法请求 URI协议版本、可选的请求首部字段内容实体构成的。
《图解HTTP》之要点提炼
而响应报文是由协议版本状态吗状态吗的原因短语以及响应首部字段以及实体主体构成的。
《图解HTTP》之要点提炼
HTTP是一种不保存的协议,HTTP 协议自身不具备保存之前发送过的请求或响应的功能

HTTP协议通过URI定位互联网上的资源。

GET方法与Post方法

get方法:当客户端想要向服务器读取数据时使用GET, 指定的资源经服务器端解析后返回响应内容。get方法的参数通过URL传递,由于服务器对URL长度的限制,允许发送的数据量较小,且由于信息直接暴露在URL中,因此不能传递敏感信息。
《图解HTTP》之要点提炼
post方法:当客户端给服务器提供信息较多时可以使用POST;POST会附带用户数据,一般用于更新资源信息POST将请求参数封装在HTTP 请求数据中,可以传输大量数据,传参方式比GET更安全。
《图解HTTP》之要点提炼
《图解HTTP》之要点提炼

Cooike

Cookie 技术通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。当客户端第一次向服务端发送请求报文后,服务端会在响应保文中写入Cookie信息,当客户端第二次向服务端发送请求报文时,该报文中带有Cookie,服务端就可以通过该Cookie找到之前的状态信息。
《图解HTTP》之要点提炼
《图解HTTP》之要点提炼

返回结果的HTTP状态吗

状态码用于表示HTTP请求的返回结果、标记服务器端的处理是否正常、通知出现的错误。状态吗的类别如下。
《图解HTTP》之要点提炼

1XX

1XX表示服务器已接收了客户端请求,客户端可继续发送请求。

2XX成功

2XX代表请求被正常处理了。

  1. 200 OK
    表示从客户端发来的请求在服务器端被正常处理了。
    《图解HTTP》之要点提炼
  2. 204 No Content
    该状态码代表服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主体部分。
    一般在只客户端往服务端发送消息,而对客户端不需要发送新消息内容时使用。(理解为post)
    《图解HTTP》之要点提炼
  3. 206 Partial Content
    该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的GET 请求
    《图解HTTP》之要点提炼

3XX

表示服务器要求客户端重定向。

  1. 301 Moved Permanently
    永久性重定向,该状态码表示当前URI所指向的资源已经被分配其他URI,在请求时应该使用新的URI。例如:当指定资源路径的最后忘记添加斜杠“/”,就会产生 301 状态码。
    《图解HTTP》之要点提炼
  2. 302 Found
    临时性重定向,该状态码表示请求的资源已被分配了新的 URI,希望用户(本次)能使用新的 URI 访问。
    《图解HTTP》之要点提炼
  3. 304 Not Modified
    **该状态码表示客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况。**比如没有满足get的条件。
    《图解HTTP》之要点提炼

4XX客户端错误

4XX 的响应结果表明客户端是发生错误的原因所在,客户端请求的有非法内容

1.400 Bad Request
该状态码表示请求报文中存在语法错误。
《图解HTTP》之要点提炼
2.401 Unauthorized
该请求码代表发送的请求需要有HTTP认证,同时如果这是第二次发出401,则代表认证没有被通过。同时该请求码必须包含一个适用于被请求资源的 WWW.Authenticate首部用以质询(challenge)用户信息。
《图解HTTP》之要点提炼
3.403 Forbidden
表示访问资源的请求被服务端禁止了。
《图解HTTP》之要点提炼
4.404 Not Found
表示服务器无法找到请求的资源
《图解HTTP》之要点提炼

5XX 服务器端错误

表示服务器未能正常处理客户端的请求而出现意外错误。

1.500 Internal Server Error
表示服务端内部在处理请求时出现了错误
《图解HTTP》之要点提炼
2.503 Service Unavailable
表示服务器暂时处于超负荷或维护中,当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。
《图解HTTP》之要点提炼

HTTP与HTTPs

在 HTTP 协议中有可能存在信息窃听或身份伪装等安全问题。使用HTTPS 通信机制可以有效地防止这些问题。
HTTP具有以下缺点:
(1)通信使用明文,内容可能会被窃听。
(2)不验证通信方的身份,因此有可能遭遇伪装。
(3)无法证明报文的完整性,所以有可能已遭篡改

HTTPS是披着SSL外壳的HTTP,它在通过HTTP与TCP通信之间先进行了SSL加密,可以说HTTPS就是实现了通信加密身份验证完整性保护的HTTP。
《图解HTTP》之要点提炼
HTTP的报文使用明文(指未经过加密的报文)方式发送,而SSL会对报文内容进行加密。
《图解HTTP》之要点提炼HTTP协议中的请求和响应不会对通信方进行确认,会发生服务器是否就是发送请求中URI真正指定的主机,返回的响应是否真的返回到实际提出请求的客户端的问题。而SSL中通过第三方向发送端与接收端发放的证书来识别身份。
《图解HTTP》之要点提炼
HTTP协议中常用MD5和SHA-1等散列值校验的方式来确认文字的数字签名以防止内容篡改,但如果篡改者将MD5与SHA-1都改变了的话,就无法判断了。
《图解HTTP》之要点提炼
除此之外,从端口来看:HTTP常用端口为80,而HTTPS的常用端口为443;

从资源来看:HTTPS由于加密和解密会消耗更多的CPU和资源;

从开销上来看:HTTPS需要证书,需要向机构购买;

在地址栏打入URL会发生什么

1.浏览器首先通过DNS服务器将URL中的主机域名解析成IP地址
2.浏览器(根据IP地址与80端口)向服务器请求建立TCP连接,通过三次握手与服务端建立联系;
3.服务器根据URL中的内容返回对应的html文件;
4.传输结束后,服务器通过四次挥手与客户端断开连接;
5.浏览器将html文件解析并显示出来

DNS查询:
首先去找本地的hosts文件,检查在该文件中是否有相应的域名、IP对应关系,如果有,则向其IP地址发送请求,如果没有,再去找DNS服务器
《图解HTTP》之要点提炼
浏览器客户端向本地DNS服务器发送一个含有域名www.cnblogs.com的DNS查询报文。本地DNS服务器把查询报文转发到根DNS服务器,根DNS服务器注意到其com后缀,于是向本地DNS服务器返回comDNS服务器的IP地址。本地DNS服务器再次向comDNS服务器发送查询请求,comDNS服务器注意到其www.cnblogs.com后缀并用负责该域名的权威DNS服务器的IP地址作为回应。最后,本地DNS服务器将含有www.cnblogs.com的IP地址的响应报文发送给客户端
《图解HTTP》之要点提炼
从客户端到本地服务器属于递归查询,而DNS服务器之间的交互属于迭代查询。

相关文章:

  • 2021-09-11
  • 2021-12-08
  • 2021-06-23
  • 2021-11-24
猜你喜欢
  • 2021-08-16
  • 2021-08-20
  • 2021-09-07
  • 2021-08-16
  • 2021-07-12
  • 2022-12-23
  • 2021-07-30
相关资源
相似解决方案