HTTP协议基本原理简介(一)

简介: HTTP协议基本原理简介(一)

今天给大家主要介绍HTTP协议的基本原理,本文主要内容是HTTP协议简介、统一资源标识符URI和HTTP1.0版本和1.1版本的区别。

一、HTTP协议简介
HTTP协议,即Hyper Text Transfer Protocol,超文本传输协议的简称,是目前互联网上所广泛使用的一种网络协议,当前所有的WWW服务器都是使用该协议。
HTTP协议为应用层协议,建立在TCP协议之上。HTTP协议是一种典型的C/S架构的协议,其中WWW服务器为HTTP的服务端,用户所使用的浏览器为客户端。用户在访问网页时,会随机使用一个端口,访问服务端的指定端口(默认是80),经过TCP三次握手后,建立HTTP链接。

二、统一资源标识符URI
我们使用同意资源标识符来(Unique Resource Identifier,URIne)标识唯一标识一个网络资源,URI又可以细分为URL和URN。其中,URL为统一资源定位符,Unique Resource Locator,URN为统一资源命名符,Unique Resource Name。URI、URL和URI的关系如下图所示:

目前,URL的使用较为普遍,完整的URL格式为:
protocol://Domain:Port/Path/…/[?QueryString][#Anchor]
protocol为URL的协议,可以是http、ftp等,Domain为主机域名,也可以是IP地址,Port为服务端端口号,默认为80,Path为目标资源在服务端的路径,QueryString为通过GET方式传递给服务器的参数,Anchor为锚点。锚点即一个定位点,如果一个web页面过长时,通过锚点可以快速跳转到锚定位置。

三、HTTP1.1与HTTP1.0区别
HTTP1.0与HTTP1.1版本有着很大的区别,其中最主要的方面是HTTP1.1采用了长链接结束。不论是在HTTP1.0还是在HTTP1.1版本中,HTTP协议都会封装在TCP链接中,在完成TCP三次握手后,即可发送HTTP链接。但是,在HTTP1.0版本中,每个TCP链接只能有一次HTTP的请求和响应。因此,如果客户端要多次访问服务器,那么客户端必须每次发起TCP三次握手的过程,极大的浪费了带宽资源。而在HTTP1.1中,由于采用了长链接技术,在一个TCP链接中,客户端和服务端可以多次发起请求和响应。
当然,HTTP1.1和HTTP1.0版本的区别不仅仅在于长链接上,HTTP1.1增加了更多的请求头和响应头,增加了更多的状态码,增加了缓存处理等机制。
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/121778734

目录
相关文章
|
8天前
|
缓存 网络协议
【计算机协议】第一章——HTTP协议详解
【计算机协议】第一章——HTTP协议详解
|
10天前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
12天前
|
缓存 安全 网络协议
Http协议是什么
【4月更文挑战第12天】HTTP是用于从WWW服务器传输超文本到浏览器的协议,基于TCP/IP,特点包括无连接、无状态、面向对象、无阻塞和可缓存。它的工作原理是客户端发送请求,服务器处理后返回响应。自1989年创建以来,HTTP已发展支持多媒体内容传输,并通过HTTPS提供安全保护。学习更多可参考计算机网络技术文献。
18 6
|
14天前
|
存储 JSON 前端开发
网络原理(4)HTTP协议(下)
网络原理(4)HTTP协议
26 0
|
17天前
|
Java
java原生发送http请求
java原生发送http请求
|
25天前
|
网络协议 Linux iOS开发
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
55 1
|
1月前
|
编解码 测试技术 索引
性能工具之 Jmeter 使用 HTTP 请求编写 HLS 脚本
在我们简要介绍了 HLS 协议的基础知识,接下来我们详细介绍一种使用 Jmeter 编写压测 HLS 协议脚本的方法。
73 1
性能工具之 Jmeter 使用 HTTP 请求编写 HLS 脚本
|
1月前
|
JSON 数据格式
第三方系统或者工具通过 HTTP 请求发送给 ABAP 系统的数据,应该如何解析试读版
第三方系统或者工具通过 HTTP 请求发送给 ABAP 系统的数据,应该如何解析试读版
27 0
|
7天前
|
安全 Java 网络安全
Servlet 教程 之 Servlet 客户端 HTTP 请求 2
Servlet教程介绍了如何在Servlet中处理HTTP请求,包括获取Cookie、头信息、参数、Session等。方法如:`getCookies()`、`getAttributeNames()`、`getHeaderNames()`、`getParameterNames()`等。还能获取身份验证类型、字符编码、MIME类型、请求方法、远程用户信息、URL路径、安全通道状态以及请求内容长度等。此外,可通过`getSession()`创建或获取Session,并以`Map`形式获取参数。
20 8
|
1天前
|
存储 缓存 开发框架
Flutter的网络请求:使用Dart进行HTTP请求的技术详解
【4月更文挑战第26天】了解Flutter网络请求,本文详述使用Dart进行HTTP请求