HTTP协议的工作原理

article/2025/3/14 11:01:08

一、HTTP协议用于客户端和服务端之间的通信

1、http协议规定,请求是从客户端发出,最后服务器端相响应请求并返回

2、请求报文是由请求方法,请求URI,协议版本,可选的请求首部字段和内容实体构成。

      

3、响应报文基本上由协议版本,状态码,解释状态码的原因短语,可选的响应首部字段以及实体主体构成。

      

4、告知服务器意图的HTTP方法

  • GET:获取资源,如果为资源则保持原样返回,如果为程序则返回程序执行后的结果。
  • POST:传输实体主体
  • PUT:用来传输文件,要求在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置。(自身不带验证机制,存在安全问题,一般不使用该方法)
  • HEAD:与GET方法类似,只是不返回报文主体部分。用于确认URI的有效性及资源更新的日期时间等。
  • DELETE:与put相反,表示删除某资源,一般不适用。
  • OPTIONS:询问支持的方法。
  • TRACE:追踪路径,将web服务器之前等请求通信环给客户端的方法。在MAX-Forwards首部字段中填入数值,每经过一个服务器段,该数字就-1,当数值刚好为0时,就停止继续传输,最后收到请求的服务器则返回状态码200 OK的响应。客户端通过TRACE方法可以查询发送出去的请求是如何被加工的。(不常用)
  • CONNECT:要求用隧道协议连接代理,实现用隧道协议进行TCP通信。(使用SSL和TLS)

5、持续连接节省通信量

传统每请求一次就要三次握手连接tcp四次握手断开,但是原来传输量特别小,所以影响不大,但是当下一个html可能包含n多图片,会造成过多无谓大通信量。

  • 持久连接:只要任意一段没有明确提出断开连接,则保持TCP连接。HTTP1.1默认所有连接都是持久连接。

       

  • 管线化:曾经是发送请求后需要等待并收到响应,才会发送下一个请求。管线化技术不用等待响应亦可直接发送下一个请求。可以让更多请求更快结束。(速度快很多)

         
 

二、使用Cookie的状态管理

http协议本身不保留之前一切的请求和响应报文的信息,这是为了更快地处理大量食物,确保协议的可伸缩性,而特意把HTTP协议设计成如此简单。但是假如用户登陆了某界面,需要保存用户登陆过这个事实该怎么办?于是引入了Cookie技术。于是乎就可以管理状态了。

如果让服务器管理全部客户端状态会成为负担。故引入Cookie技术解决该矛盾:Cookie会根据从服务端发送的响应报文中一个叫做set-Cookie的首部字段信息,通知客户端保存Cookie。当下次客户端再往该服务器发送请求时,客户端会自动在请求报文中加入Cookie的值发送出去。

服务器发现客户端发送过来的Cookie后,会去检查究竟是从哪一个客户端发来的连接请求,然后对比服务器上的纪录,得到最终状态信息。


http://chatgpt.dhexx.cn/article/2D9M4iCK.shtml

相关文章

HTTP和HTTPS的工作原理及区别

一、HTTP和HTTPS的基本概念 HTTP(HyperText Transfer Protocol:超文本传输协议):是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从Web服…

HTTP详解(1)-工作原理

1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定…

VBS带你领略脚本语言的快乐!(入门篇)

VBS语言基础入门 前言 小弟初来乍到,自诩高中时曾自学过一点VBS脚本语言基础,感觉不错,想把学习到的东西记录下来,和大家分享一下,由于小弟我学艺不精,有误的地方还请多多指教。    入门篇是给电脑小白做…

◎Vbs脚本编程简明教程之十 —— Vbs脚本编程常用的编辑器

Vbs脚本常用的编辑器当然是notapad,不过这个编辑器的功能当然实在是太弱了一点,其实有很多的专用的脚本编辑器可以大大方便vbs脚本的编写。我常用的有两种: 1、VBSEDit汉化版 2、primalscript汉化版,可以对30多种脚本进行编辑

VBS基础语法讲解

VBS基础语法讲解 文章目录 VBS基础语法讲解引言 一、编辑VBS的相关软件二、变量的定义一点说明 三、输入与输出1、输入2、输出 四、判断语句五、循环语句1、do -- loop 循环1)until2)while3)exit do 2、for -- next 循环 引言 最近在学习VBS…

bat编程和vbs编程入门

先看看bat(批处理文件)中一些简单的命令 开头第一句 echo off 这句话的意思是后面每句都关闭回显,(你可以不加这句直接echo 几行试试)on打开命令的回显状态;off关闭命令的回显状态。关于“回显”&#xff…

vbs编程-执行cmd命令

简单格式 set ws createobject("wscript.shell") ws.run "cmd.exe /c explorer e:\game" cmd命令行参数 cmd /c > /close 执行命令,关闭窗口 cmd /k > /keep 执行命令,保持窗口 详细如下: 命令行输入 cmd /?

vbs编程入门

由于本经验是针对初次学习VBScript的小伙伴而定制的一篇经验,看完本经验。小编的目的是希望小伙伴能学会2点: 1、VBScript的解释器在哪 2、VBScript为什么能直接解释运行 3、第一个VBS函数——msgbox 先来说下什么是解释器:编程编程&#xff…

vbs格式编程教程提高

大家好,今天我又双叒叕来写教程了,相信很多读者是从我的文章:vbs格式编程教程_Hacker_02的博客-CSDN博客里过来的吧?好了,闲话先说到这,我们开始今天的提高内容: 下有小病毒,想要的…

vbs格式编程教程基础

什么是vbs呢?我们来看一下百度百科上的定义。 VBS是基于Visual Basic的脚本语言。VBS的全称是:Microsoft Visual Basic Script Edition。(微软公司可视化BASIC脚本版)。 大家最关心的就是用什么工具来开发VBS程序了, 答案是:记事…

Latex部分斜体变直体

Latex斜体变为直体 \rm即可 未使用之前的效果( ${x}_{n1}$ $\mathop{\arg\min}\limits_{x}\alpha(x;D_n) ) 为了将所有的小写x变为直体,将所有的x替换为{\rm x}。( ${\rm x}_{n1}$ $\mathop{\arg\min}\limits_{\rm x}\alph…

latex \textit不变斜体

latex 字体问题 使用平台:texstudio 问题描述:使用\textit \textbf等字体命令并不变成斜体和加粗,但并不报错 解决方法:将编译器XeLaTex改为PdfLaTex,latex小白表示也不知道为什么,但确实好使了。

Latex 字体调整-斜体-下划线-加粗-罗马数字

字体大小: 七号   5.25pt    1.845mm    \tiny 六号   7.875pt    2.768mm    \scriptsize 小五号  9pt      3.163mm    \footnotesize 五号   10.5pt    3.69mm     \small 小四号  12pt     4.2175mm    \norma…

latex的公式中不用斜体显示,使用罗马字体显示

latex的公式中不用斜体显示,使用罗马字体显示 latex公式中部分字体不是用斜体显示改成不是斜体的字母 latex公式中部分字体不是用斜体显示 latex的公式中显示min的格式是如下图所示: 对应的latex的代码如下所示: \begin{align}\label{test…

Latex参考文献斜体变正体方法

测试环境:texlivetexstudio 最近发表的论文被拒稿后改投Elsevier出版社的期刊,在引用参考文献时,遇到了问题: 1.一开始样式用的期刊所给名为(cas-model2-names.bst)的参考文献格式文件,但是使…

1、Latex学习笔记之基础入门篇

目录 一、Latex基础 1、架构 2、引用、脚注 3、单栏、双栏 4、常用快捷键 5、宏包 6、空格 7、换行、行间距 8、换段 9、下划线 10、引号 11、注释 12、字体 13、缩进 14、超链接 15、新页 Latex基础 1、架构 \documentclass{article} % article 文档 \usepac…

latex 字母g的写法

环境:texstudio 4.5.2 有时候写文章需要字母的不同形式,字母g比较特殊 在word中用mathtype写的话是我想要的字母g的格式,但是在latex中就比较麻烦。 直接给出latex中结果(水印不知道怎么去掉): 代码&#x…

[Overleaf] LaTeX中的斜体、加粗、下划线和简单指令

[Overleaf] LaTeX中的部分使用技巧 1、斜体 使用 \textit 指令 it is an \textit{apple}.运行结果: 2、字体加粗 使用 \textbf 指令,或者使用 CtrlB it is an \textbf{apple}.运行结果: 3、下划线 使用 \underline 指令 it is an …

latex写科技论文加粗斜体无效的解决方法

latex写科技论文加粗斜体无效的解决方法 \textbf{}不work 点击选项->设置TeXstudio->构建

latex加粗斜体无效的解决方法

latex无法使用加粗和斜体&#xff0c;加粗斜体无效解决方法 工具栏–选项–设置TexSudio 在<构建>中&#xff0c;更改<默认编辑器>为pdflatex即可 结果如下