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

迪庆北京网站建设百度网络营销中心官网

迪庆北京网站建设,百度网络营销中心官网,WordPress漏洞报告,最新广告公司经营范围文章目录一. 概念二. 请求报文的组成三.HTTP请求行四.HTTP请求头五.HTTP的请求体六.响应报文的组成七.创建HTTP服务八.获取HTTP请求报文九.HTTP设置响应十.GET和POST请求的区别一. 概念 HTTP协议. 中文叫超文本传输协议; 是一种基于TCP/IP的应用层通信协议; 这个协议详细规定了…

文章目录

    • 一. 概念
    • 二. 请求报文的组成
    • 三.HTTP请求行
    • 四.HTTP请求头
    • 五.HTTP的请求体
    • 六.响应报文的组成
    • 七.创建HTTP服务
    • 八.获取HTTP请求报文
    • 九.HTTP设置响应
    • 十.GET和POST请求的区别

一. 概念

  1. HTTP协议. 中文叫超文本传输协议; 是一种基于TCP/IP的应用层通信协议; 这个协议详细规定了浏览器和万维网服务器之间互相通信的规则
  2. 协议中主要规定了两个方面的内容
    • 客户端: 用来向服务器发送数据, 可以被称为请求报文
    • 服务端: 向客户端发送数据, 可以被称为响应报文

二. 请求报文的组成

  • 请求行
  • 请求头
  • 空行
  • 请求体

三.HTTP请求行

  • 请求方法: get post put delete等

  • 请求URL(统一资源定位器)

    http://www.baidu.com:80/index.html?a=100#logo

    • http: ------- 协议(https ftp ssh等)
    • www.baidu.com ------- 域名
    • 80 ------- 端口号
    • /index.html ------- 路径
    • a=100 ------- 查询字符串
    • #logo ------- 哈希(锚点链接)

四.HTTP请求头

格式: 头名:头值

请求头请求值
Host主机名
Connection连接的设置keep-alive(保持连接);close(关闭连接)
Cache-Control缓存控制max-age=0(没有缓存)
Upgrade-Insecure-Requests将网页中的http请求转化为https请求
User-Agent用户代理,客户端字符串标识, 服务器可以通过这个标识来识别这个请求来自哪个客户端, 一般在PC端和手机端的区分
Accept设置浏览器接收的数据类型
Accept-Encoding设置接收的压缩方式
Accept-Language设置接收的语音q=0.7为喜好系数,满分为1
Cookie浏览器的缓存

五.HTTP的请求体

请求体类型

  • 字符串
  • JSON

六.响应报文的组成

  1. 响应行

    HTTP/1.1 200 OK
    
    • HTTP/1.1: HTTP协议版本号
    • 200: 响应状态码, 点击打开状态码参考连接
    • OK: 响应状态描述

    响应状态码和响应字符串关系是一一对应的

  2. 响应头

    • Cache-Control:缓存控制private私有的, 只允许客户端缓存数据
    • Connection: 链接设置
    • Content-type: text/html;charset=utf-8 设置响应体的数据类型以及字符集, 响应体为html, 字符集utf-8
    • Content-Length: 响应体的长度,单位为字节
  3. 空行

  4. 响应体

    响应体内容常见的类型有HTML、CSS、JS、图片、JSON

七.创建HTTP服务

  1. 导入HTTP模块
  2. 创建服务对象 create创建server服务
  3. 监听端口, 启动服务, 默认端口为803佳美娜1
// 1. 导入HTTP模块
const http = require('http')//2. 创建服务对象 create创建server服务
/*** 2.1. request为请求, 是对请求报文的封装, 通过request对象可以获得请求报文的数据* 2.2. response为响应, 是对响应报文的封装对象, 通过response对象可以设置响应报文* 2.3 http.createServer里回调函数的执行时期: 当接受到HTTP请求时就会执行*/
const server = http.createServer((request,response) => {// 解决中文乱码response.setHeader('content-type','text/html;charset=utf-8')response.end("你好!")
})//3. 监听端口, 启动服务, 默认端口为80
server.listen(9000,()=>{console.log('服务已启动, 链接为http://127.0.0.1:9000')
})

八.获取HTTP请求报文

获取请求的数据,需要通过request对象

  • 获取请求方法
  • 获取请求版本
  • 获取请求路径
  • 获取URL路径
  • 获取URL查询字符串
  • 获取请求头
  • 获取请求体
const server = http.createServer((request,response) => {/*** 获取HTTP请求报文* 1.获取请求方法* 2.获取请求版本* 3.获取请求路径* 4.获取URL路径* 5.获取URL查询字符串* 6.获取请求头* 7.获取请求体*/console.log(request.method) //POSTconsole.log(request.httpVersion)//1.1//3 只能获取路径以及查询字符串,无法获取URL中的域名以及协议的内容console.log(request.url)// /?name=zhangsanconsole.log(require('url').parse(request.url).pathname) // ///5.不加第二个参数true, 返回的为字符串, 加上后返回对象console.log(require('url').parse(request.url,true).query) // name=zhangsanconsole.log(request.headers)// {//   'user-agent': 'PostmanRuntime/7.28.4',//   accept: '*/*',//   'postman-token': '2837a024-bfa0-4ad7-ba76-93522f052301',//   host: '127.0.0.1:9000',//   'accept-encoding': 'gzip, deflate, br',//   connection: 'keep-alive',//   'content-type': 'application/x-www-form-urlencoded',//   'content-length': '10'// }//4.7 获取请求体let body = ""request.on('data', chunk => {body += chunk})request.on('end',()=>{console.log(body)// name2=lisi// 解决中文乱码response.setHeader('content-type','text/html;charset=utf-8')response.end(body)})})
  • 获取请求路径和查询字符串第二种方法
  //实例化URL对象 new URL (input[, base])let urlObj = new URL (request.url, 'https://127.0.0.1')console.log(urlObj)console.log(urlObj.searchParams) // 获取网址查询参数的`URLSearchParams`对象,此属性是只读的 URLSearchParams { 'name' => '123' }console.log(urlObj.searchParams.get('name')) //123/*** URL {href: 'https://127.0.0.1/login?name=123',origin: 'https://127.0.0.1',protocol: 'https:',username: '',password: '',host: '127.0.0.1',hostname: '127.0.0.1',port: '',pathname: '/login',search: '?name=123',searchParams: URLSearchParams { 'name' => '123' },hash: ''}*/

九.HTTP设置响应

//1.导入http模块
const http = require('http')
//2.创建服务对象
const server = http.createServer((request,response)=>{/*** 设置http响应报文* 1.设置响应状态码* 2.设置响应状态描述* 3.设置响应头* 4.设置响应体*///1.设置响应状态码response.statusCode = 201//2. 设置响应状态描述response.statusMessage = 'success'// 3.设置响应头response.setHeader('server','test')response.setHeader('test',['a','b','c']) //可以创建多个相同键的响应头//4.设置响应体response.write('123456')response.end('hello')
})
//3.监听端口启动服务
server.listen(8001,()=>{console.log('服务已经启动,链接为http://127.0.0.1:8001')
})

十.GET和POST请求的区别

GET和POST是HTTP协议请求的两种方式

  • GET主要用来获取数据, POST主要用来提交数据
  • GET带参请求, 是将参数缀到URL之后, 在地址栏中输入url访问网站就是GET请求; POST带参请求是将参数放到请求体中
  • POST请求相对GET更安全一点, 因为GET在浏览器中参数会暴露在地址栏
  • GET请求大小有限制, 一般为2K, 而POST请求则没有大小限制
http://www.yidumall.com/news/47261.html

相关文章:

  • 东莞网站制作网站设计自动外链工具
  • 电子商务网站建设作业代码搜索引擎优化的方法
  • 网站建设组织西安竞价托管代运营
  • 做网站服务器收费吗江西省水文监测中心
  • 网站建设难点黑帽seo技术论坛
  • 网站里面的数据库是怎么做的阿拉善盟seo
  • 网站建设08抖音引流推广怎么做
  • 我想做个网站怎么做优化标题关键词技巧
  • 模板网站制作时间seo网络推广知识
  • 蒙牛网站建设河北seo网络推广
  • 单位的网站建设费如何核算西安关键词排名优化
  • 建网站做淘宝客可以吗房地产销售工作内容
  • 怎么用php源代码做网站使用百度地图导航收费吗
  • wordpress翻译软件百度官方优化指南
  • 五金网站模板百度新闻排行榜
  • 做网站简单还是写程序怎样进行seo优化
  • 网站怎么做推广和优化网络营销课程报告
  • 上海招聘网最新招聘seo站长工具推广平台
  • 网络科技有限公司有哪些优化软件
  • 苏州设置网站建设第一营销网
  • 六安电商网站建设哪家好公司网页设计
  • 网站建设吉金手指排名14福州短视频seo机会
  • 东莞大岭山网站制作做销售有什么技巧和方法
  • 滕州盛扬网络公司网站建设推广ios aso优化工具
  • 丹阳网站建设报价信息如何优化上百度首页公司
  • 做网站网站建设手机管家一键优化
  • 易商官方网站百度游戏客服在线咨询
  • 网站开发费用多少自媒体培训
  • 如何加强省市级门户网站的建设网站seo优化的目的
  • 做测试题的网站泰安网络推广培训