1. 常见协议
HTTP、HTTPS 超文本传输协议
FTP 文件传输协议
SMTP 简单邮件传输协议
2. http协议
超文本传输协议(HTTP,
HyperText Transfer Protocol)
网站是基于HTTP协议的, 例如网站的图片、CSS、JS等都是基于HTTP协议进行传输的。
HTTP协议是由从客户机到服务器的请求(
Request)和从服务器到客户机的响应(
Response)进行了约束和规范。
即HTTP协议主要由
请求和
响应构成。
常用请求方法: POST、GET、PUT、DELETE
我们通过浏览器插件 FireFox httpFox 调试。ctrl shift f2 调用
(1)请求和请求报文
请求由客户端发起,其规范格式为:请求行、请求头、请求主体。
① 请求行
由请求方式、请求URL和协议版本构成
GET /day01/code/login.php?username=123&password=123 HTTP/1.1
POST /day01/code/login.php HTTP/1.1
② 请求头
Host:localhost请求的主机
Cache-Control:max-age=0控制缓存
Accept:/ 接受的文档MIME类型
User-Agent:很重要
Referer:从哪个URL跳转过来的
Accept-Encoding:可接受的压缩格式
If-None-Match:记录服务器响应的ETag值,用于控制缓存。此值是由服务器自动生成的
If-Modified-Since:记录服务器响应的Last-Modified值。此值是由服务器自动生成的
注:当以 post 形式提交表单的时候,请求头里会设置
Content-Type: application/x-www-form-urlencoded,以 get 形式时不需要
③ 请求主体
即传递给服务端的数据
(2)响应和响应报文
响应由服务器发出,其规范格式为:状态行、响应头、响应主体。
① 状态行
由协议版本号、状态码和状态信息构成 HTTP/1.1 200 OK
状态码常见的有:
200代表成功、304文档未修改、403没有权限、404未找到、500服务器错误
② 响应头
Date:响应时间
Server:服务器信息
Last-Modified:资源最后修改时间 由服务器自动生成
ETag:资源修改后生成的唯一标识。由服务器自动生成
Content-Length:响应主体长度
Content-Type:响应资源的类型
③ 响应主体
即服务端返回给客户端的内容。
get 方式的请求与响应:
post 方式的请求与响应: