一、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协议的工作原理相关推荐

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

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

  2. 什么是HTTP协议及工作原理

    什么是HTTP协议及工作原理 1. 什么是HTTP协议 2. HTTP协议的工作原理 1. 什么是HTTP协议 HTTP(Hyper Text Transfer Protocol)即超文本传输协议.是 ...

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

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

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

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

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

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

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

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

  7. FTP协议及工作原理

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

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

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

  9. HTTPS协议及其工作原理

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

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

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

最新文章

  1. mysql 5.6 innodb_MYSQL 5.6中禁用INNODB引擎
  2. 查询远程或本地计算机的登录账户
  3. Acwing第 7 场周赛【未完结】
  4. 九妹带你走向 架构师
  5. 三:Java+SpringBoot框架使用(携带cookies信息访问的get接口开发)
  6. git安装后设置用户名和密码
  7. Oracle编译小结,20090525 Oracle知识总结
  8. Java分布式服务框架Dubbo初探(待实践)
  9. java doc书写_apidoc利用代码注释书写文档
  10. win7如何启用计算机的无线功能,win7笔记本怎么打开无线-win7打开无线功能,win7已关闭无线功能 未修复...
  11. php 项目如何运行_运行PHP项目(phpstorm+wampserver)
  12. 婆媳兵法之——短兵相接15天
  13. 中国电信再发力:推出最新七大惠民惠企新举措
  14. FTPC 在制品跟踪(WIP Tracking)对象
  15. 【3】SALSA-基于HIC数据辅助组装长读长组装结果
  16. SOPHON BM1684芯片解码性能以及支持的文件格式
  17. iOS开发系列-音频、视频以及摄像
  18. POE 供电设备原理详解
  19. android高仿音乐播放器,Android开源音乐播放器之高仿云音乐黑胶唱片
  20. C#.Net干货分享-构建Aocr_ImageHelper读取图片文字做解析

热门文章

  1. 职中c语言课程,C语言课件下载【深圳职业技术学院】
  2. 微信安装包 11 年膨胀 575 倍?QQ安装包800M?谁在抢你的手机内存?
  3. linux中找不到vim命令
  4. ADB登录验证暴力破解工具
  5. 微信APP支付 C#
  6. c语言关键字c11,_Generic关键字及其语法和应用(C11标准),C语言_Generic详解
  7. c++基础(上) 听课流水账
  8. excel vba导入html表格,网页vba excel表格数据-Excel VBA填写网页上的内容
  9. 怎样用matlab拟合,怎么用用matlab拟合两条直线
  10. App测试如何进行?手机app测试要点