2022.4.16 HTTP

HTTP

什么是协议? 什么是 HTTP 协议?

协议是指双方或多方相互约定好大家都需要遵守的规则,叫协议。 所谓 HTTP 协议,就是指客户端和服务器之间通信时发送的数据需要遵守的规则,叫 HTTP 协议。HTTP 协议中的数据又叫报文。HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。

请求的 HTTP 协议格式

客户端给服务器发送数据叫请求,请求又分为 GET 请求,和 POST 请求两种

服务器给客户端回传数据叫响应。

Https:(s表示安全的)

两个时代

  • HTTP/1.0:客户端可以与web服务器连接后,只能获得一个web资源,断开连

  • HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源。

GET 请求

  • 请求行

    • 请求的方式(GET)

    • 请求的资源路径([+?+请求参数] )

    • 请求的协议的版本号 (HTTP/1.1 )

    • get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效

  • 请求头

    • key : value 组成,不同的键值对,表示不同的含义。

a.html

复制代码
 1  <!DOCTYPE html>
 2  <html lang="zh_CN">
 3  <head>
 4      <meta charset="UTF-8">
 5      <title>Title</title>
 6  </head>
 7  <body>
 8      <form action="http://localhost:8080/06_servlet/hello3" method="post">
 9          <input type="hidden" name="action" value="login" />
10          <input type="hidden" name="username" value="root" />
11          <input type="submit">
12      </form>
13  </body>
14  </html>
复制代码

访问http://localhost:8080/06_servlet/a.html

POST 请求

  • 1、请求行

    • 请求的方式 (POST)

    • 请求的资源路径([+?+请求参数] )

    • 请求的协议的版本号 (HTTP/1.1 )

    • post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。

  • 2、请求头

    • key : value 不同的请求头,有不同的含义

    空行

  • 3、请求体 =>>> 就是发送给服务器的数据

a.html

复制代码
 1  <!DOCTYPE html>
 2  <html lang="zh_CN">
 3  <head>
 4      <meta charset="UTF-8">
 5      <title>Title</title>
 6  </head>
 7  <body>
 8      <form action="http://localhost:8080/06_servlet/hello3" method="post">
 9          <input type="hidden" name="action" value="login" />
10          <input type="hidden" name="username" value="root" />
11          <input type="submit">
12      </form>
13  </body>
14  </html>
复制代码

访问http://localhost:8080/06_servlet/a.html 点击提交按钮

常用请求头的说明

  • Accept: 表示客户端可以接收的数据类型

  • Accpet-Languege: 表示客户端可以接收的语言类型

  • User-Agent: 表示客户端浏览器的信息

  • Host: 表示请求时的服务器 ip 和端口号 iv.

哪些是 GET 请求,哪些是 POST 请求

  • GET 请求有哪些:

    • form 标签 method=get

    • a 标签

    • link 标签引入 css

    • Script 标签引入 js 文件

    • img 标签引入图片

    • iframe 引入 html 页面

    • 在浏览器地址栏中输入地址后敲回车

  • POST 请求有哪些:

    • form 标签 method=post

响应的HTTP 协议格式

  • 1、响应行

    • 响应的协议和版本号 HTTP/1.1

    • 响应状态码 200

    • 响应状态描述符 ok

  • 2、响应头

    • key : value 不同的响应头有其不同含义

    空行

  • 3、响应体 ---->>> 就是回传给客户端的数据

常用的响应码说明

200:请求响应成功 200

3xx:302 表示请求重定向

  • 重定向:你重新到我给你新位置去

4xx:404 表示请求服务器已经收到了,但是你要的数据不存在(请求地址错误)

  • 资源不存在

5xx:500表示服务器已经收到请求,但是服务器内部错误(代码错误)     502:网关错误

 

响应头:

1  cache-control :private     缓存控制
2  connection :keep-Alive     连接
3  content-Encoding:gzip      编码
4  content-Type : text/htm1类型

响应体

1  Accept:告诉浏览器,它所支持的数据类型
2  Accept-Encoding:支持哪种编码格式GBK UTF-8GB2312 ISo8859-1
3  Accept-Language:告诉浏览器,它的语言环境
4  cache-contro1:缓存控制
5  connection:告诉浏览器,请求完成是断开还是保持连接
6  HOST:主机....
7  Refresh:告诉客户端,多久刷新一次;
8  Location:让网页重新定位;

MIME 类型说明

MIME 是 HTTP 协议中数据类型。

MIME 的英文全称是"Multipurpose Internet Mail Extensions" 多功能 Internet 邮件扩充服务。MIME 类型的格式是“大类型/小类型”,并与某一种文件的扩展名相对应。

文件后缀MIME 类型
超文本标记语言文本 .html , .htm text/html
普通文本 .txt text/plain
RTF 文本 .rtf application/rtf
GIF 图形 .gif image/gif
JPEG 图形 .jpeg,.jpg image/jpeg
au 声音文件 .au audio/basic
MIDI 音乐文件 mid,.midi audio/midi,audio/x-midi
RealAudio 音乐文件 .ra, .ram audio/x-pn-realaudio
MPEG 文件 .mpg,.mpeg video/mpeg

常见面试题:

当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么?

posted @   暴躁C语言  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示