HTTP协议详解

简介: HTTP协议详解,浏览器和服务器交互过程详解(图文结合,食用更佳)

浏览器和服务器交互模式、http协议的概念和介绍

浏览器和服务器交互模式:

客户端根据用户输入的地址信息请求服务器,服务器在接收到用户的请求后进行处理,
然后将处理结果响应给客户端,客户端将响应结果展示给用户。

在这里插入图片描述

HTTP协议:

概念:超文本传输协议
作用: 规范了浏览器和服务器的数据交互
特点:简单快速、无连接、无状态、灵活、支持B/S及C/S模式、
注:HTTP1.1版本后支持可持续连接

无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

HTTP 的交互流程

一般分为四个步骤(一次完整的请求):
步骤一: 客户端和服务器端建立连接
步骤二:客户端发送请求数据到服务器端(HTTP 协议)
步骤三:服务器端接收到请求后,进行处理,然后将 处理结果响应客户端(HTTP 协议)
步骤四:关闭客户端和服务器端的连接(HTTP1.1 后不会立即关闭)

在这里插入图片描述

Http的请求头和请求方式

请求格式的结构:

请求行:请求方式、请求的地址和 HTTP 协议版本
请求头:消息报头,一般用来说明客户端要使用的一些附加信息
空行: 位于请求行和请求数据之间,空行是必须的。
请求数据:非必须。

在这里插入图片描述

HTTP 协议之请求方式

根据 HTTP 标准,HTTP 请求可以使用多种请求方法。
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。
HTTP1.1 新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法

在这里插入图片描述

get 和 post 请求方式的区别:

## get 请求方式:

请求数据会以?的形式隔开拼接在请求头中,不安全,没有请求实体部分。 HTTP 协议虽然没有规定请求数据的大小,但是浏览器对 URL 的长度是有限制的,所以 get 请求不能携带大量的数据。

post 请求方式:

请求数据在请求实体中进行发送,在 URL 中看不到具体的请求数据,安全。适合数据量大的数据发送。

Http的相应格式与响应码

响应格式的结构:

响应行(状态行):HTTP 版本、状态码、状态消息
响应头:消息报头,客户端使用的附加信息
空行:响应头和响应实体之间的,必须的。
响应实体:正文,服务器返回给浏览器的信息

在这里插入图片描述

响应报文格式

在这里插入图片描述

常见的响应码

在这里插入图片描述

服务器软件的介绍

所谓服务器软件其实就是代码编写的一个可以根据用户请求实时的调用执行对应的逻辑代码的一个容器。在普通用户看来就是一个安装程序。
我们只需要将服务器在操作系统上进行安装,并将我们事先编写好的逻辑处理代码根据规则放到服务器的指定位置,启动服务器,那么服务器就自动的会根据接收到请求调用并执行对象的逻辑代码进行处理。

Tomcat相关

常见问题:
1、 tomcat 的运行依赖 JDK,必须配置 JDK 环境。配置方式参照:
https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html

2、 闪退,启动闪退问题一般是因为JDK的环境变量配置有问题,参照 1 进行重新进行配置,如果还是闪退, 在 bin\startup.bat 文件中的第一行前面加入:

SET JAVA_HOME=JDK 目录  
SET CATALINA_HOME=解压后 Tomcat 的目录  

这样,运行 startup.bat 就可以正常启动 tomcat 服务器,如 果想点击 shutdown.bat 关闭服务器,同样在 shutdown.bat 文 件中加入上面的两行即可

相关文章
|
2月前
|
缓存 负载均衡 网络协议
HTTP 与 SOCKS5 代理协议:企业级选型指南与工程化实践
面向企业网络与数据团队的代理协议选型与治理指南,基于流量特征选择HTTP或SOCKS5协议,通过多协议网关统一出站,结合托管网络降低复杂度,实现稳定吞吐、可预测时延与合规落地。
|
7月前
|
数据采集 数据可视化 API
QUIC协议优化:HTTP/3环境下的超高速异步抓取方案
本文介绍了一种基于QUIC和HTTP/3的异步爬虫方案,用于抓取知乎热榜数据并生成趋势图。通过HTTPX与aioquic结合实现高性能连接复用,配合代理IP绕过反爬限制,提取标题、热度等信息。利用Python代码示例展示了异步抓取流程,并借助Matplotlib绘制话题热度变化图表。分析显示突发热点生命周期短,而深度话题热度更稳定。此方案可优化内容运营策略,快速捕捉潜在爆款话题。
325 4
QUIC协议优化:HTTP/3环境下的超高速异步抓取方案
|
5月前
|
缓存 监控 搜索推荐
301重定向实现原理全面解析:从HTTP协议到SEO最佳实践
301重定向是HTTP协议中的永久重定向状态码,用于告知客户端请求的资源已永久移至新URL。它在SEO中具有重要作用,能传递页面权重、更新索引并提升用户体验。本文详解其工作原理、服务器配置方法(如Apache、Nginx)、对搜索引擎的影响及最佳实践,帮助实现网站平稳迁移与优化。
655 68
|
4月前
HTTP协议中请求方式GET 与 POST 什么区别 ?
GET和POST的主要区别在于参数传递方式、安全性和应用场景。GET通过URL传递参数,长度受限且安全性较低,适合获取数据;而POST通过请求体传递参数,安全性更高,适合提交数据。
560 2
|
4月前
|
应用服务中间件
HTTP协议中常见的状态码
HTTP协议状态码分为1xx、2xx、3xx、4xx、5xx五类,常见状态码包括:101(请求已接受)、200(请求成功)、302(重定向)、400(请求错误)、401(未认证)、403(无权限)、404(资源不存在),以及500(服务器错误)、502(网关错误)、503(服务不可用)、504(网关超时)等。
172 0
|
4月前
|
网络协议 安全 网络安全
什么是HTTP协议
HTTP协议是超文本传输协议,基于TCP,规定了客户端与服务器端通信规则,但数据以明文传输,安全性低。HTTPS则通过SSL加密保障数据安全。两者默认端口不同,HTTP为80,HTTPS为443。HTTPS安全性更高,但消耗更多服务器资源。
203 0
|
4月前
|
数据采集 Web App开发 JSON
Python爬虫基本原理与HTTP协议详解:从入门到实践
本文介绍了Python爬虫的核心知识,涵盖HTTP协议基础、请求与响应流程、常用库(如requests、BeautifulSoup)、反爬应对策略及实战案例(如爬取豆瓣电影Top250),帮助读者系统掌握数据采集技能。
377 0
|
5月前
|
存储 网络协议 安全
HTTP 协议及会话跟踪机制详解
本文详解了 HTTP 协议的核心知识,包括其定义(超文本传输协议,基于 TCP,规定客户端与服务器通信规则)及与 HTTPS 的区别(安全性、端口、资源消耗)。 介绍了 GET 与 POST 请求的差异(参数限制、安全性、应用场景),以及 Restful 风格(通过 URL 定位资源,请求方式决定操作)。列举了常见 HTTP 状态码(如 200 成功、404 资源未找到),对比了转发与重定向的区别(服务器端一次请求 vs 客户端两次请求)。 还阐述了会话跟踪机制:Cookie 基于客户端存储,通过Set-Cookie和Cookie头实现,安全性较低;Session 基于服务端存储,依赖 C
582 1
|
4月前
|
缓存 网络协议 UED
深度解析HTTP协议从版本0.9至3.0的演进和特性。
总的来说,HTTP的演进是互联网技术不断发展和需求日益增长的结果。每一次重要更新都旨在优化性能,增进用户体验,适应新的应用场景,而且保证了向后兼容,让互联网的基础架构得以稳定发展。随着网络技术继续进步,我们可以预期HTTP协议在未来还会继续演化。
498 0

热门文章

最新文章