HTTP介绍(一)
超文本传输协议(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介绍(一)的更多相关文章
- CSS3 background-image背景图片相关介绍
这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- Windows Server 2012 NIC Teaming介绍及注意事项
Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...
- Linux下服务器端开发流程及相关工具介绍(C++)
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...
- JavaScript var关键字、变量的状态、异常处理、命名规范等介绍
本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...
- HTML DOM 介绍
本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...
- HTML 事件(一) 事件的介绍
本篇主要介绍HTML中的事件知识:事件相关术语.DOM事件规范.事件对象. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三 ...
- HTML5 介绍
本篇主要介绍HTML5规范的内容和页面上的架构变动. 目录 1. HTML5介绍 1.1 介绍 1.2 内容 1.3 浏览器支持情况 2. 创建HTML5页面 2.1 <!DOCTYPE> ...
- ExtJS 4.2 介绍
本篇介绍ExtJS相关知识,是以ExtJS4.2.1版本为基础进行说明,包括:ExtJS的特点.MVC模式.4.2.1GPL版本资源的下载和说明以及4种主题的演示. 目录 1. 介绍 1.1 说明 1 ...
- ExtJS 4.2 组件介绍
目录 1. 介绍 1.1 说明 1.2 组件分类 1.3 组件名称 1.4 组件结构 2. 组件的创建方式 2.1 Ext.create()创建 2.2 xtype创建 1. 介绍 1.1 说明 Ex ...
随机推荐
- kali linux 换国内源
输入命令 vim /etc/apt/sources.list 添加国内源 #中科大deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-f ...
- 什么是C和C++标准——小白必看
本文简要介绍编写C/C ++应用程序的领域,标准库的作用以及它是如何在各种操作系统中实现的. 我已经接触C++一段时间了,一开始就让我感到疑惑的是其内部结构:我所使用的内核函数和类从何而来? 谁发明了 ...
- 【迷宫问题】CodeForces 1292A A NEKO's Maze Game
题目大意 vjudge链接 共两行,从(1,n)到(2,n). 每过一个时刻会有一个位置的状态变化,从能到达这个位置变成不能到达,或从不能到达变成能到达,问在每个时刻中是否能从起点到终点. 数据范围 ...
- gin框架使用orm操作数据库(转)
简介:orm俗称关系对象模型,用来映射数据库SQL和对象的工具 ,相当于mongodb里面的mongoose库,Java里面的mybatis ibatis Golang GORM使用 https: ...
- linux(centos8):用sort对文本内容排序
一,sort的用途 1,作用: sort命令用于将文本文件内容加以排序. 它能够以行为单位来排序 2,sort常与uniq搭配使用,原因: 用uniq命令去重时, 需要相同的每行位置相邻才能生效, 所 ...
- python操作excel xlwt (转)
Python中xlrd和xlwt模块使用方法 阅读目录 安装 xlrd模块使用 xlwt模块 xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 回到顶部 安装 ? ...
- Django创建表时报错django.db.utils.InternalError: (1366问题解决记录
问题出现 执行Python manage.py makemigrations生成创建表的py文件 执行python manage.py migrate创建数据表 界面出现报错 问题原因 网上搜索原因, ...
- docker-docker-compose 安装
1.安装docker-compose(官网:https://github.com/docker/compose/releases) 安装: curl -L https://github.com/doc ...
- C++ Primer第5版 第二章课后练习
练习2.1 C++ 语言规定short 和 int 至少 16 位, long 至少32位, long long 至少64位.带符号类型可以表示整数.负数或0, 无符号类型则仅能表示大于等于0的值Th ...
- 浏览器页面左上角出现undefined
浏览器页面左上角出现undefined, js文档中: let list; list += html代码; 解决办法: let list = html代码;