什么是HTTP协议及工作原理

  • 1. 什么是HTTP协议
  • 2. HTTP协议的工作原理

1. 什么是HTTP协议

HTTP(Hyper Text Transfer Protocol)即超文本传输协议。是一个简单的请求-响应协议,它通常运行在TCP之上。运行于应用层。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。

HTTP是一种无状态的协议,无状态是指Web浏览器与Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应,连接就被关闭了,在服务器端不保留连接的有关信息(没有记忆)。也就是说,HTTP请求只能由客户端发起,而服务器不能主动向客户端发送数据。

2. HTTP协议的工作原理

工作原理:
HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。 WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页。WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信。HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。

HTTP是基于客户/服务器模式,且面向连接的。典型的HTTP事务处理有如下的过程:
(1)客户与服务器建立连接;
(2)客户向服务器提出请求;
(3)服务器接受请求,并根据请求返回相应的文件作为应答;
(4)客户与服务器关闭连接。

客户与服务器之间的HTTP连接是一种一次性连接,它限制每次连接只处理一个请求,当服务器返回本次请求的应答后便立即关闭连接,下次请求再重新建立连接。这种一次性连接主要考虑到WWW服务器面向的是Internet中成干上万个用户,且只能提供有限个连接,故服务器不会让一个连接处于等待状态,及时地释放连接可以大大提高服务器的执行效率。

HTTP协议的作用原理包括四个步骤(具体):

  1. 连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。

  2. 请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为:GET 路径/文件名 HTTP/1.0文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。

  3. 应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。

  4. 关闭连接:客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接

HTTP协议是基于请求/响应范式的。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

其实简单说就是任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用户请求。你的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。在这一过程中,在网络上发送和接收的数据已经被分成一个或多个数据包(packet),每个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包。TCP/IP决定了每个数据包的格式。如果事先不告诉你,你可能不会知道信息被分成用于传输和再重新组合起来的许多小块。

许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理(UA)和源服务器(O)之间通过一个单独的连接来完成。

当一个或多个中介出现在请求/响应链中时,情况就变得复杂一些。中介有三种:代理(Proxy)、网关(Gateway)和通道(Tunnel)。一个代理根据URI的绝对格式来接受请求,重写全部或部分消息,通过URI的标识把已格式化过的请求发送到服务器。网关是一个接收代理,作为一些其它服务器的上层,并且如果必须的话,可以把请求翻译给下层的服务器协议。一个通道作为不改变消息的两个连接之间的中继点。当通讯需要通过一个中介(例如:防火墙等)或者是中介不能识别消息的内容时,通道经常被使用。

什么是HTTP协议及工作原理相关推荐

  1. FTP协议及工作原理详解

    FTP协议及工作原理详解 1. FTP协议 什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写. 该协议是Internet文件传送的 ...

  2. openflow协议的工作原理及流表的基本操作

    openflow协议的工作原理及流表的基本操作 1.openflow协议的工作原理 首先看一下python文件中的拓扑图,主机h1如果要与h3进行通信,h1向网络发送数据包,这里数据包发送给交换机s1 ...

  3. ARP协议以及RARP协议的工作原理

    ARP协议和RARP协议都是五层网络协议中的网络层协议. ARP(Address Resolution Protocol)地址解析协议:作用是将网络层IP地址转换为数据链路层MAC地址,即完成IP地址 ...

  4. 下面哪个字段是http请求中必须具备的_HTTP协议及其工作原理介绍

    HTTP,全称 HyperText Transfer Protocol,即超文本传输协议.它是互联网应用最为广泛的一种网络协议,我们平时浏览网页的时候就是使用HTTP协议.比如当你在浏览器中输入www ...

  5. lorawan的工作原理_LoRaWAN协议的工作原理是怎样的

    考虑使用LoRaWAN部署您的物联网解决方案?倘若您正在开发用于工业或企业用途的专用网络解决方案,那么您需要了解此技术的一些限制(以及在许多情况下将为您提供更好服务的替代协议). 在本文中,我们将深入 ...

  6. FTP协议及工作原理

    1. FTP协议 什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写. 该协议是Internet文件传送的基础,它由一系列规格说明文 ...

  7. Zookeeper-03-ZK的ZAB协议和工作原理

    文章目录 1:Zookeeper基本概念 1:Zookeeper是什么 2:Zookeeper能做什么 3:Zookeeper角色 2:Zookerper算法 1:paxos算法 2:ZAB协议 3: ...

  8. HTTPS协议及其工作原理

    一.什么是HTTPS HTTP 协议(HyperText Transfer Protocol,超文本传输协议)是客户端浏览器或其他程序与Web服务器之间的应用层通信协议 .HTTP协议传输的数据都是未 ...

  9. HTTP和HTTPS协议及工作原理分析

    HTTP协议概念 HTTP协议(HyperText Transfer Protocol,超文本传输协议,属于应用层)是用于从服务器传输超内容到本地浏览器的传送协议.是一个无状态的协议 想了解http, ...

最新文章

  1. 『ORACLE』 配置共享服务器(11g)
  2. 1.12 深层循环神经网络-深度学习第五课《序列模型》-Stanford吴恩达教授
  3. Socket api接口--Send(),Recv()的长度问题
  4. 对于成功的GDUUU商人来说
  5. 22. 链表中倒数第k个节点
  6. html引入html include_PostgreSQL引入插件EXTENSION的常用方法
  7. Ubuntu18.04配置ork(ecto、ecto_image_pipeline、ecto_opencv、ork_reconstruction)
  8. 用BT搜宝快速找种子
  9. 淘宝天猫1688以图搜图,按图搜索商品,API接口调用展示(拍立淘API)
  10. cubase DCOM connection to programe Synsopose.exe failed
  11. 如果使用git克隆远程创库,pull提示Can‘t update master has no tracked branch
  12. PHP实现微信小程序免密支付,微信免密支付,微信小程序实现微信支付功能!!!...
  13. 100条人生哲理语句
  14. Zookeeper轻松上手
  15. Jsp实现注册登录以及忘记找回密码等操作(上)
  16. idapython 手册
  17. C++ 输入输出(cin cout)加速/效率优化
  18. swift版 关于微信支付的那点事
  19. 好分数一个等第是什么意思_DPI是什么意思 鼠标DPI越高越好吗?
  20. 【Java锁体系】ReadWriteLock读写锁是什么?什么是读写锁

热门文章

  1. Vuex中的Module
  2. Eureka启动失败
  3. 计算机档案安全及保密管理,中国海洋大学档案馆档案安全与保密管理办法
  4. Web of Lies(CF 1548A)
  5. 2016年综合布线行业发展趋势
  6. 小米集团副总裁崔宝秋:人类正进入“AIoT+5G”超级互联网时代
  7. 蒙蒂·霍尔遇见蒙特·卡洛遇见蒙蒂·Python
  8. 安卓qq视频动态名片制作器
  9. java后台拼接html
  10. 人工智能对图像处理常用的四大算法