Web基础(HTTP协议)

目录

一、HTTP协议。

(1)基本概念。

(2)HTTP协议关键特点和组成部分。

1、请求------响应。

2、无状态协议。

3、常用方法。

<1>GET请求。

<2>POST请求。

[4、响应状态码(Status Codes):](#4、响应状态码(Status Codes):)

5、持久连接。

6、管道。

7、HTTP协议的安全性。

8、分块传输编码。

9、内容编码。

(3)基本小结。


一、HTTP协议。

(1)基本概念。
  • HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式、超媒体信息系统的网络协议。
  • 定义了客户端(如网页浏览器)与服务器(如网站服务器)之间请求响应的格式。HTTP 是互联网上应用最广泛的协议之一,主要用于传输网页内容。

(2)HTTP协议关键特点和组成部分。
1、请求------响应。
  • HTTP 工作在客户端-服务器模型之上。客户端浏览器携带相关请求数据,发起请求。服务器对请求进行处理与数据进行解析,然后响应请求。
  • 双方按照一定的格式去解析数据、响应数据。而这些格式都是在HTTP协议进行定制的。

  • 案例。
  • 当点击登录提交按钮。

  • 通过浏览器的"开发者工具"查看网络中的请求和响应信息。

  • 头部(Headers):HTTP 请求和响应都包含头部信息。这些头部信息提供了关于请求或响应的附加信息。例如:Content-Type:指定传输的数据类型。User-Agent:请求的用户代理信息。Accept:客户端能够处理的媒体类型。Set-Cookie:服务器向客户端设置Cookie。
  • 请求标头:key---value存在的那些数据就是请求头。如果是post请求就会存在请求体。

  • 响应标头:第一行展示了协议的版本。其中后面的"200"是响应的状态码。(200代表响应成功)而key---value存在的那些数据就是响应头。
  • 响应体。

  • 我们可以发现就如概念所说,它们的原始数据就是一些文本数据

2、无状态协议。
  • HTTP 本身是无状态的,这意味着服务器不会保存关于客户端请求的任何信息。
  • 它对于事务的处理是没有记忆的!
  • 每次请求------响应都是相互独立的,服务器不会记住之前的请求信息。HTTP协议是基于请求------响应模型。也就是一次请求对应一次响应。

3、常用方法。
  • HTTP 定义了一系列的方法(也称为动词),用于指定对资源的操作类型。

  • GET:请求指定的页面信息,并返回实体主体。(重要)
  • POST:向指定资源提交数据进行处理请求。(例如提交表单或者上传文件)(重要)

<1>GET请求。
  • 请求参数会在浏览器的地址栏中显示,所以不安全。
  • 请求参数长度限制长度在1K之内。
  • GET请求没有请求体,无法通过request.setCharacterEncoding()来设置参数的编码。

<2>POST请求。
  • 请求参数不会显示浏览器的地址栏,相对安全。

  • 请求参数长度没有限制。可以上传较大的资源文件。


  • PUT:上传文件。
  • DELETE:删除文件。
  • HEAD:请求获取与GET请求相同的响应,但没有响应体。
  • OPTIONS:用于描述目标资源的通信选项。

4、响应状态码(Status Codes):
  • 服务器响应客户端请求时,会返回一个状态码,表示请求的结果。常见的状态码包括以下情况。
  • 200。OK:请求成功。
  • 301。Moved Permanently:永久重定向。
  • 404。Not Found:请求的资源未找到。
  • 500。Internal Server Error:服务器内部错误。

5、持久连接。
  • HTTP/1.1 支持持久连接,允许多个请求和响应在同一个TCP连接上进行,减少了建立和关闭连接的开销。

6、管道。
  • HTTP/1.1 还支持管道技术,允许客户端在等待服务器响应当前请求时,继续发送新的请求。

7、HTTP协议的安全性。
  • HTTP协议是基于TCP进行通信的。
  • 因为TCP是面向安全的协议 。在建立连接时需要"三次握手"(确认双方都有发送、接收数据的能力,然后再进行数据的传输,这样就不会出现丢失"数据包"的情况,更加安全)

  • HTTP 本身不提供加密。但可以通过使用 HTTPS(HTTP Secure),即在HTTP上加上SSL/TLS协议来提供加密传输。

8、分块传输编码。
  • 允许服务器在知道整个响应大小之前就开始发送响应。

9、内容编码。
  • 如gzip,用于压缩传输的数据,减少传输时间。、

(3)基本小结。
相关推荐
橘子真甜~4 小时前
C/C++ Linux网络编程15 - 网络层IP协议
linux·网络·c++·网络协议·tcp/ip·计算机网络·网络层
CodeByV5 小时前
【网络】UDP 协议深度解析:从五元组标识到缓冲区
网络·网络协议·udp
敲敲了个代码5 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
车载测试工程师5 小时前
CAPL学习-AVB交互层-概述
网络协议·tcp/ip·以太网·capl·canoe
llxxyy卢6 小时前
逻辑越权之水平垂直越权
web安全·web
sg_knight6 小时前
拥抱未来:ECMAScript Modules (ESM) 深度解析
开发语言·前端·javascript·vue·ecmascript·web·esm
鲸鱼电台分台7 小时前
工业应用通信协议:IEC104
网络协议
冰敷逆向8 小时前
苏宁滑块VMP深入剖析(一):解混淆篇
javascript·爬虫·安全·web
无敌最俊朗@10 小时前
WebSocket与Webhook:实时通信技术对比
网络·websocket·网络协议