http协议

Http协议学习

一笑奈何 提交于 2020-01-02 12:48:53
HTTP协议介绍 HTTP协议(Hyper Text Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。 HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。 在TCP/IP协议栈中的位置 HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示: 默认HTTP的端口号为80,HTTPS的端口号为443。 HTTP的请求响应模型 HTTP协议永远都是客户端发起请求,服务器回送响应。见下图: 这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。 HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。 工作流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。 2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。

asp.net 1.HTTP协议

守給你的承諾、 提交于 2020-01-02 12:48:22
1.概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。 HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。 HTTP协议是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。 HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。 在Internet中所有的传输都是通过TCP/IP进行的。HTTP协议作为TCP/IP模型中应用层的协议也不例外。HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。(HTTP默认的端口号为80,HTTPS的端口号为443。) ****浏览网页是HTTP的主要应用,但是这并不代表HTTP就只能应用于网页的浏览。HTTP是一种协议,只要通信的双方都遵守这个协议

http协议基本原理

风格不统一 提交于 2020-01-02 12:45:57
HTTP(HyperText Transport Protocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。 一次HTTP操作称为一个事务,其工作过程可分为四步: 首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作就开始了。 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。 客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。 来源: https://www.cnblogs.com/CC101/p/10518026.html

HTTP协议

非 Y 不嫁゛ 提交于 2020-01-02 12:45:19
HTTP协议 基本概念 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。 是用于从WWW服务器传输超文本到本地浏览器的传送协议 。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。 特点 : HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。 HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。(默认HTTP的端口号为80,HTTPS的端口号为443。) HTTP协议永远都是客户端发起请求,服务器回送响应。这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。 工作流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。 2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。 3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号

SOAP与restful webservice

南楼画角 提交于 2020-01-02 01:42:47
SOAP   什么是SOAP,我想不用多说,google一把满眼都是。其实SOAP最早是针对RPC的一种解决方案,简单对象访问协议,很轻量,同时作为应用协议可以基于多种传输协议来传递消息(Http,SMTP等)。但是随着SOAP作为WebService的广泛应用,不断地增加附加的内容,使得现在开发人员觉得SOAP很重,使用门槛很高。在SOAP后续的发展过程中,WS-*一系列协议的制定,增加了SOAP的成熟度,也给SOAP增加了负担。   REST   REST其实并不是什么协议也不是什么标准,而是将Http协议的设计初衷作了诠释,在Http协议被广泛利用的今天,越来越多的是将其作为传输协议,而非原先设计者所考虑的应用协议。SOAP类型的WebService就是最好的例子,SOAP消息完全就是将Http协议作为消息承载,以至于对于Http协议中的各种参数(例如编码,错误码等)都置之不顾。其实,最轻量级的应用协议就是Http协议。Http协议所抽象的get,post,put,delete就好比数据库中最基本的增删改查,而互联网上的各种资源就好比数据库中的记录,对于各种资源的操作最后总是能抽象成为这四种基本操作,在定义了定位资源的规则以后,对于资源的操作通过标准的Http协议就可以实现,开发者也会受益于这种轻量级的协议。   REST专门针对网络应用设计和开发方式,以降低开发的复杂性

JavaWeb开发基础-Http协议基础

▼魔方 西西 提交于 2020-01-01 17:25:08
【声明:】本文是作者(蘑菇v5)原创,版权归作者 蘑菇v5 所有,侵权必究。本文首发在 简书 。如若转发,请注明作者和来源地址!未经授权,严禁私自转载! 基础概念 MIME类型 MIME 是通过标准化电子邮件报文的头部的附加域( fields )而实现的;这些头部的附加域,描述新的报文类型的内容和组织形式。 内容类型( Content-Type ),这个头部领域用于指定消息的类型。一般以下面的形式出现。 type 有下面的形式: Text :用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的; Multipart :用于连接消息体的多个部分构成一个消息,这些部分可以是不同类型的数据; Application :用于传输应用程序数据或者二进制数据; Message :用于包装一个 E-mail 消息; Image :用于传输静态图片数据; Audio :用于传输音频或者音声数据; Video :用于传输动态影像数据,可以是与音频编辑在一起的视频数据格式。 subtype 用于指定 type 的详细形式。 content-type/subtype 配对的集合和与此相关的参数,将随着时间而增长。为了确保这些值在一个有序而且公开的状态下开发, MIME 使用 Internet Assigned Numbers Authority (IANA)

Web框架

扶醉桌前 提交于 2019-12-31 14:47:57
目录 一, Web框架本质 一, socket服务端 二, HTTP协议对收发消息的格式要求 三, 自定义web框架 二, 服务器程序和应用程序 wsgiref: jinja2: 三, Django 安装: 创建一个django项目: 目录介绍: 运行Django项目: 模板文件配置: 静态文件配置: Django基础必备三件套: 启动Django报错: 一, Web框架本质 这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 一, socket服务端 import socket sk = socket.socket() sk.bind(("127.0.0.1", 80)) sk.listen() while True: conn, addr = sk.accept() data = conn.recv(8096) conn.send(b"OK") conn.close() 可以说 Web服务本质上都是在这十几行代码基础上扩展出来的 。这段代码就是它们的祖宗。 用户在浏览器中输入网址,浏览器会向服务端发送数据,那浏览器会发送什么数据?怎么发?这个谁来定? 你这个网站是这个规定,他那个网站按照他那个规定,那互联网还能玩么? 所以,必须有一个统一的规则,让大家发送消息、接收消息的时候都有个格式依据,不能随便写。

微服务之集成(四)

风流意气都作罢 提交于 2019-12-31 01:38:34
1. 寻找理想的集成技术 微服务之间通信的方式的选择非常多样化,但哪个是正确的呢?SOAP ? XML-RPC ? REST ? Protocol Buffers?后面会逐一讨论。 首先,我们要考虑的是,我们到底希望从这些技术中得到什么。 1.1 避免破坏性修改 有时候,对某个服务做的一些修改会导致该服务的消费方也随之发生改变。但是,我们希望选用的技术可以尽量避免这种情况的发生。 1.2 保证API的技术无关性 保证微服务之间的通信方式的技术无关性是非常重要的。这就意味着,不应该选择哪种对微服务的具体实现技术有限制的集成方式。 1.3 使你的服务易于消费方使用 消费方应该很容易的使用我们的服务。理想情况下,消费方应该可以使用任何技术来实现,从另一方面来说,提供一个客户端库也可以简化消费方的使用。但是通常这种库与其他我们想要得到的东西不可兼得。例如,使用客户端库对于消费方来说很方便,但是会造成耦合的增加。 1.4 隐藏内部实现细节 我们不希望消费方与服务的内部实现细节绑定在一起,因为这会增加耦合。所以,所有倾向于暴露内部实现细节的技术都不应该被采用。 2.为用户创建接口 3.共享数据库 目前业界最常见的集成形式应该就是数据库集成了。使用这种方式时,如果其他服务想要从一个服务获取信息,可以直接访问数据库。如果想要修改,也可以直接在数据库中修改。 这种方式看起来非常简单

http协议--笔记

让人想犯罪 __ 提交于 2019-12-30 14:59:25
HTTP协议的缺点: 1.通信使用明文(不加密),内容可能会被窃听 2.不验证通信方的身份,因此有可能遭遇伪装 3.无法证明报文的完整性,所以有可能已遭篡改 防止窃听保护信息的几种对策:加密技术 通信的加密 HTTP和SSL(Secure Socket Layer,安全套接层)或TLS(Transport Layer Security,安全层传输协议)的组合使用,加密HTTP的通信内容。与SSL组合使用的HTTP被称为HTTPS(HTTP Secure,超文本传输安全协议)或HTTP over SSL. HTTP+加密+认证+完整性保护=HTTPS 我们把添加了加密及认证机制的HTTP称为HTTPS(HTTP Secure) HTTPS是身披SSL外壳的HTTP HTTPS不是应用层的一种新协议。只是HTTP通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议代替而已 通常,HTTP直接和TCP通信。当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信了。 SSL是独立于HTTP的协议,所以不光是HTTP协议,其他运行在应用层的SMTP和Telnet等协议均可配合SSL协议使用。SSL是当今世界上应用最为广泛的网络安全技术 近代的加密方法中加密算法是公开的,而密钥却是保密的。加密和解密都会用到密钥

Http请求协议&&Response对象

最后都变了- 提交于 2019-12-29 17:42:28
HTTP协议: 1.请求消息:客户端发送给服务器端的数据 *数据格式: 1.请求行 2.请求头 3.请求空行 4.请求体 2.响应消息:服务器发送给客户端的数据 *数据格式: 1.响应行 1.组成:协议/版本 响应状态码 状态码的描述 2.响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态 1.状态码都是3位数字 2.分类 HTTP状态码 1.1XX:服务器接收客户端消息,但没有接受成功,等待一段时间后,发送1XX多状态码 2.2XX:成功,代表:200 3.3XX:重定向,代表:302(重定向) 304(访问缓存) 4.4XX:客户端错误, 代表404(请求路径没有对应资源) 405(请求方式没有对应的doGet和doPost) 5.5XX:服务端错误 代表(服务器内部出错) 2.响应头 1.格式:头名称:值 2.常见的响应头: 1.Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式 2.Content-disposition:服务器告诉客户端以什么格式打开响应体数据 值: in-line:默认值,在当前页面打开 attachment;filename=XXX:以附件形式打开响应体。文件下载 3.响应空行 4.响应体 响应字符串格式 HTTP/1.1 200 OK Content-Type: text/html;charset=UTF-8