博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTTP协议
阅读量:4881 次
发布时间:2019-06-11

本文共 1495 字,大约阅读时间需要 4 分钟。

HTTP协议的概念

超文本传世协议(Hyper Text Transfer Protocol) 规定了如何从网站服务器传输超文本到本地浏览器,它基于客户端服务器架构工作,是客户端(用户)和服务器端(网站)请求和应答的标准。

 

报文

在HTTP请求和响应的过程中传递的数据块就叫报文,包括要传送的数据和一些附加信息,并且要遵守规定好的格式。

请求方式(Request Methods): 

  • GET 请求数据
  • POST 发送数据
  • req.method 获取请求方式
  • req.url 获取请求地址
  • req.headers 获取请求报文
  • Reponse: 显示的是服务器响应给客户端的内容
  • // 请用系统模块const http = require('http')// 创建Web服务器const app = http.createServer()// 当客户端发送请求的时候app.on('request', (req, res) => {  // 获取请求的方式 req.methods  console.log(req.method) //  获取请求方式  console.log(req.headers) // 获取请求报文  console.log(req.url) // 获取请求地址  if (req.url == '/index' ) {    res.end('index')  } else if ( req.url == '/login') {    res.end('login')  } else {    res.end('not found')  }  // 响应  return res.end('hello word')})// 监听3000端口app.listen(3000)console.log('服务器启动成功,监听端口:3000')

     

响应报文

1. HTTP 状态码

  • 200 请求成功
  • 404 请求的资源没有找到
  • 500 服务器端错误
  • 400 客户端请求语法错误

2. 修改状态码

res.writeHead(500)

3.  res.writeHead() 内容类型

  • text/html
  • text/css
  • application/javascript
  • image/jpeg
  • application/json 

4.req.url () 请求地址

5.url.parse() 处理URL地址

  • 参数一:要解析的url地址
  • 参数二:将查询参数解析成对象形式
const url = require('url')url.parse(req.url, true)

 

6.路由

1 app.on('request', (req, res) => {
5 let {pathname} = url.parse(req.url) 6 7 if (pathname == '/index' ) { 8 res.end('index') 9 } else if ( pathname == '/login') {10 res.end('login')11 } else {12 res.end('not found')13 }14 })

 

7. 静态资源

服务器端不需要处理,可以直接响应给客户端的资源就是静态资源,例如css、javascript 、image

8. 动态资源

相同的请求地址不同的响应资源,这种资源就是动态资源。

 

转载于:https://www.cnblogs.com/liea/p/11219114.html

你可能感兴趣的文章
洛谷1423 小玉在游泳
查看>>
java中split()特殊符号"." "|" "*" "\" "]"
查看>>
Java字节流与字符流的区别
查看>>
Reactive Extensions介绍
查看>>
【Language】Popular Javascript Convention on Github
查看>>
oracle spatial 创建空间字段索引 创建字段索引 完善SQL语句实例二
查看>>
[15] 星星(Star)图形的生成算法
查看>>
三体运动的程序模拟
查看>>
敏捷开发综述
查看>>
04: 层级评论
查看>>
CentOS Nginx MySQL PHP 环境搭建 (Version 1.0)
查看>>
ASP.NET图片上传,加水印文字和水印图片!
查看>>
初学java-基础
查看>>
node-sass 报错的解决方法
查看>>
Get IPv4 Address 2.0
查看>>
Let's-Bug修复日志
查看>>
Java中String类(字符串操作)的10个常见问题和解决方法
查看>>
电子书下载:Microsoft Windows Workflow Foundation 4.0 Cookbook
查看>>
centos7用docker安装elasticsearch5.6.13的主从
查看>>
jmeter跟随重定向与自动重定向区别
查看>>