web架构及HTTP协议

1 认识http

1-1) HTTP是HyperText Transfer Protocol(超文本传输协议) HTTP是基于IP协议的.

  • HyperText:超文本,就是我们的那些标签标示的内容
  • Transfer:传输-从浏览器端到服务器和从服务器到浏览器端
  • Porotocol:协议,其实就是规范,规定上述两个传输过程必须遵循固定的格式

1-2) web架构

  • 浏览器端,HTML+CSS+JS
  • 服务器端,服务器的语言(js),数据库(mysql,mongodb)
  • HTTP
http协议.png

1-3) HTTP分成两端

  • 浏览器端到服务器端,请求,HTTP请求
  • 服务器端到浏览器端,响应,HTTP响应

1-4) 都是由三个部分构成(响应和请求)

  • 对于HTTP请求,包括请求行,请求头信息,请求正文
  • 对于HTTP响应,包括响应状态行,响应头信息,响应正文

1-5) 请求的两个方式(get/post)

  • get:直接使用URL,然后访问,通过输入URL获取点击超链接,都是get请求
  • post:使用表单提交数据,烦死表单提交的数据,通常都是post请求

1-6) 请求和响应

  • 每一个第一次请求一定是当前页面本身,然后才是这个页面中引入的这些资源,这些资源,包括html,css,js和图片成为静态资源
  • 每一个请求,有包含请求和响应
  • 为了提高页面的载入速度,我们可尽量减少http的请求(比如图片的合并-精灵图)
    图片2
  • 对于HTTP请求,包括请求行,请求头信息,请求正文
  • 对于HTTP响应,包括响应状态行,响应头信息,响应正文
2 Server对象

2-1)服务器对象的创建,提供http服务
2-2)创建:使用http模块的createServer方法

  • 对于HTTP请求,包括请求行,请求头信息,请求正文
  • 对于HTTP响应,包括响应状态行,响应头信息,响应正文
1.png
3 serverResponse对象

3-1) res就是ServerRespnose对象,服务器端的响应对象

  • 用来写http响应,包括响应状态行,响应头信息和响应正文
  • 是自动创建好的,作为回调函数的参数,自动创建好一个对象
  • 在createServer方法中的回调函数中,作为第二个函数来出现
  • 类似于DOM编程中的事件对象

3-2) 重要方法和属性

  • writeHead:响应头写入请求 //只能调用一次
  • write:把数据写入响应正文
  • end:完成响应,可以同时写入数据 //只能调用一次
  • setHeader:设置特定的HTTP头信息
  • getHeader:获取在响应头指定的HTTP头信息
4 IncomingMessage对象

IncomingMessage是在请求和响应时,自动生成的一个对象,其作用是获取双方(server和client)的一些信息
4-1) 站在incomingMessage就是createServer回调函数中的req参数

4-1) 重要方法和属性

  • httpVersion:请求/响应的HTTP版本
  • headers:请求/响应头信息
  • rawHeaders:原始请求/响应头请求
  • method:请求方式
  • url:请求的URL字符创
  • statusCode:响应状态码
5 URL路由

URL:Uniform Resource Locator(统一资源定位器)
5-1)

6 页面的载入(静态)
7 请求方式

你可能感兴趣的:(web架构及HTTP协议)