超文本传输协议(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. go操作mysql数据库

    Golang GORM使用 gorm gorm是go语言中实现数据库访问的ORM(对象关系映射)库.使用这个库,我们可以利用面向对象的方法,更加方便的对数据库中的数据进行CRUD(增删改查). 基本使 ...

  2. Linux命令的执行

    为什么在提示符下命令可以被执行呢? 执行命令过程 输入命令后回车,提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来 shell本身也是一个程序,只不过 ...

  3. 5. Bean Validation声明式验证四大级别:字段、属性、容器元素、类

    1024,代码改变世界.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BAT的 ...

  4. 【应用服务 App Service】App Service中上传文件/图片(> 2M)后就出现500错误(Maximum request length exceeded).

    问题描述 在使用App Service (Windows)做文件/图片上传时候,时常遇见上传大文件时候出现错误,这是因为IIS对文件的大小由默认限制.当遇见(Maximum request lengt ...

  5. OLTP与OLAP的介绍(理论知识)

    OLTP与OLAP的介绍 数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing).联机分析处理OLAP(On-Line Analytical ...

  6. git每次提交代码都要设置账号密码的问题

    git config --global credential.helper store 待下一次提交代码的时候,输入了正确的用户名和密码,之后 就不需要输入用户名密码

  7. SP22343 Norma--序列分治

    Norma 传送门 题意简化: 定义一个区间的贡献为 \(max*min*len\),求给定序列中所有子区间的总贡献和 题解 考虑 \(O(n*log_2n)\) 的复杂度的做法 数据结构??? yz ...

  8. SpringBoot原理发现(一)

    说明: 本系列基于SpringBoot 2.2.9.RELEASE 版本,对SpringBoot的原理进行分析,一共分为四节: SpringBoot原理发现(一):创建Hello World,对pom ...

  9. OpenCascade拓扑对象之:TopoDS_Shape的三要素

    @font-face { font-family: "Times New Roman" } @font-face { font-family: "宋体" } @ ...

  10. 微服务网关Zuul和Gateway的区别

    spring-cloud-Gateway是spring-cloud的一个子项目.而zuul则是netflix公司的项目,只是spring将zuul集成在spring-cloud中使用而已.因为zuul ...