JavaWeb入门知识梳理
万维网
Web App(Web应用程序)是一种可以通过万维网访问的应用程序,用户只需要连接互联网和计算机安装浏览器,即可通过URI在线使用某个Web App,而不需要再安装客户端到计算机上。Web App是由多个超文本以及超媒体组成的,它们相互协调为用户提供一组完整的服务。
万维网(World Wide Web,亦作WWW或Web)是一个通过互联网访问的,由许多互相链接的超文本组成的系统。它是信息时代发展的核心,也是数十亿人在互联网上进行交互的主要工具。万维网并不等同互联网,万维网只是互联网所能提供的服务其中之一,是靠着互联网运行的一项服务。
互联网是一个全球互相连接的计算机网络系统,而万维网是由超文本和URI连接的文件和其他资源的全球集合。
概念补充:
超媒体(Hypermedia)是超文本这一术语的延伸,是一种包含图形、音效、视频、纯文字和超链接的非线性消息媒体;
超文本(Hypertext)称为“文档”或“网页”,是由文字、图片、动画、声音等多种媒体信息以及链接组成的。网页可在万维网上传输,能被浏览器识别并显示的文本文件,通过链接实现与其他网页或网站的关联和跳转。
HTTP
HTTP(HyperText Transfer Protocol,超文本传输协议)是一种请求/响应式的协议,当用户在浏览器中访问某个URL地址、单击网页的某个超链接或者提交网页上的表单后,浏览器都会向服务器发送请求数据,即HTTP请求消息。服务器接收到请求数据后,会将处理后的数据回送给客户端,即HTTP响应消息。
在HTTP的请求消息中,请求方式有GET、POST、PUT、DELETE等方式:
请求方式 | 含义 |
---|---|
GET | 请求获取请求行的URL所表示的资源 |
POST | 向指定资源提交数据,请求服务器进行处理(例如提交表单或上传文件) |
PUT | 将网页放置到指定URL位置(上传/移动) |
DELETE | 请求服务器删除URL所标识的资源 |
GET请求
当用户在浏览器地址栏中输入某个URL地址或者单击网页上的一个超链接时,浏览器将使用GET方式发送请求。
http://www.bilibili.com/user?name=kongsam&uid=7021686
在上述URL中,?
后面的内容为参数信息,参数信息是由参数名=参数值
的形式组成的。如果后续再键入更多的参数信息,则是参数名1=参数值1&参数名2=参数值2
,注意多个参数信息使用&
来区分开来。使用GET方式传输的数据量有限,最多不能超过2KB。
POST请求
在实际开发中,通常都会使用POST方式发送请求,因为POST传输数据大小无限制,且比GET请求方式更安全,POST请求方式传输的参数会隐藏在实体内容中。
FTP
文件传输协议(FTP)是Internet中用于访问远程机器的一个协议,它使用户可以在本地机和远程机之间进行有关文件的操作。通过FTP协议,可以与Internet上的FTP服务器进行文件的上传或下载等动作。FTP也采用了客户端/服务器模式,它包含客户端FTP和服务器FTP,客户端FTP启动传送过程,而服务器FTP对其做出应答。
URI
统一资源标志符(Uniform Resource Identifier)是用于标识某一互联网资源名称的字符串。URI的最常见的形式是URL,更罕见的用法是URN。URL和URN方案属于URI的子类,URI可以为URL或URN两者之一或同时是URI和URN。
下面展示了两个 URI 例子及它们的组成部分:
hierarchical part
┌───────────────────┴─────────────────────┐
authority path
┌───────────────┴───────────────┐┌───┴────┐
abc://username:password@example.com:123/path/data?key=value&key2=value2#fragid1
└┬┘ └───────┬───────┘ └────┬────┘ └┬┘ └─────────┬─────────┘ └──┬──┘
scheme user information host port query fragment
urn:example:mammal:monotreme:echidna
└┬┘ └──────────────┬───────────────┘
scheme path
什么是URL?
统一资源定位符(Uniform Resource Locator)是万维网上的资源地址,它如同在万维网上的门牌号,用户通过它可以访问到对应门牌号的网站,比如访问“https://www.bilibili,com”,那么将会在万维网上找到对应该门牌号的网站。
最新文章
- 【码在江湖】前端少侠的json故事(中)ng的json
- IOS客户端实现RSA加密
- 如何使用Jedis操作Redis消息队列
- bzoj2765[JLOI2010]铁人双项比赛
- soap request by afnetworking2.X/3.X
- 备份MYSQL出现:mysqldump: Got error: 1049: Unknown database 'test 'when selecting the data
- uninstall gitlab
- Eclipse —— java文件修改后不能及时体现
- mount
- 08_使用TCP/IP Monitor监视SOAP协议
- linux管理文件系统指令
- [Django](1093, &;quot;You can&;#39;t specify target table &;#39;fee_details_invoices&;#39; for update in FROM clause&;quot;) 错误
- 02Lua入门
- 【架构设计】Android:配置式金字塔架构
- ionic3 自定义组件 滑动选择器 ion-multi-picker
- flask day01
- ThinkPHP3自动加载公共函数文件
- 设计模式之单例模式-C++
- sql数据库之多库查询
- BZOJ2721 Violet5樱花(数论)
热门文章
- tail -n 13 history |awk '{print $2,$3,$4,$5,$6,$7,$8.$9,$10}'提取第2到第11列
- shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。
- Python re 截取文本中IP地址及用户名
- YAML/YML文件一直提示格式错误解决方法
- 使用nuget包下载Entity Framework6.0无法使用模型类与数据库上下文自动生成controller与view
- osi七层模型与tcp/ip四层模型的差别
- xxl-job使用遇到的问题(二)
- openssl自签发证书
- Step By Step(Lua迭代器和泛型for)
- GO语言常用标准库01---strings包