当前位置: 首页 > wzjs >正文

如何做登陆界面的网站网站快速备案安全

如何做登陆界面的网站,网站快速备案安全,开发三维,wordpress 整站音乐1. 互联网时代的诞生 2. HTTP的基本特点 2.1客户端-服务端模型 2.2 无状态协议 2.3 可靠性 2.4 文本协议 3. HTML,CSS和JS 4. HTTP的各个组件 4.1 客户端 4.2 服务端 4.3 代理 5. URI和URL 6. HTTP报文 HTTP报文分为两种——请求报文和响应报文。 6.1 GET请求示例 注意&#…

1. 互联网时代的诞生

在这里插入图片描述
在这里插入图片描述

2. HTTP的基本特点

在这里插入图片描述

2.1客户端-服务端模型

在这里插入图片描述

2.2 无状态协议

在这里插入图片描述

2.3 可靠性

在这里插入图片描述

2.4 文本协议

在这里插入图片描述

3. HTML,CSS和JS

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

4. HTTP的各个组件

在这里插入图片描述

4.1 客户端

在这里插入图片描述

4.2 服务端

在这里插入图片描述

4.3 代理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. URI和URL

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6. HTTP报文

  • HTTP报文分为两种——请求报文和响应报文。

6.1 GET请求示例

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 注意:C++中的类不用调用c中的mem_系列函数 来处理。

  • 单线程阻塞服务端
    在这里插入图片描述

#include <54func.h>#include <iostream>
#include<string>using std::cerr;
using std::string;class HttpServer
{
public:HttpServer(const string &ip,unsigned short port):_ip(ip),_port(port){}~HttpServer(){if(_sockfd>0){close(_sockfd);// 注意这里不需要作用域限定符号,而bind需要,因为std中也有bind函数}}void start();void recvAndShow();
private:string _ip;unsigned short _port;int _sockfd;
};void HttpServer::start()
{_sockfd = socket(AF_INET,SOCK_STREAM,0);if(_sockfd < 0){perror("socket");exit(1);}int reuse = 1;int ret = setsockopt(_sockfd,SOL_SOCKET,SO_REUSEADDR,&reuse,sizeof(reuse));if(ret < 0){perror("setsockfd");exit(1);}struct sockaddr_in serverAddr;memset(&serverAddr,0,sizeof(serverAddr));serverAddr.sin_family = AF_INET;serverAddr.sin_port = htons(_port);serverAddr.sin_addr.s_addr = inet_addr(_ip.c_str());ret = ::bind(_sockfd,(struct sockaddr*)&serverAddr,sizeof(serverAddr));if(ret < 0){perror("bind");exit(1);}listen(_sockfd,10);
}void HttpServer::recvAndShow()
{while(true){int netfd = ::accept(_sockfd,nullptr,nullptr);char buf[4096] = {0};ssize_t sret = recv(netfd,buf,sizeof(buf),0);printf("sret = %ld,buf = %s\n",sret,buf);close(netfd);}
}int main()
{HttpServer server("10.102.1.35",1234);server.start();server.recvAndShow();return 0;
}

在这里插入图片描述

6.2 POST请求示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.3 请求报文详解

在这里插入图片描述

在这里插入图片描述

方法

在这里插入图片描述

路径

在这里插入图片描述
在这里插入图片描述

版本

在这里插入图片描述

  • 1.0和1.1的区别
  • 连接可以复用
  • HTTP2.0是二进制协议不是文本协议,典型的应用场景是grpc

首部字段

在这里插入图片描述

  • Content-Length,因为TCP是一个流式协议,需要使用类似于我们的火车头协议。包的长度。

  • Host:域名,处理一个IP对应多个域名的情况

  • Connection:长连接或者短连接

  • user-agent:客户端的类型

  • MIME

    • 本质就是文件类型
    • 格式:大类型/小类型:text/html,text/css,text/javascript
    • 在这里插入图片描述

请求体

在这里插入图片描述

6.4 响应报文

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

响应的状态

  • 200 ok
  • 300配合浏览器生效,重定向
  • 404找不到
  • 403 客户端有错误
  • 500 服务器有错误
    在这里插入图片描述

#include <54func.h>#include <iostream>
#include<string>using std::cerr;
using std::string;class HttpServer
{
public:HttpServer(const string &ip,unsigned short port):_ip(ip),_port(port){}~HttpServer(){if(_sockfd>0){close(_sockfd);// 注意这里不需要作用域限定符号,而bind需要,因为std中也有bind函数}}void start();void recvAndShow();string response();
private:string _ip;unsigned short _port;int _sockfd;
};void HttpServer::start()
{_sockfd = socket(AF_INET,SOCK_STREAM,0);if(_sockfd < 0){perror("socket");exit(1);}int reuse = 1;int ret = setsockopt(_sockfd,SOL_SOCKET,SO_REUSEADDR,&reuse,sizeof(reuse));if(ret < 0){perror("setsockfd");exit(1);}struct sockaddr_in serverAddr;memset(&serverAddr,0,sizeof(serverAddr));serverAddr.sin_family = AF_INET;serverAddr.sin_port = htons(_port);serverAddr.sin_addr.s_addr = inet_addr(_ip.c_str());ret = ::bind(_sockfd,(struct sockaddr*)&serverAddr,sizeof(serverAddr));if(ret < 0){perror("bind");exit(1);}listen(_sockfd,10);
}void HttpServer::recvAndShow()
{while(true){int netfd = ::accept(_sockfd,nullptr,nullptr);char buf[4096] = {0};ssize_t sret = recv(netfd,buf,sizeof(buf),0);printf("sret = %ld,buf = %s\n",sret,buf);string repo = response();send(netfd,repo.c_str(),repo.size(),0);close(netfd);}
}int main()
{HttpServer server("10.102.1.35",1234);server.start();server.recvAndShow();return 0;
}
string HttpServer::response()
{string startLine = "HTTP/1.1 200 ok\r\n";string headers = "Server: MyHttpServer\r\n";string body = "<html>Hello World!</html>";headers+="Content-Type: text/html \r\n";headers+="Content-Length" + std::to_string(body.size()) + "\r\n";string emptyLine = "\r\n";return startLine+headers+emptyLine+body;}

加粗样式

浏览器直接下载
在这里插入图片描述

在这里插入图片描述

  • 重定向
    在这里插入图片描述

7. RESTful的设计风格

目的:HTTP接口用起来像对象的方法调用
在这里插入图片描述

幂等性

  • 重复发请求,对结果有无影响。
  • get,delete,put是幂等的。
  • post增加是不幂等的。

8. HTTPs的原理

在这里插入图片描述

8.1 对称加密和非对称加密

在这里插入图片描述
在这里插入图片描述

8.2 TLS的实现机制

  • 两个步骤
  • 1.非对称加密(引入证书机关)
    1. 对称加密
      在这里插入图片描述
      在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

XML

在这里插入图片描述

tinyxml2

在这里插入图片描述

#include <iostream>
#include"tinyxml2.h"using namespace tinyxml2;int main()
{XMLDocument doc;doc.LoadFile("test.xml");XMLElement *root = doc.FirstChildElement("sites");for(XMLElement *site = root->FirstChildElement("site"); site != nullptr; site=site->NextSiblingElement("site")){XMLElement *name = site->FirstChildElement("name");XMLElement *url = site->FirstChildElement("url");std::cerr<<"name:"<<name->GetText() <<",url:"<<url->GetText()<<std::endl;}return 0;
}

在这里插入图片描述

构建的代码

在这里插入图片描述
在这里插入图片描述

解析的代码

在这里插入图片描述在这里插入图片描述

Json解析

简介

在这里插入图片描述

nlohmann/json的使用

  • nlohmann/json是一个header-only的C++ json解析库,可以用于构造和解析JSON对象。

  • 键值必须是字符串

在这里插入图片描述

  • 数据-》字节流:序列化/编码
  • 字节流-》数据:反序列化。解码

在这里插入图片描述

{"sites":[{"site":{"name":"王道论坛","url":"www.baidu.com"}},{"site":{"name":"google","url":"www.google.com"}},{"site":{"name":"微博","url":"www.weibo.com"}}]
}

序列化

#include <iostream>
#include <nlohmann/json.hpp>
using Json = nlohmann::json;
int main(){Json sites1 ={{"sites",{{{"name", "王道论坛"}, {"url", "www.cskaoyan.com"}},{{"name", "google"}, {"url", "www.google.com"}},{{"name", "微博"}, {"url", "www.weibo.com"}}}}};Json sites2;sites2["sites"].push_back({{"name", "王道论坛"}, {"url","www.cskaoyan.com"}});sites2["sites"].push_back({{"name", "google"}, {"url", "www.google.com"}});sites2["sites"].push_back({{"name", "微博"}, {"url", "www.weibo.com"}});Json object;object["key1"] = "value1";object["key2"] = 2;// 使用[]运算符可以增加键值对// 使用push_back方法可以增加数组元素std::cout << sites1.dump() << "\n";std::cout << sites2.dump() << "\n";std::cout << object.dump() << "\n";
}

在这里插入图片描述

反序列化

#include <iostream>
#include<nlohmann/json.hpp>
using Json = nlohmann::json;
int main() {std::string json_string = R"({"sites":[{ "name":"王道论坛" , "url":"www.cskaoyan.com" },{ "name":"google" , "url":"www.google.com" },{ "name":"微博" , "url":"www.weibo.com" }]})";// 解析JSON字符串Json sites = Json::parse(json_string);// 遍历站点信息并打印for (const auto& site : sites["sites"]) {std::cout << "Name: " << site["name"] << ", URL: " << site["url"] <<std::endl;//另一种写法//std::cout << "Name: " << sites["sites"][i]["name"] << ", URL: " <<//  sites["sites"][i]["url"] << std::endl;}
return 0;
}

文章转载自:

http://Eh37zMuJ.wtbzt.cn
http://qroV8pHO.wtbzt.cn
http://v8qJKNhp.wtbzt.cn
http://LMzYVD6k.wtbzt.cn
http://hUfT3cTt.wtbzt.cn
http://XCVCJNFy.wtbzt.cn
http://KEHIQGea.wtbzt.cn
http://9h89ywPT.wtbzt.cn
http://GVMeL9FQ.wtbzt.cn
http://xmjCvWmX.wtbzt.cn
http://m7iNCB09.wtbzt.cn
http://bLwMLHku.wtbzt.cn
http://Thu61B4w.wtbzt.cn
http://YEHxIYre.wtbzt.cn
http://axkyHc6a.wtbzt.cn
http://xr8BXef5.wtbzt.cn
http://pomHIM05.wtbzt.cn
http://8faod2i5.wtbzt.cn
http://iH634r0l.wtbzt.cn
http://SuFAQwzw.wtbzt.cn
http://x5jzIE4Q.wtbzt.cn
http://qMjJx3Uw.wtbzt.cn
http://Bn2CxImN.wtbzt.cn
http://u3xAZ3c4.wtbzt.cn
http://b4ZVA4Ii.wtbzt.cn
http://Wld9jWdH.wtbzt.cn
http://bDAE9bM0.wtbzt.cn
http://AnmpOXsE.wtbzt.cn
http://XLge2r44.wtbzt.cn
http://ls88AS3D.wtbzt.cn
http://www.dtcms.com/wzjs/671010.html

相关文章:

  • 湖南平台网站建设制作智慧团建登录手机版正式版
  • 做外卖网站的模板大学网站建设管理制度
  • 金华建设局网站做网站 前端
  • 营销网站的设计思路专业网站建设价格分析
  • 文化旅游做的好的网站简单的网页制作素材
  • 网站一般怎么维护代理登录网站
  • php个人网站简洁旅行社网页设计
  • 网站建设架构选型宁波seo排名优化价格
  • 九度互联网站制作效果凡科网站是骗子
  • 网站里的内容都是什么作用鞍山做网站排名
  • 做暧动漫视频在线观看网站知识营销成功案例介绍
  • go语做网站有没有可以免费看的视频
  • 电子公司网站设计上海seo怎么优化
  • 第二课强登陆网站新型智库建设的意见手机上写WordPress博文
  • 网站开发 网页设计战鼓网这种网站怎么做
  • 网站建设发布设需求网页制作类软件有哪些
  • 南宁制作企业网站购物网站案例
  • 上海网站建设在哪辽宁网站建设
  • 如何查看网站收录情况ui网页界面设计素材
  • 中建二局核电建设分公司网站宁波网站推广怎样做
  • 网站建设最好wordpress 后台慢
  • 平面设计素材网站大全网站定制开发怎么写
  • 哈尔滨做设计和网站的公司吗广告公司好听的名字
  • 网站图标在哪里修改如何用子域名做网站
  • 工作室推广网站app后端用什么开发
  • 上海做网站的公司官网祁阳网页设计
  • 苏州知名高端网站建设网络公司网站怎么做聚合页面
  • gofair做网站如何做一份营销策划方案
  • 重庆开县网站建设公司wap网站用什么服务器
  • 非法网站开发是什么意思呼和浩特北京网站建设