网络基础概念
目标
- HTML 和 HTTP
- 请求和响应
- GET 和 POST 方法
1. HTML 和 HTTP
1.1 HTML
1) 概念
HTML:是英文 HyperText Markup Language 的缩写,又叫做超文本标记语言。其中:
* 超文本 就是指可以包含图片、链接,甚至音乐、程序等非文字元素
* 标记 就是通过 <标记>内容</标记> 的格式让内容具有不同的表现形式,从而达到超文本的目的
我们在互联网上浏览的网页,本质上就是超级文本标记语言。
2) 示例
<h1>设置一个超文本的示例</h1>
<img src='http://www.itheima.com/images/logo.png'></img>
运行效果如下:
这是标题
3) 示例小结
通过示例不难发现:
- <h1> 这个标记可以让文字内容更大
- <img> 可以在网页中包含图片
回顾概念
标记 就是通过 <标记>内容</标记> 的格式让内容具有不同的表现形式,从而达到超文本的目的。
随着互联网技术的发展,在今天,开发网页时,有很多功能强大的工具。但是无论使用什么样的技术,开发出来的网页,本质上都是 HTML。
1.2 HTTP
1) 概念
HTTP:是英文 HyperText Transfer Protocol 的缩写,又叫做超文本传输协议,是互联网上应用最为广泛的一种网络协议。
2) 示例
在我们日常浏览网页时,HTTP 是会经常出现的,如下图所示:
提示:时下很多浏览器,为了更好的用户体验,默认会隐藏 HTTP 的显示。
3) 小结
通过示例不难发现,HTTP 是与 HTML 有关的!其实 HTTP 设计的最初目的就是为了提供一种传输 HTML 页面的方法。其中:
- 传输 就是指把网页相关的数据,从一台电脑传递到另外一台电脑
- 协议 就是指两台电脑之间按照什么样的方法来传输数据,是客户端和服务器之间的一个约定
- 客户端 就是用户的电脑、手机等其他设备
- 服务端 就是专门提供数据的一台专有电脑
如下图所示:
2. 请求和响应
2.1 HTTP 请求
- HTTP 请求,简称请求 是指从客户端到服务器的请求消息
- 通俗地讲,就是用户希望从服务器得到什么样的信息?
以上图来举例说明:
- 用户在浏览器中输入要访问的网页地址 http://www.itheima.com
- 按下回车,浏览器会把请求以特定的方式发送给 www.itheima.com 服务器,请求得到 黑马程序员网站的首页的内容
客户端向服务器提的请求,就是HTTP 请求
提示
在一个完整的 HTTP 请求中,除了包含要访问的网页地址外,通常还会包含以下内容:
- 用户使用的浏览器类型,如:Chrome、Firefox、IE 等
- 用户的浏览器支持的语言,如:中文还是英文
- 用户的浏览器是否支持数据压缩
- ...
注:这些额外的请求信息,都是在 HTTP 中规定好的
2.2 HTTP 响应
- HTTP 响应,简称响应 是指从服务器返回给客户端的请求结果
- 通俗地讲,用户只有获取到服务器的请求结果之后,才能够在浏览器中显示出来
以上图来举例说明:
- 服务器接收到用户请求后,把用户需要的数据内容,以特定的方式传递给客户端
- 客户端接收到数据之后,把最终结果显示在浏览器中
服务器返回给客户端的数据结果,就是HTTP 响应
提示
在一个完整的 HTTP 响应中,除了包含被访问的网页内容外,通常还会包含以下内容:
- 状态码 用数字表示的响应状态,最常见的有:
- 200 表示成功
- 404 表示页面没找到
- 响应数据的长度,通常返回的数据内容越多,用户等待时间越长
- 响应数据的类型,除了可以返回网页数据外还可以返回:
- 图片
- 文字
- 音乐
- 视频
- ...
注:这些额外的响应信息,也是在 HTTP 中规定好的
2.3 科普:HTTPS
HTTPS 中的 S 是 Secure 的意思,就是在 HTTP 基础上增加了数据加密,从而使得客户端和服务器之间传输的数据更加安全。
3. GET 和 POST 方法
GET 和 POST 是两种最常见的HTTP 请求方法。
3.1 GET 方法
GET 方法就是从服务器拿数据
业务场景
- 场景:在iwebbshop网站上搜索某一个关键字
- 背景:
- 所有的数据都保存在iwebshop的服务器上
- 客户端没有任何的数据
- 客户端只需要告诉iwebshop的服务器需要搜索什么样的数据
从服务器拿需要的数据 使用的请求方法就是 GET 方法
表现形式
使用 GET 方法请求的具体内容,可以在浏览器地址栏中看到
科普:地址栏中输入的内容被叫做 URL,俗称网址
练习
在浏览器的地址栏中,输入以下内容,然后观察浏览器中显示的内容。
http://www.baidu.com/s?wd=黑马程序员
其中:
* s 表示搜索(search)
* wd 表示关键字(word)
* = 右侧就是要搜索的内容
3.2 POST 方法
POST 方法是把数据提交到服务器
业务场景
- 用户登录
- 需要把用户名、密码告诉服务器
- 密码出现在 URL 中显然不安全
- 用户注册
- 需要把用户注册信息告诉服务器
- 商城购物
- 需要把选购的商品告诉服务器
小结
观察以上几个场景,不难发现,无论是用户登录,还是选购商品:
- 客户端需要把某些信息主动告诉给服务器
- 在客户端提交信息之前,服务器并不知道是哪一个用户要登录,也不知道用户具体要购买的商品
表现形式
使用 POST 方法请求的具体内容,在浏览器地址栏中无法看到
- 可以在一定程度上保证数据安全
- 但是 POST 方法请求的数据,使用抓包工具可以拦截
时间柱