HTTP

Posted 小蚊子飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

HTTPHTTP协议的请求与响应

HttpHttp请求的流程

HTTPHTTP1.0HTTP1.1HTTP2.0HTTPS

HTTPHTTP POST GET 本质区别详解

httphttp的方法,状态码和组成部分

HTTPHTTP请求体中的四种格式,requests库发送post请求