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

目录
相关文章
|
5天前
|
缓存 网络协议 算法
从零开始掌握HTTP协议:全面详解1.0、1.1和2.0
大家好!我是小米,今天带大家深入探讨互联网基础——HTTP协议。从HTTP/1.0到HTTP/1.1,再到HTTP/2.0,它们是如何发展的,解决了哪些问题,有哪些显着区别?通过这这篇文章,你将全面了解这些协议的变革和优化,掌握关键技术点,提升开发效率。快来一起学习吧!
15 1
|
1月前
|
安全 网络协议 网络安全
IP代理的三大协议:HTTP、HTTPS与SOCKS5的区别
**HTTP代理**适用于基本网页浏览,简单但不安全;**HTTPS代理**提供加密,适合保护隐私;**SOCKS5代理**灵活强大,支持TCP/UDP及认证,适用于绕过限制。选择代理协议应考虑安全、效率及匿名需求。
|
29天前
|
安全 网络安全 数据安全/隐私保护
深入理解HTTP协议:工作原理与安全性
【6月更文挑战第28天】HTTP是互联网基础协议,用于浏览器与服务器通信。基于请求-响应模型,无状态且可扩展。但其明文传输、缺乏身份验证和数据完整性校验导致安全问题。HTTPS 加入SSL/TLS,提供加密、身份验证和完整性校验,保障网络安全。了解HTTP原理和安全至关重要。
|
13天前
|
网络协议 安全 Python
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
|
Web App开发 存储 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
      前段时间公司hadoop集群宕机,发现是namenode磁盘满了, 清理出部分空间后,重启集群时,重启失败。 又发现集群Secondary namenode 服务也恰恰坏掉,导致所有的操作log持续写入edits.new 文件,等集群宕机的时候文件大小已经达到了丧心病狂的70G+..重启集群报错 加载edits文件失败。
880 0
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
java链接MongoDB处理大量数据时经常碰到cursor not found 的异常,其实是超时所致 Exception in thread "main" com.
816 0
|
Web App开发 大数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
                                                                               1.
1636 0
|
Web App开发 存储 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
1.HBase依赖于HDFS,HBase按照列族将数据存储在不同的hdfs文件中;MongoDB直接存储在本地磁盘中,MongoDB不分列,整个文档都存储在一个(或者说一组)文件中 (存储) 2.
705 0
|
Web App开发 监控 前端开发
|
Web App开发 前端开发 测试技术
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
http_load用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具, 它可以以一个单一的进程运行,一般不会把客户机搞死。
736 0