请求网址过程:

  1.用户通过浏览器发送一个http的请求到指定的主机

  2.服务器接收到该请求,对该请求进行分析和处理

  3.服务器处理完成以后,返回对应的数据到用户机器

  4.浏览器接收服务器返回的数据,并根据接收到的进行分析和处理

//搭建一个服务器http,用于处理用户发送的http请求
//需要使用node提供一个模块 http //加载一个http模块
var http=require('http');
var url=require('url');
//通过http模块下的createServer创建并返回一个web服务器对象
var server=http.createServer();//()中为监听到客户端连接的回调函数
server.listen(8080,'localhost');//监听客户端连接请求,只有当调用了listen方法以后,服务器才开始工作
//server.listen(port,[hostname],[backlog],[callback]);
//-port:监听端口
//hostname:主机名(IP/域名)
//backlog:连接等待队列的最大长度
//callback:调用listen方法并成功开启监听以后会触发一个listening事件,callback将作为该事件的执行函数。
//server.listen();不带任何参数,则是系统默认自动分配的。
//error事件:当服务器开启失败的时候触发的事件
// -参数err:具体的错误对象
//request事件:当有客户端发送请求道该主机和端口的请求的时候触发
//-参数request:http.IncomingMessage的一个实例,通过它,我们可以获取到这次请求的一些信息,比如头信息,数据等
//-httpVersion:使用http协议的版本
//-headers:请求头信息中的数据
//-url:请求地址
//-method:请求方式
//-参数response:http.ServerResponse的一个实例,通过它,我们可以向该次请求的客户端输出返回响应
//-write(chunk,[encoding]):发送一个数据块到响应正文中
//-end([chunk],[encoding]):当所有的正文开头和头信息发送完成以后调用该方法告诉服务器数据已经全部发送完成了,这个方法在每次完成信息发送以后必须调用,并且是最后调用
//-statusCode:该属性用来设置返回状态码
//-setHeader(name,value):设置返回头信息
//writeHead(statusCode,[reasonPhrase],[headers])这个方法只能在当前请求中使用一次,而且必须在response.end()之前调用

最新文章

  1. Nginx+FastCGI运行原理
  2. ASP.NET的POST和GET提交并接收处理返回值
  3. iOS开发应用学习笔记
  4. JSONP技术原理及实现
  5. unity3d 幻灯片效果实现
  6. input输入框只能输入数字的功能
  7. [H5]range对象的setStart/setEnd方法
  8. mysql8绿色免安装win64版本(自带heidisql.exe客户端)应该兼容老版第三方工具。
  9. Android 应用加固(乐固)操作说明
  10. jPlayer获取播放时间
  11. Spring Cloud Zuul 网关使用与 OAuth2.0 认证授权服务
  12. 网络流24题 第五题 - PowerOJ1740 CodeVS1905 圆桌问题 二分图多重匹配 网络最大流
  13. 017 SpringMVC中CRUD实例
  14. 基于 SSL 的 Nginx 反向代理
  15. html自定义弹框
  16. 写一个方法,用一个for循环打印九九乘法表
  17. JavaWeb学习总结(十五)Jsp中提交的表单的get和post的两种方式
  18. Gogs安装配置(快速搭建版)转载
  19. POJ2226
  20. Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务

热门文章

  1. Codeforces Round #532(Div. 2) C.NN and the Optical IIIusion
  2. IE_Script70:没有权限问题处理
  3. WebView使用遇到的坑
  4. 牛客网Java刷题知识点之同步方法和同步代码块的区别(用synchronized关键字修饰)
  5. Linux 增加虚拟内存
  6. android开发学习 ------- 【转】 android中的线程池
  7. 使用express4.x版、Jade模板以及mysql重写《nodejs开发指南》微博实例
  8. 由于js词法性质和全局变量被更改,循环绑定的click事件执行时变量和定义时 不一致的bug,各种解决方案。
  9. Vuex.js状态管理共享数据 - day8
  10. RStudio的Markdown