Web1 - Web应用概论

本文最后更新于:2017 年 11 月 12 日 星期日

SS::STA 2017 Web组第一次活动,关于“什么是Web”

该篇主要列出提纲,具体内容请通过自行Google了解

什么是Web?

万维网(World Wide Web, WWW) 是一个由许多互相链接的超文本组成的系统,通过互联网访问。

  1. 超文本
  2. 互相链接
  3. 互联网

其实就是你在浏览器看见的东西

他的功能主要由三个技术支持

  • 统一资源标志符 (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 是协议,访问资源所使用的协议,常见的还有 filehttpsftpsmbmailto 、……
  • 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即可,其他就看个人兴趣了