本篇内容会讲到
- 什么是服务器?
- 如何访问服务器?
- http 协议
- 请求消息格式
- 请求头
- 请求体
- GET 和 POST
- 响应消息格式
- 在浏览器地址栏中输入一个页面地址,按下回车键后发生了什么?
- ajax
什么是服务器?
如果所有程序都是单机的,会导致什么后果呢?
1. 数据难以共享
2. 受计算机配置的影响,运算速度差异巨大
3. 个人计算机的安全性堪忧,可能会受到恶意程序的影响
有了服务器之后,这些都可以轻松解决
服务器在不同的语境下可能表达了不同的含义:
1. 一台独立的计算机
2. 一个应用程序
绝大部分使用,作为开发者,通常把服务器看作是一个应用程序。
无论它是哪一个状态,它都至少具有以下两个特点:
1. 能够通过网络,被其他程序访问
2. 能够提供一些服务
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200110180803780.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhbjEyOGxhbg==,size_16,color_FFFFFF,t_70)
如果一个服务器(应用程序),它仅仅为一个浏览器网站服务,我们称它为web 服务器
实际上,目前的web 服务器和游戏服务器界限已经非常模糊,可以认为,凡是在互联网中提供服务的服务器都是web 服务器
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200110180721689.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xhbjEyOGxhbg==,size_16,color_FFFFFF,t_70)
通常,我们把访问服务器的程序,称之为客户端
实际上, web 服务器不仅限于为浏览器提供服务,还可以为手机App、小程序、小游戏等常见互联网应用提供服务
本章内容只考虑浏览器
常见的 web 服务器有: nginx、 apache、iis
在开发阶段,web 服务器往往安装在本地计算机中,通常也称之为本地服务器
vscode 有一个 live server 插件,其实它就是一个轻量级的 web 服务器
如何访问服务器
服务器程序可能在本机,也可能在远程,它一定运行在某一台计算机上
要在茫茫互联网中访问到服务器程序,就必须:
1. 精确地定位到服务器所在的计算机
2. 精确地定位到计算机中的服务器程序
3. 精确地定位到程序中的某个功能
通常,我们使用 url 地址来描述以上3个信息
url 地址全称为 Uniform Resource Locator,统一资源定位符,是一个字符串&#x