首页
学习
活动
专区
圈层
工具
发布
综合排序最热优先最新优先
时间不限
HTTP HTTPS HTTP1.1 HTTP2 HTTP3
这种直白的问题,回答的并不流畅,结合最近我在写gRPC, 索性梳理一下 HTTP HTTPS HTTP1.1 HTTP2 HTTP3 HTTP 客户端(如Web浏览器)从服务器(如Web服务器)请求资源时用到的协议 HTTPS 一种加密HTTP的方式。一般使用SSL/TLS将HTTP消息包装为加密格式。 HTTP/1.1 这是HTTP协议目前的流行格式。它是基于文本的协议, HTTP/1.1消息可以是未加密的(网站地址以http://开头),也可以使用HTTPS加密(网站地址以https://开头)。 gRpc是谷歌开源的远程过程调用框架,基于HTTP2 协议研发。 HTTP3 HTTP的下一个版本,目前正在开发中。 : 在 HTTP/2 中,有了二进制分帧之后,HTTP/2不再依赖 TCP连接去实现多流并行了,在 HTTP/2中: •同域名下所有通信都在单个连接上完成。
有态度的马甲
2021-03-12
3.9K0
标签:
HTTP 0.9 HTTP 1.0 HTTP 1.1 HTTP 2.0区别
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。 HTTP/0.9 HTTP/0.9是第一个版本的HTTP协议,已过时。 HTTP/1.0 HTTP协议的第二个版本,第一个在通讯中指定版本号的HTTP协议版本,至今仍被广泛采用。 方法 支持长连接(但默认还是使用短连接),缓存机制,以及身份认证 HTTP/1.1 HTTP协议的第三个版本是HTTP/1.1,是目前使用最广泛的协议版本。 HTTP/1.1是目前主流的HTTP协议版本,相对于HTTP/1.0新增了以下内容: 默认为长连接 HTTP 1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining HTTP/2.0 HTTP协议的第四个版本是HTTP/2.0,相对于HTTP/1.1新增了以下内容: 二进制分帧 HTTP 2.0 的所有帧都采用二进制编码 帧:客户端与服务器通过交换帧来通信,帧是基于这个新协议通信的最小单位
武培轩
2018-04-18
2.3K0
标签:
HTTP】深度解析 HTTP
HTTP 的简单介绍 HTTP :超文本传输协议,不仅能传输文本,还能传输图片,音频文件,视频······ 目前基本上都用的是 1.1 版本 https 可以认为是 http 的升级版,区别就是引入了一个 HTTP的报文格式 2.1. HTTP 的方法 3.1. GET 和 POST http 的方法: GET:从服务器拿到一个数据,直接在浏览器中输入一个 url 就会触发 GET 请求,HTML 页面中的很多元素会进一步触发 GET 请求,下面用 Fiddler 指明了 http 数据报到哪里会结束,在 http3.0 之前是基于 TCP 的,而 TCP 是面向字节流的,存在粘包问题,当时介绍的解决粘包问题就是指定分隔符和数据报长度。
2的n次方
2024-10-15
1.2K0
标签:
HTTPHttp协议理解
概述 关于http(中文名:超文本传输协议),你无须明白那冗长的理论解释,只需要明白3点: 1)HTTP请求方式:get\post\head…; 2)Http传输类型:均由Content-Type来标记 Http正是一个需要我们作为切入点的东西。理解HTTP,对性能的把握会更加清晰,做到有目的性的开发。 请求资源之URL 目前,互联网上的很多资源(图片、css、js、html…文件)的路径都是通过Http协议来定位的。即,我们要访问的很多资源都需要通过Http协议进行请求。 :HTTP版本号; CRLF:回车或换行; 图示: HTTP响应——Response Response由三部分构成: 1. 状态行 格式:HTTP-Version Status-Code Reason-phrase CRLF 解释: HTTP-Version:HTTP协议版本号; Status-Code:响应状态码
前端修罗场
2023-10-07
9390
标签:
HTTP探索之路 - HTTP 1 HTTP 2 QUIC
1991年HTTP/0.9被发明;1996年出现了HTTP/1.0;2015年HTTP/2正式发布;2020年HTTP/3或能正式使用。以下将会简单介绍。 一、HTTP 1.1 与 HTTP 2 1.1 HTTP 1.1 的缺陷 高延迟 — 队头阻塞(Head-Of-Line Blocking) 无状态特性 — 阻碍交互 明文传输 — 不安全性 1.3 HTTP2 HTTP/2 基于 SPDY,专注于性能,最大的一个目标是在用户和网站间只用一个连接。 新增特性: 二进制分帧 - HTTP2 性能增强的核心 多路复用 - 解决串行的文件传输和连接数过多 二进制分帧 首先,HTTP2 没有改变 HTTP1 的语义,只是在应用层使用二进制分帧方式传输 参考资料 1. http2.0原理详细分析 https://www.huaijiujia.com/2018/06/30/http协议-http2-0原理详细分析/ 2.
用户1097444
2022-06-29
1.3K0
标签:
网络基础 HTTP协议之HTTP消息(HTTP Message)
消息类型(Message Type) HTTP messages包含从客户端到服务器的请求和服务器到客户端的响应 HTTP-message = Request | Response; Request和 [ message-body ] 1)起始行(start-line) start-line= Request-Line | Status-Line 2)消息头(Message Headers) HTTP 头(HTTP header), 包含通用头(general-header),请求头(request-header), 响应头(response-header)和实体头(entity-header) Request = Request-Line general-header | request-header | entity-header 空行 [ message-body ] 如图,访问http 2)请求行(Request-Line) Request-Line = Method Request-URI HTTP-Version 说明: 1) Method Method = OPTION
授客
2019-09-11
2.1K0
标签:
HTTP系列之:HTTP缓存
对于HTTP协议来说,本身就自带有HTTP缓存。 今天我们就深入探讨一下HTTP中的缓存机制和使用。 HTTP中缓存响应的状态 对于HTTP缓存来说,一般缓存的是GET请求,因为GET请求除了URI之外,并没有其他多余的参数,并且其表示的意义是从服务器获取资源。 HTTP中的缓存控制 HTTP中的缓存控制是通过HTTP头来表示的。在HTTP1.1中加入了Cache-Control,我们可以通过Cache-Control来控制请求和响应的缓存情况。 Cache-Control是HTTP1.1中定义的header字段,在HTTP1.0中也有一个类似的字段叫做Pragma。 总结 到此,HTTP缓存就介绍完毕了,大家可以在实际的应用中对HTTP缓存加深理解。
程序那些事
2021-09-02
1.1K0
标签:
HTTPHTTP基本知识
写在前面的话,这篇文章是作者参考网上的帖子的一个整理,参考资料较多,作为Http的入门文章,以供学习使用~ 一、Http是什么? HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 Http的这种无状态可以通过cookie缓存等方式来解决。 Http内容: ? 请求方法: 根据HTTP标准,HTTP请求可以使用多种请求方法。
灰子学技术
2020-04-15
1.3K0
标签:
HTTPHTTP基本知识
​写在前面的话,这篇文章是作者参考网上的帖子的一个整理,参考资料较多,作为Http的入门文章,以供学习使用~ 一、Http是什么? HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 请求方法: 根据HTTP标准,HTTP请求可以使用多种请求方法。 六、HTTP工作原理 HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。
灰子学技术
2020-04-13
1.2K0
标签:
go http http.Handle 和 http.HandleFunc 区别
使用net/http包的时候这个区别有点糊涂,所以查了一下 做一下总结 区别 http.Handle func Handle(pattern string, handler Handler) { DefaultServeMux.Handle (w http.ResponseWriter, r *http.Request) { w.Write([]byte(r.URL.Path)) } func main() { var server httpServer http.Handle("/", server) log.Fatal(http.ListenAndServe("localhost:9000", nil)) } http.HandleFunc package main import ( "net/http" "log" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter 参考 Go语言的“http.Handle”和“http.HandleFunc”
solate
2019-07-22
6.7K0
标签:
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档