欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > 网络--应用层协议--HTTP

网络--应用层协议--HTTP

2024/11/8 15:44:44 来源:https://blog.csdn.net/2302_80873119/article/details/143588996  浏览:    关键词:网络--应用层协议--HTTP

1、HTTP协议特性

1、HTTP协议(超文本传输协议):定义了客户端(如浏览器)与服务器之间的通信方式,以交换或传输超文本(超文本:视频、音频、文字等)

2、HTTP协议是客户端与服务器通信基础:客户端通过HTTP协议向服务器发送请求,服务器处理后返回响应。

3、HTTP协议是无连接、无状态的协议(每次请求,都要建立新的连接,不会保持旧连接-即无连接) ---> 因为HTTP底层协议是TCP,而TCP是要建立连接的,所以HTTP也是要建立连接的。

2、URL - Uniform Resource Locator(统一资源定位地址)

2.1、什么是URL

平时我们口中所说的网址,就是URL

http://user:pass@www.example.jp:80/dir/index.html?uid=1#ch1

 其中:

http:协议方案名(如https)

user:pass:登陆信息(认证)

www.example.jp:服务器地址(DNS技术,会自动将域名转换成IP地址)

80:服务器端口号

/dir/index.html:带层次的文件路径(一般index.html指该网页的首页)

uid=1:查询字符串参数

ch1=片段标识符

其中像/ ? # 这样的字符,已经被url当作特殊字符理解了(需要转义)

 为什么我们平时所见的网址没有这么详细呢?比如百度的首页网址:

https://www.baidu.con/index.html

 1、登陆信息(认证):不一定需要认证,并且登陆信息被浏览器记录即可。

2、为什么没有端口号呢:知名协议的端口号是强关联的,对于HTTP协议,服务器一旦启动,就是绑定80端口。所以可以忽略端口号。

3、第一个/:不一定是根目录,而是web根目录(即当前网页资源的根目录,不是系统根目录)。

4、后面的字符参数,不是每个页面都有,在特定需要输入信息(参数)的页面,才会出现。

2.2、再谈资源--URL中的资源路径

在HTTP这里,资源,统一可以认为是超文本资源。

在没有获取到资源前,这些资源都在服务器端。

我们通过HTTP协议,发起请求,服务器将资源放入响应中返回,我们便获取到资源。

而大部分服务器的底层都是Linux系统 -- Linux下,一切皆文件。

因此,获取资源,就是打开某个文件,获取文件数据。

想要打开文件,就得找到文件:

URL中:服务器地址(域名) +  默认端口 -> 确定唯一主机上的唯一进程。

带层次的资源路径:确定该主机上的唯一文件。

2.3、特殊字符转义--urlencode/urldecode

像/ ? 这样的特殊字符,已经被url当作特殊意义理解了,因此不能随意出现。

想要在参数中带有这些字符,就必须进行转义。

转义的规则如下:

将需要转义的字符转为16进制

从右到左,取4位(不足四位直接处理)

每2位做1位,前面加上%,编码成%XY的格式

例如:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com