首页 > 代码库 > HTTP
HTTP
一.描述一个完整的HTTP事务
1. 输入一个网址:比如www.baidu.com(此为提供用户记住的域名)
2. 解析域名:通过window.host来查找与域名相对应的IP地址
3. 建立连接(三次握手): --双工信道
1).客户端打开发送信道,发送信息给服务器(服务器打开接受信道)
2).服务器打开接收信道,接受并发送响应,再打开发送信道;
3).客户端打开接收信道,接受响应,再发送确认信息
4. 发送;
5. 断开连接(四次挥手) ---HTTP协议是无状态请求,每一次请求都是新的
二 . HTTP协议 为应用层的协议
2.1客户端、服务器都大概7层:
从底层到上依次是:物理层 - 数据层 - 网络层 - 传输层 - 会话层 - 表示层 - 应用层
2.2 请求方式:
- GET:请求发在请求头,显示在窗口地址栏中,可装的容量较小,安全性能低
- POST:请求的数据封装在请求体中,随着request一起发送到服务器
三. 空降的安装包(Express和mongodb)
安装步骤:
1. 新建一个文件夹在F盘根目录下,里面装空降的两个压缩包myapp和nmp
2. 命令行cmd - 输入path --回车 -- 找到最后一行npm,并打开其在C盘的地址
3. 删除原本的npm,并且把空降的npm解压并复制于此;
4. 用编辑器(subline/atom)打开空降的myapp
5. 在浏览器中输入http://localhost:3000
解释:
1. package.json是用来描述项目的
2. package.json 里面的dependencies装的是依赖的文件
3. express :NodeJS后台的框架
四.新建登录页面
1. 在public中新建html。
2. 在routes里的users.js配置
router.post(‘/register‘, function(req, res, next) {
console.log(req.body.username);
var userModel = mongoose.model("users");
userModel.create({
username: req.body.username,
password: req.body.password
}, function(err, data) {
if (data) {
res.send("true");
}
});
});
req:请求对象
res:相应对象
get:query(请求头)
post:body(请求体)
res.sendfile("/")响应时发送新的页面
补充:
- 一. 数据本身的功能:增删查改
- 二. 算法有两种:运算性算法和事务性算法
- 三. DB数据库有两种:文档性数据库 关系型数据库(常用)
HTTP