目录
应用程序从架构上分为C/S,B/S架构
客户端和服务端
什么是上网
互联网上的服务(客户端与服务器端的一次请求流程)
url地址
通信协议
服务器名称(主机名)
端口号
路径
参数
域名与ip的关系
IP
域名
互联网传输协议
互联网中的传输协议
什么是HTTP协议?
http与https的区别?
交互模型(请求与响应)
HTTP协议的工作过程(原理)?
http协议的组成
请求消息的组成
响应消息组成
请求方法
http协议常见状态码
C/S:
C: client 客户端
S: server服务器
C/S的特点: 客户端需要安装才能使用
B/S:
B: browser 浏览器 浏览器是B/S架构中常见的客户端之一 。
S: server 服务器
B/S的特点: 客户端无需安装,只要用浏览器和网络就可以随时随地来使用
B/S的缺点: 客户端没有业务处理能力,所有的业务都要提交到服务端来处理。
B/S的程序运行原理,见下图
request: 请求
response:响应
web:网站
通过因特网(internet)进行获取各种各样的资源(文字、图片、音频、视频,....css/js)
获取资源的过程就也就是享受服务的过程 。
简单来说就是网址。URL(全称是Uniform Resource Locator)中文叫统一资源定位符,用于标识互联网上每个资源的唯一存放位置。浏览器只有通过URL地址,才能正确定位资源的存放位置,从而成功访问到对应的资源。
格式:
计算机与计算机之间通信(沟通)的标准。
不同的服务器(主机)提供不同的资源(服务),服务器就是资源(服务)的提供者。
可以把计算机想像成一个封闭的空间,计算机内部的程序要运行在不同的端口,外界用户通过不同的端口来访问计算机中不同的应用程序,计算机默认的端口有:0至65535个端口。注意:不同的应用程序工作在不同的端口,同一个端口只能被某一个应用程序所占用。
某个资源在服务器上的具体位置
动态访问某个应用程序以实现人机交互。
“IP是英文Internet Protocol的缩写,意思是网络之间互连的协议,也就是为计算机网络相互连接进行通信而设计的协议,IP协议也可以叫做因特网协议。”
在访问互联网上的主机时本应该使用ip地址来访问,但ip地址是一串数字,数字不便于人们记忆,后来才使用域名代替ip地址来访问互联网上的主机,要想使用域名来访问互联网上的主机则先要进行域名解析(将域名与某个公网IP进行绑定),域名解析后的结果保存DNS(Domain Name Server)服务器上,注意:一个域名只能对应一个ip,但同一个ip可以绑定多个不同的域名上。【重点】
whois查询可以看域名的信息: 域名Whois查询 - 站长之家
cmd快速查看域名和ip的指向: ping 域名 (查看此域名通不通)
什么是协议:协议( Protocol)是指双方为了完成一个目标结果所必须遵守的规则和约定。
通俗的理解:双方采用约定好的格式来做某种事情,这种事先约定好的格式,就叫做协议。
Http(HyperText Transfer Protocol):超文本传输协议 (文本、图片、视频、音频、css、js....),它是基于请求/响应模式、应用层(TCP/IP传输控制协议/网际协议)、无状态(没有记忆功能)的协议。
http协议是明文传输数据、相对不安全;
https协议是密文传输数据、相对安全;
计算机协议:是计算机与计算机之间沟通(通信)的标准,常见的计算机协议有:http[s]、ftp(文件上传或下载)、smtp(发送邮件)、pop3(接收邮件)等。
交互模型(请求与响应):HTTP 协议采用了 请求/响应 的交互模型。也就是说必须是客户端主动发起请求,再由服务器端处理请求,同时被动的把内容响应给客户端
第一步:客户端与服务器建立连接;
第二步:客户端发请求给服务器;
第三步:服务器接收、处理请求并返回响应给客户端;
第四步:客户端与服务端断开连接;
请求消息、响应消息、请求方法、状态码
客户端发起的请求叫做 HTTP 请求,客户端发送到服务器的消息,叫做 HTTP 请求消息(又叫做 HTTP 请求报文。) 简单来说就是客户端告知服务器我要干什么。
请求消息由三部组成:请求行、请求头部、默认可空一行,请求体(可为空)
响应消息就是服务器响应给客户端的消息内容,也叫作响应报文。比如:海底捞服务员把后厨准备好的食材交付给用户
响应消息由三部分组成:状态行、响应头部、【空行】、响应体 【重点】
用来表明要对服务器上的资源执行的某操作,以何种方式进行请求。
常见请求方法比如:get获取/post提交数据/delete删除/put更新的
用来标识响应的状态。服务器的结果要用状态码来进行描述。比如:404页面不存在。200成功
http协议常见状态码及含义:【重点】
2XX: 表示成功
200 表示这次交互成功
3XX: 表示重定向
301 表示永久重定向
302 表示临时重定向
4XX: 表示客户端错误
404 表示页面找不到(路径或文件名错误)
5XX: 表示服务端错误
500 表示服务器内部错误
502 表示网关错误