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 文 件中加入上面的两行即可

相关文章
|
15天前
|
算法 网络协议 安全
HTTP/2 协议的缺点是什么?
HTTP/2 协议的缺点是什么?
|
15天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
56 3
|
26天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
49 13
|
19天前
|
传感器 缓存 网络协议
CoAP 协议与 HTTP 协议的区别
CoAP(Constrained Application Protocol)协议是为资源受限的设备设计的轻量级协议,适用于物联网场景。相比HTTP,CoAP具有低功耗、低带宽占用和简单易实现的特点,支持多播通信和无连接的交互模式。
|
24天前
|
开发者
HTTP 协议请求方法的发展历程
【10月更文挑战第21天】
|
24天前
|
安全
HTTP 协议的请求方法
【10月更文挑战第21天】
|
24天前
|
缓存 安全 前端开发
HTTP 协议的请求方法在实际应用中有哪些注意事项?
【10月更文挑战第29天】HTTP协议的请求方法在实际应用中需要根据具体的业务场景和需求,合理选择和使用,并注意各种方法的特点和限制,以确保网络通信的安全、高效和数据的一致性。
|
26天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
28天前
|
网络协议 前端开发 API
HTTP 和 TCP 协议的应用场景有哪些不同
【10月更文挑战第25天】HTTP(超文本传输协议)和 TCP(传输控制协议)处于网络协议栈的不同层次,各自具有独特的功能和特点,因此它们的应用场景也存在明显的差异。
|
28天前
|
安全 前端开发 JavaScript
利用HTTP协议进行文件上传和下载的常见方法
【10月更文挑战第25天】可以利用HTTP协议方便地实现文件的上传和下载功能,满足不同应用场景下的需求。在实际应用中,还可以根据具体的业务需求和安全要求,对文件上传和下载的过程进行进一步的优化和安全处理。