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

thinkphp企业网站电子商务网站建设考试重点

thinkphp企业网站,电子商务网站建设考试重点,广州做网站一般要多少钱,固始网站建设公司一、Web服务器 什么是Web服务器#xff1f; 当应用程序#xff08;客户端#xff09;需要某一个资源时#xff0c;可以向一个台服务器#xff0c;通过Http请求获取到这个资源#xff1b;提供资源的这个服务器#xff0c;就是一个Web服务器#xff1b; 目前有很多开源…一、Web服务器 什么是Web服务器 当应用程序客户端需要某一个资源时可以向一个台服务器通过Http请求获取到这个资源提供资源的这个服务器就是一个Web服务器 目前有很多开源的Web服务器Nginx、Apache静态、Apache Tomcat静态、动态、Node.js 二、Web服务器初体验 三、创建服务器的方式 创建服务器对象我们是通过 createServer 来完成的 http.createServer会返回服务器的对象底层其实使用直接 new Server 对象。 那么当然我们也可以自己来创建这个对象 上面我们已经看到创建Server时会传入一个回调函数这个回调函数在 被调用时会传入两个参数 reqrequest请求对象包含请求相关的信息resresponse响应对象包含我们要发送给客户端的信息 四、监听主机和端口号 Server通过listen方法来开启服务器并且在某一个主机和端口上监听网络请求 也就是当我们通过 ip:port的方式发送到我们监听的Web服务器上时我们就可以对其进行相关的处理 listen函数有三个参数 端口port: 可以不传, 系统会默认分配端, 后续项目中我们会写入到环境变量中主机host: 通常可以传入localhost、ip地址127.0.0.1、或者ip地址0.0.0.0默认是0.0.0.0 localhost本质上是一个域名通常情况下会被解析成127.0.0.1127.0.0.1回环地址Loop Back Address表达的意思其实是我们主机自己发出去的包直接被自己接收 正常的数据库包经常 应用层 - 传输层 - 网络层 - 数据链路层 - 物理层 而回环地址是在网络层直接就被获取到了是不会经常数据链路层和物理层的 比如我们监听 127.0.0.1时在同一个网段下的主机中通过ip地址是不能访问的0.0.0.0 ü 监听IPV4上所有的地址再根据端口找到不同的应用程序 比如我们监听 0.0.0.0时在同一个网段下的主机中通过ip地址是可以访问的 回调函数服务器启动成功时的回调函数 五、request对象 在向服务器发送请求时我们会携带很多信息比如 本次请求的URL服务器需要根据不同的URL进行不同的处理本次请求的请求方式比如GET、POST请求传入的参数和处理的方式是不同的本次请求的headers中也会携带一些信息比如客户端信息、接受数据的格式、支持的编码格式等 这些信息Node会帮助我们封装到一个request的对象中我们可以直接来处理这个request对象 六、URL的处理 客户端在发送请求时会请求不同的数据那么会传入不同的请求地址 比如 http://localhost:8000/login比如 http://localhost:8000/products; 七、URL的解析 那么如果用户发送的地址中还携带一些额外的参数呢 p http://localhost:8000/login?namewhypassword123; p 这个时候url的值是 /login?namewhypassword123 n 我们如何对它进行解析呢使用内置模块url 但是 query 信息如何可以获取呢 在我们程序中如何进行判断以及获取对应的数据呢 这里我们需要判断接口是 /login并且请求方式是POST方法去获取传入的数据获取这种body携带的数据我们需要通过监听req的 data事件来获取 将JSON字符串格式转成对象类型通过JSON.parse方法即可: 八、headers属性 在request对象的header中也包含很多有用的信息客户端会默认传递过来一些信息 content-type是这次请求携带的数据的类型 application/json表示是一个json类型 text/plain表示是文本类型 application/xml表示是xml类型 multipart/form-data表示是上传文件 content-length文件的大小和长度 keep-alive http是基于TCP协议的但是通常在进行一次请求和响应结束后会立刻中断 在http1.0中如果想要继续保持连接 — 浏览器需要在请求头中添加 connection: keep-alive — 服务器需要在响应头中添加 connection:keey-alive — 当客户端再次放请求时就会使用同一个连接直接一方中断连接 在http1.1中所有连接默认是 connection: keep-alive的 — 不同的Web服务器会有不同的保持 keep-alive的时间 — Node中默认是5s中 accept-encoding告知服务器客户端支持的文件压缩格式比如js文件可以使用gzip编码对应 .gz文件 accept告知服务器客户端可接受文件的格式类型 user-agent客户端相关的信息 九、返回响应结果 如果我们希望给客户端响应的结果数据可以通过两种方式 Write方法这种方式是直接写出数据但是并没有关闭流end方法这种方式是写出最后的数据并且写出后会关闭流 如果我们没有调用 end和close客户端将会一直等待结果所以客户端在发送网络请求时都会设置超时时间。 十、返回状态码 Http状态码Http Status Code是用来表示Http响应状态的数字代码 Http状态码非常多可以根据不同的情况给客户端返回不同的状态码常见的状态码是下面这些后续项目中也会用到其中的状态码 设置状态码常见的有两种方式 十一、响应头文件 返回头部信息主要有两种方式 res.setHeader一次写入一个头部信息res.writeHead同时写入header和status Header设置 Content-Type有什么作用呢 p 默认客户端接收到的是字符串客户端会按照自己默认的方式进行处理 十二、http请求 axios库可以在浏览器中使用也可以在Node中使用 在浏览器中axios使用的是封装xhr在Node中使用的是http内置模块 十三、文件上传 – 错误示范 如果是一个很大的文件需要上传到服务器端服务器端进行保存应该如何操作呢 十三、文件上传 – 正确做法 const http require(http) const fs require(fs) const qs require(querystring) const server http.createServer((req, res) {if (req.url /upload) {if (req.method POST) {req.setEncoding(binary)let body const boundary req.headers[content-type].split(;)[1].replace( boundary, )// console.log(boundary)req.on(data, (data) {body data})// 监听写入结束req.on(end, () {// console.log(body)// 处理body// 1.获取image/png的位置const payload qs.parse(body, \r\n, : )const type payload[Content-Type]const typeIndex body.indexOf(type) // 拿到image/jpeg的索引位置const typeLength type.length // 拿到image/jpeg这个字符串的长度let imageData body.substring(typeIndex typeLength)// 3. 将image/jpeg后面的两个空格去掉// imageData imageData.replace(\r\n\r\n, )imageData imageData.replace(/^\s\s*/, )// 4. 将最后的boundary去除掉imageData imageData.substring(0, imageData.indexOf(--${boundary}--))console.log(imageData)fs.writeFile(./foo.jpg, imageData, {encoding: binary}, (err) {res.end(文件上传成功~)})console.log(文件上传成功)res.end(文件上传成功)})}} }) server.listen(8000, 0.0.0.0, () {console.log(文件上传服务器开启成功) })
http://www.zqtcl.cn/news/327925/

相关文章:

  • 建筑类企业网站模板下载微信搜索推广
  • 上海网站备案在哪里wordpress短链接关键字
  • 金诚财富网站是谁做的建站技术博客
  • 黔东南网站设计公司儿童衣服刘涛做代言那个是什么网站
  • 网站首页样式百度推广是什么工作
  • 广告手机网站制作阿里云域名 设置网站
  • 杭州市拱墅区网站建设ui培训有用么
  • 广东手机网站建设多少钱邯郸市做网站的公司
  • seo网站优化推广怎么做龙岗中心医院
  • 建网站程序智能网站建设平台
  • 建筑公司分几级资质seo入门培训
  • wap类网站上海网站建设免费推
  • 网站建设哪家好公司建设银行网站怎么登陆不
  • 关于建设网站的需求wordpress不能发布文章
  • 如何一键建淘宝客网站中国建设银行金华分行网站
  • 给wordpress添加公告英语seo
  • 佛山市网站建设系统wap浏览器网页版
  • 关于小说网站的一些建设流程学做蛋糕有哪些网站
  • 益阳购物网站开发设计禹城网站制作
  • 教育网站开发文档全网营销推广案例
  • 最流行的网站开发框架wordpress阅读权限
  • 怎么做推广网站创立网站
  • 制作自己的网站需要什么材料网站计费系统怎么做
  • 网站和域名的区别昆山网站开发建设公司
  • 兼职网站推广如何做西安市商标局
  • 打开网站说建设中是什么问题莱芜金点子招小时工
  • 做网站的相关协议秦皇岛解封最新消息今天
  • 网站托管维护方案新闻媒体发稿平台
  • 网站扩展名四平网站建设怎么选
  • 网站制作价格与售后视频网站建设有什么意义