超文本传输协议(HTTP)是一种用于分布式,协作式超媒体信息系统的应用程序层协议。HTTP是万维网(World Wide Web)数据通信的基础,超文本文档包括指向用户可以轻松访问的其他资源的超链接,例如,通过单击鼠标或通过在Web浏览器中点击屏幕。

技术概述

HTTP作为客户端-服务器计算模型中的请求-应答协议。例如,一个网页浏览器可能是客户端,一个在计算机上运行,托管在网站上的应用程序可能是服务器。客户端向服务器提交HTTP请求消息。服务器提供资源(例如HTML文件和其他内容)或代表客户端执行其他功能,将应答消息返回到客户端。应答包含有关请求的完成状态信息,并且还可能在其消息正文中包含请求的内容。

Web浏览器是用户代理(UA)的示例。其他类型的用户代理包括由搜索服务提供商使用的索引软件(网络爬虫),语音浏览器,移动应用,以及其他软件访问、消耗或显示网页内容。

HTTP旨在允许中间网络元素改善或启用客户端与服务器之间的通信。高流量的网站通常会受益于Web缓存服务器,该服务器代表上游服务器交付内容以缩短应答时间。Web浏览器缓存以前访问的Web资源,并在可能的情况下重用它们以减少网络流量。通过与外部服务器中继消息,专用网络边界处的HTTP代理服务器可以促进与没有全局可路由地址的客户端之间的通信。

HTTP是在Internet协议套件的框架内设计的应用程序层协议。常用的是底层和可靠传输层协议以及传输控制协议(TCP)。但是,HTTP可以修改为使用不可靠的协议,例如HTTPU和简单服务发现协议(SSDP)中的用户数据报协议(UDP )。

使用统一资源标识符(URI)方案http和https,通过统一资源定位符(URL)标识HTTP资源并将其放置在网络上。如RFC 3986中所定义的那样,URI被编码为HTML文档中的超链接,以形成相互链接的超文本文档。

HTTP / 1.1是原始HTTP(HTTP / 1.0)的修订版。在HTTP / 1.0中,为每个到同一服务器的资源请求都建立了单独连接。HTTP / 1.1可连接多次重复使用,在页面已交付之后下载图片、脚本、样式表等等。因而随着TCP连接的建立,HTTP/1.1通信的延迟更少,但同时也带来了相当大的开销。

HTTP会话

 

HTTP会话是一系列网络请求-应答事务。HTTP客户端通过建立到服务器上特定端口的传输控制协议(TCP)连接(通常是端口80,偶尔是端口8080)来发起请求。侦听该端口的HTTP服务器正在等待客户端的请求消息。收到请求后,服务器将发回状态行(例如“ HTTP / 1.1 200 OK”)和其自身的消息。虽然也可能会返回错误消息或其他信息,该消息的主体主要是请求的资源。

HTTP会话状态:HTTP是一种无状态协议。无状态协议不需要HTTP服务器在多个请求的持续时间内保留有关每个用户的信息或状态。但是,某些Web应用程序使用HTTP cookie或Web表单内的隐藏变量来实现状态或服务器端会话。

HTTP认证

HTTP提供了多种身份验证方案,例如基本访问身份验证和摘要访问身份验证,它们通过挑战-应答机制进行操作。借此方式,服务器在提供请求的内容之前识别访问队象并对其提出质疑和询问。

HTTP通过一组可扩展的挑战-应答认证方案,提供了用于访问控制和认证的通用框架,服务器可以使用挑战-应答认证方案来质疑和询问客户端请求,客户端可以使用它来提供认证信息。

 

身份验证领域

 

HTTP身份验证规范还提供了一个任意的、特定于实现的构造,用于进一步将公用的资源划分给定根URI。如果存在,则将领域值字符串与规范的根URI结合以形成质疑和询问的保护空间组件。实际上,这允许服务器在一个根URI下定义单独的身份验证范围。

关于EDI更多问题探讨,欢迎私信或评论。

注:文案部分内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。

HTTP介绍(一)的更多相关文章

  1. CSS3 background-image背景图片相关介绍

    这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...

  2. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  3. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  4. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  5. JavaScript var关键字、变量的状态、异常处理、命名规范等介绍

    本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...

  6. HTML DOM 介绍

    本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...

  7. HTML 事件(一) 事件的介绍

    本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...

  8. HTML5 介绍

    本篇主要介绍HTML5规范的内容和页面上的架构变动. 目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> ...

  9. ExtJS 4.2 介绍

    本篇介绍ExtJS相关知识,是以ExtJS4.2.1版本为基础进行说明,包括:ExtJS的特点.MVC模式.4.2.1GPL版本资源的下载和说明以及4种主题的演示. 目录 1. 介绍 1.1 说明 1 ...

  10. ExtJS 4.2 组件介绍

    目录 1. 介绍 1.1 说明 1.2 组件分类 1.3 组件名称 1.4 组件结构 2. 组件的创建方式 2.1 Ext.create()创建 2.2 xtype创建 1. 介绍 1.1 说明 Ex ...

随机推荐

  1. 新手学习C语言/C++编程你所必须要了解的知识!从计算机原理开始!

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  2. C++20 多线程 std::jthread

    在C++20中新加了jthread类,jthread是对thread的一种封装 std::jthread 构造函数 (1)jthread() noexcept; (2)jthread( jthread ...

  3. 面经手册 · 第14篇《volatile 怎么实现的内存可见?没有 volatile 一定不可见吗?》

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.码场心得 你是个能吃苦的人吗? 从前的能吃苦大多指的体力劳动的苦,但现在的能吃苦已经包括太 ...

  4. 千万不要往 Shell 里粘贴命令!

    对于用惯了 IDE 的程序员来说,在终端里敲命令可能没那么顺手,也记不住那么多复杂的命令.比较偷懒的做法就是网上搜相关的命令,复制到剪贴板往命令行窗口里一贴,完事! 但是这么做有很大的风险,为什么呢? ...

  5. 性能测试之JVM的故障排查-堆内存泄漏

    JVM异常说明(超链接) 一文中已介绍了,JVM每个运行时区域--程序计数器 .Java虚拟机栈.本地方法栈.Java堆.方法区.直接内存发生OutOfMemoryError的不同原因和不同错误信息. ...

  6. python的deque(双向)队列详解

    首先 python的队列有很多种 Python标准库中包含了四种队列,分别是queue.Queue / asyncio.Queue / multiprocessing.Queue / collecti ...

  7. day04基本数据类型

    内容补充 编译器和解释器:牵扯到编译型语言和解释型语言 编译型语言:JAVA C C# C++ 写好的代码交给编译器,编译器会编译成一个新的文件交给计算机执行 解释型语言:python PHP 写好的 ...

  8. ERP收付款的操作与设计--开源软件诞生22

    赤龙ERP收款付款讲解--第22篇 用日志记录"开源软件"的诞生 [进入地址 点亮星星]----祈盼着一个鼓励 博主开源地址: 码云:https://gitee.com/redra ...

  9. 这篇文章揭开python进程、线程、协程神秘的面纱

    1.概念 [关注公众号"轻松学编程"了解更多. 回复"协程"获取本文源代码.] 从计算机硬件角度: 计算机的核心是CPU,承担了所有的计算任务. 一个CPU,在 ...

  10. [Luogu P1613]跑路 (DP+倍增+最短路)

    题面 传送门:https://www.luogu.org/problemnew/show/P1613 Solution 挺有意思的一道题. 题面已经挺明显的描述出了这题的主要思想:倍增. 先这样想,我 ...