Web1 - Web应用概论
本文最后更新于:2017 年 11 月 12 日 星期日
SS::STA 2017 Web组第一次活动,关于“什么是Web”
该篇主要列出提纲,具体内容请通过自行Google了解
什么是Web?
万维网(World Wide Web, WWW) 是一个由许多互相链接的超文本组成的系统,通过互联网访问。
- 超文本
- 互相链接
- 互联网
其实就是你在浏览器看见的东西
他的功能主要由三个技术支持
- 统一资源标志符 (Uniform Resource Identifier, URI)
- 超文本标记语言(Hyper Text Markup Language, HTML)
- 超文本传输协议(Hyper-Text Transfer Protocol, HTTP)
URL
看一个真实的URL
http://cn.bing.com:80/search?q=Python&go=搜索&qs=bs&form=QBRE&scope=web
http
是协议,访问资源所使用的协议,常见的还有file
、https
、ftp
、smb
、mailto
、……cn.bing.com
是主机名,可以是域名也可以是IP地址80
端口号,http默认使用80端口,https、file、ftp等都有默认端口号,浏览器会自动使用默认端口号,但如果自己写服务器用了不同端口号,比如8080
,那就要自己加上/search
请求的目录q=Python&go=搜索&qs=bs&form=QBRE&scope=web
GET请求所带的查询参数,详细情况自行百度HTTP协议
所以一般格式是这样的
协议://主机名[:端口]/[目录][?查询参数]
方括号内容为非必填,需要取决于服务所需,一般是前后端协商好的
URL里面只有很少一部分是用户输入的,其他都是靠自动加载或以超链接的形式存在,所以即使有些URL很复杂,也不影响用户使用体验,只要把主页URL设简单就好。
那些指示浏览器自动加载资源的或页面中的超链接的URL,都是在编写前端页面时加入的。
HTML
超文本标记语言,与之配套的还有CSS和JavaScript。
HTML和CSS是联系比较紧密的
JS比较复杂,而且不算一种超文本,也不是标记语言,是一种前端脚本语言(当然其用途不只是前端脚本),那是网页的灵魂所在。
这就是所谓的前端三件套,这些内容以后会细说
HTTP协议
Web应用都是根据HTTP协议在客户端和服务端之间通信的。
HTTP报文分为Request和Response
然后请出神器Fiddler,还有
F12
请求报文
请求方法 请求URL HTTP版本
请求头key1: 请求头value1
请求头key2: 请求头value2
请求头key3: 请求头value3
更多请求头
请求体,balabala的,一般是表单数据
请求方法、请求头是比较重要的,自行了解
响应报文
HTTP版本 状态码 状态描述
响应头
响应data
状态码和响应头可多做了解
TCP/IP协议族的5层模型
层 | 分组 | 常见协议 |
---|---|---|
应用层 | 报文 | HTTP、SSH、FTP、DNS、SMTP、POP3、… |
运输层 | 报文段 | TCP、UDP、… |
网络层 | 数据报 | IPv4、IPv6、ICMP、DHCP、BGP、… |
链路层 | 帧 | CSMA、ARP、… |
物理层 | 比特 | 同轴电缆、双绞铜线、光纤、…(这些根本不是协议) |
很有趣是不是,有趣的话还可以去了解一下OSI的7层模型
推荐一本书哦《计算机网络 - 自顶向下方法》(大理石封面的品味和格调)
其实可以的话了解一下HTTP、TCP、IPv4即可,其他就看个人兴趣了
本作品采用 知识共享 署名-非商业性使用 4.0 国际 (CC BY-NC 4.0) 许可协议进行许可。