Java

TCP/IP模型&HTTP协议

2020-03-06  本文已影响0人  TZX_0710

什么是TCP/IP模型?

TCP/IP模型是互联网的基础,TCP/IP模型是一系列网络协议的总称。这些协议的目的,就是使计算机之间可以进行信息交互。所谓协议可以理解成机器之间的约定语言,每一种协议都有自己的目的。TCP/IP模型一共包括几百种信息,对互联网交互信息各个方面做了规定。

TCP/IP模型的四层结构
从下到上可以分为四层,分别为连接层,网络层,传输层,应用程

  1. 连接层负责建立电路链接,是整个网络的物理基础,典型的协议包括以太网,ADSL等等
  2. 网络层负责分配地址和传送二进制数据,主要是IP协议。
  3. 传输层负责传送文本数据,主要是TCP协议
  4. 应用层负责传送各种最终形态的数据,是直接与用户打交道的层,典型的协议是HTTP、FTP等。
  1. 什么是HTTP协议?
    Http协议是一个载于tcp/ip通信协议来传递数据。超文本传输协议,从万维网服务器传输超文本协议到本地浏览器的协议。
  2. Http有哪些特点?
    (1)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET,HEAD,POST。每种方法规定了客户与服务器联系的类型不同
    (2)灵活:Http允许传输任意类型的数据对象。由传输的类型Content-type标记
    (3)无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的应答后,即断开连接。采用这种方式可以节约传输时间。
    (4)无状态:HTTP协议是无状态协议。无状态是指对于事物处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则只能重新上传,这样可能导致每次链接传输的数据量增大。

HTTP的工作原理
(1)HTTP协议采用了请求/响应模型.客户端向服务器发送一个请求报文,请求报文包括请求的方法,url,协议版本,请求头部和请求数据.服务器以一个状态行作为响应,响应的内容包括协议的版本,成功或者错误代码,服务器信息,响应头部和响应数据

  1. 客户端连接到web服务器
    一个http客户端通常是浏览器与web服务器的http端口,建立一个TCP套接字连接。
  2. 发送HTTP请求
    通过TCP套接字,客户端向web服务器发送一个文本的请求报文,一个请求报文由请求行,请求头,空行和请求体四个部分组成。
  3. 服务器接受请求并返回HTTP响应。
    Web解析请求,定位请求资源位置,服务器将资源复制写到TCP套接字,由客户端获取,一个响应由状态行,响应头,空行,和响应数据组成。
  4. 释放链接TCP链接
    若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭TCP连接,释放TCP连接。若Connection为keepalive,则连接会保持一段时间,该时间内可以持续使用该连接接受请求,做出响应。
  5. 客户端浏览器解析HTML内容
  6. 客户端首先解析状态行,查看请求是否成功的状态码,然后解析每一个响应头。响应头告知以下若干子接的HTML文档和文档的字符集。客户端浏览器读取HTML,根据HTML的语法对其进行格式化,并在浏览器进行展示。
    例如:浏览器地址栏输入地址,按下回车后 浏览器的流程方式
    1.1 浏览器向DNS服务器请求解析URL中的域名所对应的IP地址
    2.2 解析出IP地址后,根据该IP地址和默认端口。和服务器建立TCP连接。
    3.3 浏览器发出读取文件URL中域名后面部分对应的文件和HTTP请求,该请求报文作为TCP三次握手的第三个报文的数据发送给服务器。
    4.4服务器对浏览器请求做出响应,并把对应的HTML文本发送给浏览器
    5.5 释放TCP连接
    6.6 浏览器将该Html文本格式化,并显示内容
上一篇下一篇

猜你喜欢

热点阅读