达内广州C++学院|c++培训|广州达内科技C++/C#培训|.NET培训|IT培训|达内广州岗顶中心 达内广州C++学院|c++培训|广州达内科技C++/C#培训|.NET培训|IT培训|达内广州岗顶中心
达内新闻
 当前位置:主页 > 达内新闻 >

http协议工作原理和常见请求方法

时间:2019-05-09  来源:未知  作者:广州达内培训

我们在学习web前端编程开发技术的时候需要重点掌握http协议等相关知识,下面我们就从工作特点和原理上来做一个简单介绍。

一、HTTP协议的工作特点和工作原理

工作特点

基于B/S模式

通信开销小、简单快速、传输成本低

使用灵活、可试用超文本传输协议

节省传输时间

无状态

工作原理

客户端发送请求给服务器,创建一个TCP链接,指定端口号,默认80,连接到服务器,服务器监听浏览器请求,一旦监听到客户端请求,分析请求类型后,服务器会向客户端放回状态信息和数据内容。

http协议工作原理和常见请求方法

二、HTTP协议请求方法

1.GET:获取资源

GET方法用来请求访问已被URI识别的资源。指定的资源经服务器端解析后返回响应内容。

2.POST:传输实体主体

POST方法用来传输实体的主体。

虽然用GET方法也可以传输实体的主体,但一般不用GET方法进行传输,而是用POST方法。虽说POST的功能与GET很相似,但POST的主要目的并不是获取响应的主体内容。

3.PUT:传输文件

PUT方法用来传输文件。就像FTP协议的文件上传一样,要求在请求报文的主体中包含文件内容,然后保存到请求URI指定的位置。

但是,鉴于HTTP/1.1的PUT方法自身不带验证机制,任何人都可以上传文件,存在安全性问题,因此一般的Web网站不使用该方法。若配合Web应用程序的验证机制,或架构设计采用REST(REpresentationalStateTransfer,表征状态转移)标准的同类Web网站,就可能会开放使用PUT方法。

4.HEAD:获得报文部

HEAD方法和GET方法一样,只是不返回报文主体部分。用于确认URI的有效性及资源更新的日期时间等。

5.DELETE:删除文件

DELETE方法用来删除文件,是与PUT相反的方法。DELETE方法按请求URI删除指定的资源。

但是,HTTP/1.1的DELETE方法本身和PUT方法一样不带验证机制,所以一般的Web网站也不使用DELETE方法。当配合Web应用程序的验证机制,或遵守REST标准时还是有可能会开放使用的。

6.OPTIONS:询问支持的方法

OPTIONS方法用来查询针对请求URI指定的资源支持的方法。

7.TRACE:追踪路径

TRACE方法是让Web服务器端将之前的请求通信环回给客户端的方法。

发送请求时,在Max-Forwards部字段中填入数值,每经过一个服务器端就将该数字减1,当数值刚好减到0时,就停止继续传输,后接收到请求的服务器端则返回状态码200OK的响应。

客户端通过TRACE方法可以查询发送出去的请求是怎样被加工修改/篡改的。这是因为,请求想要连接到源目标服务器可能会通过代理中转,TRACE方法就是用来确认连接过程中发生的一系列操作。

但是,TRACE方法本来就不怎么常用,再加上它容易引发XST(Cross-SiteTracing,跨站追踪)攻击,通常就更不会用到了。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。




上一篇:比ps更好用的制图软件是什么
下一篇:没有了

友情链接:
  • Android Q Beta 3推出全新系统黑暗主题,实时字幕等
  • WordPress 5.2 “Jaco”发布
  • Sailfish OS “Hossa”从旧eglibc 2.19升级,但仍依赖于GCC 4
  • GeForce GTX 1650支持向418.74更新移植到稳定的Linux驱动程序
  • Android Q的ANGLE在Vulkan上提供OpenGL ES
  • .NET 5 将于2020年问世
  • Mesa 19.1已被分支,Mesa 19.2正在开发中
  • FBI查获暗网索引和新闻网站Deep Dot Web
  • LibreOffice 6.1于5月29日到达生命周期,请升级到LibreOffice 6.
  • Canonical为微软Hyper-V提供优化的Ubuntu 19.04桌面镜像
  • Apple发布iOS 12.3,macOS 10.14.5,tvOS 12.3和watchOS 5.2.1的
  • KDE Plasma 5.15桌面寿命终结,KDE Plasma 5.16于6月11日发布 -
  • Red Hat Enterprise Linux 8.0(RHEL8)正式发布了
  • Ant Design 3.17.0 发布,企业级UI设计语言
  • 音乐播放器 Qmmp 1.3.2 发布,修复Wayland会话问题
  • Ubuntu 14.04(Trusty Tahr)达到生命终点,现在升级到Ubuntu 18
  • JupyterHub 1.0 发布,命名服务器与TLS加密支持
  • Linux Kernel 5.1 正式发布,大量新功能
  • Linux Mint 17达到了生命终结,用户需要升级到Linux Mint 18或19
  • RStudio 1.2发布,改进对Python chunks,R脚本等的测试和支持
  • Firefox 66.0.4 发布,解决由于证书过期而导致的插件损坏问题
  • 印度将于5月成立国防网络局
  • macOS版本的Microsoft Edge 浏览器下载地址泄露
  • 微软宣布推出“Windows Terminal”,受Linux风格启发终端
  • Btrfs在Linux 5.2内核中获得一些有用的修复/改进
  • Unigine 2.8 发布,更好的植被与异步数据流
  • Linux Kernel 5.1 应该会在今天发布,更快的zRAM
  • Linux版的Microsoft Edge浏览器可能在工作中
  • GNU Linux-Libre 5.1 内核正式发布,基于Linux kernel 5.1系列
  • 微软宣布推出Windows Subsystem for Linux 2(WSL 2)
  • Ubuntu Linux现在支持微软的第二代Windows Linux子系统(WSL 2 )
  • Visual Studio Code添加Java 12支持,Java代码操作和语言功能
  • 微软为Windows 10带来原生Linux内核,将成为WSL 2的一部分
  • Ubuntu 19.10代号为“Eoan Ermine”,将于10月17日发布
  • 2019年GitHub上最受欢迎的7种编程语言
  • Brackets 1.14 发布,LSP支持(Ubuntu下安装方法)
  • 适用于Linux的最佳Photoshop替代品 - GIMP,Krita,Darktable,d
  • Linux 5.2应该可以解决许多AMD Ryzen笔记本电脑触摸屏/触摸板无
  • 谈判失败:Oracle 杀死 Java EE
  • 寒武纪“思元270”曝光,AI性能直追Nvidia
  • DXVK 1.1.1 发布,解决召回的DXVK 1.1问题
  • 全球首款人工智能触觉芯片问世 它能带来什么惊喜呢?
  • 工信部批复同意成都建国家“芯火”双创基地
  • 7nm二代霄龙新品面世,AMD市场份额将超10%
  • 手机CPU“核战”结束了吗?
  • 大乐透走试图
  • 体彩排列3助赢软件
  • 世界杯盘口
  • 专业玩彩网
  • 金沙扑克
  • 电子游戏机
  • 宝来棋牌
  • 体彩竞彩