IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> JavaWeb---HTTP请求与响应详解 -> 正文阅读

[网络协议]JavaWeb---HTTP请求与响应详解

HTTP协议:

????超?本传输协议(英?:HyperText Transfer Protocol,缩写:HTTP)是?种?于分布式、协作
????式和超媒体信息系统的应?层协议。HTTP是万维?的数据通信的基础。
在这里插入图片描述

HTTP请求/响应步骤:

在这里插入图片描述
DNS:用来将域名解析为真实的IP地址
????套接字(Socket)指得是区分不同应用程序进程间的网络通信和连接,
????主要有3个参数:通信的目的IP地址、使用的传输层协议(TCP或UDP)和使用的端口号

1. 客户端连接到Web服务器

?个HTTP客户端,通常是浏览器,与Web服务器的HTTP端?(默认为80)建??个TCP套接字
连接。例如:http://www.baidu.com。

2 发送HTTP请求

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

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

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

4 释放TCP连接

在HTTP/1.0中默认使?短连接。也就是说,客户端和服务器每进??次HTTP操作,就建??次
连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的Web?中包含有其
他的Web资源如JavaScript?件、图像?件、CSS?件等),每遇到这样?个Web资源,浏览器
就会重新建??个HTTP会话。?从HTTP/1.1起,默认使??连接,?以保持连接特性。使??
连接的HTTP协议,会在响应头加?这?代码:

        Connection:keep-alive

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

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 ?本并显示内容;
    在这里插入图片描述
    在这里插入图片描述

HTTP请求方法:

HTTP/1.1协议中共定义了?种?法(也叫“动作”)来以不同?式操作指定的资源
**GET
向指定的资源发出“显示”请求。使?GET?法应该只?在读取数据,?不应当被?于产?“副
作?”的操作 中,例如在Web Application中。其中?个原因是GET可能会被?络蜘蛛等随意
访问。
HEAD
与GET?法?样,都是向服务器发出指定资源的请求。只不过服务器将不传回资源的本?部
分。它的好处在于,使?这个?法可以在不必传输全部内容的情况下,就可以获取其中“关
于该资源的信息”(元信息或称元数据)。
**POST
向指定资源提交数据,请求服务器进?处理(例如提交表单或者上传?件)。数据被包含在
请求本?中。这个请求可能会创建新的资源或修改现有资源,或?者皆有。
*PUT
向指定资源位置上传其最新内容。
DELETE
请求服务器删除Request-URI所标识的资源。
TRACE
回显服务器收到的请求,主要?于测试或诊断。
OPTIONS
这个?法可使服务器传回该资源所?持的所有HTTP请求?法。?’
'来代替资源名称,向
Web服务器发送 OPTIONS请求,可以测试服务器功能是否正常运作。
CONNECT

开发模式:

动态页面:可以进行实时更新
1.C/S?称Client/Server或客户/服务器模式。服务器通常采??性能的PC、?作站或?型机,客
户端 需要安装专?的客户端软件。如QQ,微信等软件
2.B/S是Brower/Server的缩写,客户机上只要安装?个浏览器(Browser)。Browser/Server是建
?在?域?的基础上的.
各自优缺点:
????CS: 优:把服务器的压力放到客户端上,解析等工作都放在客户端上
???????????? 缺:实时性不强,例如qq不能保证所有的用户都更新新版本
????BS: 优:不拘束于哪个浏览器,只要有网络就可以,同步和实时性强
???????????? 缺:服务器的压力过大

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:49:27  更:2021-08-01 14:49:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:41:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码