[项目][WebServer][项目介绍及知识铺垫][上]详细讲解
DieSnowK 2024-09-15 08:33:01 阅读 53
目录
1.何为WWW?2.HTTP分层1.整体2.细节3.DNS?4.协议之间是如何协同运作的?
3.Http相关概念1.特点2.URI && URL && URN3.HTTP URL格式
1.何为WWW?
WWW是环球信息网的缩写,常简称为Web分为Web客户端和Web服务器程序,WWW可以让Web客户端(常用浏览器)访问浏览Web服务器上的页面,是一个由许多互相链接的超文本组成的系统,通过互联网访问在这个系统中,每个有用的事物,称为一样“资源”
并且由一个全局“统一资源标识符”(URI)标识这些资源通过超文本传输协议(Hypertext Transfer Protocol)传送给用户,而后者通过点击链接来获得资源 HTTP(超文本传输协议)是基于TCP的连接方式进行网络连接HTTP/1.1版本中给出一种持续连接的机制(长链接)绝大多数的Web开发,都是构建在HTTP协议之上的Web应用
2.HTTP分层
1.整体
2.细节
3.DNS?
4.协议之间是如何协同运作的?
3.Http相关概念
目前主流服务器使用的是http/1.1版本,但是本项目为了简化代码,按照http/1.0来完成项目
1.特点
客户/服务器模式(B/S/C/S)
简单快速,HTTP服务器的规模小,因而通信速度很快
灵活,HTTP允许传输任意类型的数据对象,正在传输的类型由Content-Type加以标记
无连接,每次连接只处理一个请求
服务器处理完客户的请求,并收到客户的应答后,即断开连接采用这种方式可以节省传输时间 (http/1.0具有的功能,http/1.1兼容)
无状态
http协议每当有新的请求产生,就会有对应的新响应产生,协议本身并不会保留你之前的一切的请求或者响应这是为了要更快的处理大量的事物,保证协议的可伸缩性
可是,随着web的发展,因为无状态而导致业务处理变得棘手起来,比如保持用户的登录状态
http/1.1虽然也是无状态协议,但是为了保持状态的功能,引入了Cookie和Session技术
2.URI && URL && URN
URI是Uniform Resource Identifier,统一资源标识符,用来唯一的标识一个资源URL是Uniform Resource Locator,统一资源定位符,他是一种具体的URI
即:URL可以用来标识一个资源,而且还指明了如何locate这个资源 URN,Uniform Resource Name,统一资源命名,是通过名字来标识资源,比如MAILTO:java-net@java.sun.comURI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式,URL和URN都是一 种URURL是URI的子集,可以理解成URL是一种特殊类型的URI,包含了如何获取指定资源
任何东西,只要能够唯一地标识出来,都可以说这个标识是URI如果这个标识是一个可获取到上述对象的路径,那么同时它也可以是一个URL但如果这个标识不提供获取到对象的路径,那么它就必然不是URL 示例:
URI: /home/index.htmlURL: www.xxx.com:/home/index.html
3.HTTP URL格式
格式:http://host[":"port][abs_path]
http表示要通过HTTP协议来定位网络资源host表示合法的Internet主机域名或者IP地址,本主机IP:127.0.0.1port指定一个端口号,为空则使用缺省端口80abs_path指定请求资源的URI如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成
虽然浏览器默认会添加/,但是依旧没有告知服务器,要访问什么资源此时,默认返回对应服务的首页 例子:
输入: www.baidu.com,浏览器自动转换成:http(s)://www.baidu.com/
一个较为完整的http请求:https://github.com/DieSnowK/Study
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。