初识HTTP的基础逻辑入门(内含思维导图)

初识HTTP的基础逻辑入门(内含思维导图),第1张

初识HTTP的基础逻辑入门(内含思维导图)

初识HTTP
    • 一,HTTP协议简介
    • 二,HTTP请求/响应的步骤
      • 1,客户端连接到web服务器
      • 2,发送HTTP请求
      • 3,服务器接收请求并返回HTTP响应
      • 4,释放TCP连接
      • 5,客户端浏览器解析HTML内容
    • 三,HTTP请求方法
      • GET
      • HEAD
      • POST
      • PUT
      • DELETE
      • TRACE
      • OPTIONS
      • CONNECT
    • 四,两种开发模式
      • 1,静态网页
      • 2,动态网页
      • 3,BS/CS的结构和各自优缺点
        • 优点
        • 缺点

一,HTTP协议简介

超⽂本传输协议(英⽂:HyperText Transfer
Protocol,缩写:HTTP)是⼀种用于分布式、协作式和超媒体信息系统的应⽤层协议。HTTP是万维网的数据通信的基础。

HTTP的发展是由蒂姆·伯纳斯-李于1989年在欧洲核子研究组织(CERN)所发起。HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(Internet Engineering TaskForce,IETF)进行协调,最终发布了⼀系列的RFC,其中最著名的是1999年6月公布的 RFC2616,定义了HTTP协议中现今广泛使用的⼀个版本——HTTP 1.1。

二,HTTP请求/响应的步骤
1,客户端连接到web服务器

⼀个HTTP客户端,比方说浏览器、app等,与Web服务器的HTTP端口(默认为80)建⽴⼀个TCP套接字连接。例如:http://www.baidu.com

2,发送HTTP请求

通过TCP套接字,客户端向Web服务器发送⼀个文本的请求报文,⼀个请求报文由请求行、请求头部、 空行和请求数据4部分组成。

3,服务器接收请求并返回HTTP响应

Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。⼀个响应由 状态行、响应头部、空行和响应数据4部分组成。

关于套接字:Java基于TCP的网络编程

4,释放TCP连接
  1. 在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP *** 作,就建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源(如Javascript文件、图像文件、CSS文件等),每遇到这样⼀个Web资源,浏览器就会重新建立一个HTTP会话。

  2. 而从HTTP/1.1起,默认使用长连接,用以保持连接特性。使用长连接的HTTP协议,会在响应头加入这行代码: java Connection:keep-alive

  3. 在使用长连接的情况下,当⼀个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,客户端再次访问这个服务器时,会继续使用这⼀条已经建立的连接。Keep-Alive不会永久保持连接,它有⼀个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接需要客户端和服务端都⽀持长连接。

  4. HTTP协议的长连接和短连接,实质上是TCP协议的长连接和短连接。

5,客户端浏览器解析HTML内容

客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每⼀个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法 对其进行格式化,并在浏览器窗口中显示。

例如:在浏览器地址栏键入URL,按下回车之后会经历以下流程:

  1. 浏览器向DNS服务器请求解析该 URL 中的域名所对应的 IP 地址;
  2. 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器建⽴TCP连接;
  3. 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;
  4. 服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;
  5. 浏览器将该 html 文本并显示内容;

关于三次握手: Java 网络编程:最重要的三点

三,HTTP请求方法

HTTP/1.1协议中共定义了⼋种⽅法(也叫“动作”)来以不同⽅式 *** 作指定的资源:

GET

向指定的资源发出“显示”请求。使⽤GET⽅法应该只⽤在读取数据,⽽不应当被⽤于产⽣“副作⽤”的 *** 作 中,例如在Web
Application中。其中⼀个原因是GET可能会被⽹络蜘蛛等随意访问。

HEAD

与GET⽅法⼀样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本⽂部分。它的好
处在于,使⽤这个⽅法可以在不必传输全部内容的情况下,就可以获取其中“关于该资源的信息”(元信 息或称元数据)。

POST

向指定资源提交数据,请求服务器进⾏处理(例如提交表单或者上传⽂件)。数据被包含在请求本⽂
中。这个请求可能会创建新的资源或修改现有资源,或⼆者皆有。

PUT

向指定资源位置上传其最新内容。

DELETE

请求服务器删除Request-URI所标识的资源。

TRACE

回显服务器收到的请求,主要⽤于测试或诊断。

OPTIONS

这个⽅法可使服务器传回该资源所⽀持的所有HTTP请求⽅法。⽤’*'来代替资源名称,向Web服务器发送

OPTIONS请求,可以测试服务器功能是否正常运作。

ConNECT
四,两种开发模式
1,静态网页

2,动态网页

3,BS/CS的结构和各自优缺点

C/S⼜称Client/Server或客户/服务器模式。服务器通常采⽤⾼性能的PC、⼯作站或⼩型机,客户端 需要安装专⽤的客户端软件。如QQ,微信等软件

B/S是Brower/Server的缩写,客户机上只要安装⼀个浏览器(Browser)。Browser/Server是建⽴在

⼴域⽹的基础上的。

优点

C/S的优点是能充分发挥客户端PC的处理能⼒,很多⼯作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。

缺点

客户端需要安装专⽤的客户端软件。⾸先涉及到安装的⼯作量,其次任何⼀台电脑出问题,如病毒、
硬件损坏,都需要进⾏安装或维护。特别是有很多分部或专卖店的情况,不是⼯作量的问题,⽽是路程
的问题。还有,系统软件升级时,每⼀台客户机需要重新安装,其维护和升级成本⾮常⾼。

软件。⾸先涉及到安装的⼯作量,其次任何⼀台电脑出问题,如病毒、
硬件损坏,都需要进⾏安装或维护。特别是有很多分部或专卖店的情况,不是⼯作量的问题,⽽是路程
的问题。还有,系统软件升级时,每⼀台客户机需要重新安装,其维护和升级成本⾮常⾼。

B/S最⼤的优点就是可以在任何地⽅进⾏ *** 作⽽不⽤安装任何专⻔的软件。只要有⼀台能上⽹的电脑就
能使⽤,客户端零维护。系统的扩展⾮常容易,只要能上⽹,就可以使⽤了。甚⾄可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要⼈的参与,系统可以⾃动分配给⽤户⼀个账号进⼊系统。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5683786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存