基于http协议的Web服务器

2023-11-11

原理:由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认端口:80)的TCP连接。HTTP在此端口监听客户端发送过来的请求。一旦收到请求,服务器向客户端回复一个状态行,比如:“HTTP/1.0 200 OK”,和响应消息。

HTTP协议:

超文本传输协议,是互联网上使用的最广泛的协议,HTTP是一个客户端和服务器端请求和应答的标准(TCP)。

HTTP请求:

HTTP请求由以下部分组成

  • 请求行:请求方法,请求URL,协议版本
  • 请求头:包含若干属性,格式为“属性名:属性值”,服务端据此获取客户端的信息。
  • 空行:
  • 请求体:传递请求参数

 

 HTTP响应:

HTTP响应由以下部分组成

  • 状态行:协议版本,状态码,状态码描述
  • 响应头部:头部字段名,字段值
  • 空行:
  • 响应正文:响应的参数

 基本思想:

  了解TCP协议:https://blog.csdn.net/yh971660526/article/details/82930041

  1. HTTP协议是基于TCP的通信协议(连接可靠性),实现两台主机不同进程之间的通信(客户端和服务器)。通过socket建立通信。
  2. 服务器接收客户端请求后,分析请求方法(GET(从指定的资源请求数据,参数在URL中)、POST(向指定的资源提交    要被处理的数据,参数在请求正文中)等)。
  3. 拿到请求的URL
  4. 判断资源是否存在,以网页的形式返回给客户端或返回错误。

http_server.c

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于http协议的Web服务器 的相关文章

  • 基于http协议的Web服务器

    原理 由HTTP客户端发起一个请求 建立一个到服务器指定端口 默认端口 80 的TCP连接 HTTP在此端口监听客户端发送过来的请求 一旦收到请求 服务器向客户端回复一个状态行 比如 HTTP 1 0 200 OK 和响应消息 HTTP协议
  • Java项目——文档搜索引擎

    文章目录 1 项目概述 2 准备阶段 2 1 项目创建 2 2 准备静态页面 3 搜索逻辑 4 分词 5 处理 HTML 文件 5 1 枚举文件夹中所有文件 5 2 预处理文件 5 2 1 获取标题 5 2 2 获取 URL 5 2 3 获
  • 项目管理在公司的主要作用是什么?

    项目管理不光是需要公司的支持和承接项目就可以的 还需要项目管理者多方面的把控 以及执行才会达到更好 那么项目管理的主要作用是什么了 1 提升项目本身的经济效益 项目管理通过对时间 成本的掌控 达到项目的经济效益最大化 保证了公司的良性发展
  • springboot实现ApplicationContextAware接口、使用ThreadLocal获得当前上下文请求的HttpServletRequest

    前端请求的参数可以用requestparam requestbody获得 也可以用HttpServletRequest来获得参数 这里讲用HttpServletRequest来获取前端参数的办法 举例 GetMapping index do
  • 高德地图定位

    高德地图开放平台 获取key 获取key值后 将其在index html中引入 然后来到App vue下 即根组件下 一进项目就可以获取定位 所以在钩子函数created 中实现定位功能
  • 05-网络的四层协议和七层协议

    TCP IP网络分层模型 TCP IP的设计创造性的提出了分层的概念 把复杂的网络通信划分出多个层次 再为每一个层次分配不同的职责 层次内只专心做好自己的事情 用分而治之的思想把一个大麻烦拆分成了数个小麻烦 从而解决了网络的难题 TCP I
  • 用JAVA中的URL获取网页相关信息

    ava中有一个URL类 可以获取指定url的内容 import java io BufferedReader import java io InputStreamReader import java net URL public class
  • 在职场中哪些人不会被企业团队选用?在企业团队中哪些人不能用?

    企业团队离不开员工的打拼 那么现在人才济济的社会 企业团队中那些人是不能用的 小人不能用 当今社会我们评论一个人的好坏 首先看到的是他的道德品质 当一个人的道德品质不行 道德品行很差时 我们统称这类人为小人 都说远小人 在职场中也一样 小人
  • 五大开源Web服务器

    开源产品的出现不仅获得了个人用户的喜爱 众多知名企业也青睐于它 虽然开源产品数不胜数 但并不是每一个开源产品都能被广泛应用并得到大众的好评 在众多成功的开源产品中 只有少数领头羊 而其它产品只能望其项背 本文汇总了五款开源Web服务器 来看
  • 博客系统自动化测试项目实战(测试系列9)

    目录 前言 1 博客前端页面测试用例图 2 测试用例的代码实现 2 1登录页面的测试 2 2博客列表页面的测试 2 3写博客测试 2 4博客详情页面的测试 2 5已发布博客的标题和时间的测试 2 6注销用户的测试 结束语 前言 之前小编给大
  • Nodejs学习

    本周我们主要学习了Nodejs相关知识 我也整理了一些相关知识点 首先呢 我们要了解Nodejs不是一门语言 也不是库 不是框架 而是一个JavaScript运行时环境 也就是说它可以解析和执行JavaScript代码 我们知道 浏览器中的
  • java中的service层,dao层,controller层的理解

    基本概念 DAO层 DAO层叫数据访问层 属于一种比较底层 比较基础的操作 具体到对于某个表的增删改查 也就是说某个DAO一定是和数据库的某一张表一一对应的 其中封装了增删改查基本操作 Service层 Service层叫服务层 被称为服务
  • http和https协议

    HTTP协议 简介 HTTP是Hyper Text Transfer Protocol 超文本传输协议 的缩写 HTTP是一个属于应用层的面向对象的协议 由于其简捷 快速的方式 适用于分布式超媒体信息系统 HTTP协议以明文方式发送内容 不
  • 基于SSM的图书管理系统

    一 系统简介 该项目是基于Java的SSM框架实现的图书管理系统 二 技术实现 1 后台框架 Spring SpringMVC MyBatis Ajax 2 UI界面 BootStrap 3 数据库 MySQL 5 7 4 加密 md5 随
  • 计算机毕业设计-基于微信小程序高校学生课堂扫码考勤签到系统-校园考勤打卡签到小程序

    注意 该项目只展示部分功能 如需了解 评论区咨询即可 本文目录 1 开发环境 2 系统的设计背景 3 各角色功能模块 3 1 用户 3 2 管理员 4 系统页面展示 4 1 学生端功能模块展示 4 2 教师端功能模块展示 5 更多推荐 6
  • Nginx配置文件详细说明

    原创 http www cnblogs com xiaogangqq123 archive 2011 03 02 1969006 html 在此记录下Nginx服务器nginx conf的配置文件说明 部分注释收集与网络 运行用户 user
  • 使用Java socket简单模拟HTTP服务器

    1 HTTP server 接收client端的http请求并将同级目录的root 返回 package httpDemo import java io InputStream import java io OutputStream imp
  • Python爬虫之爬取CSDN人工智能栏目的文章

    在进行正式开始爬虫之旅前 我们要认识几个Python库 urllib2 Python标准库 该库中提供了一系列针对url的操作方法 re Python标准库 提供了一系列针对字符串匹配的方法 BeautifulSoup4 最主要的功能是从网
  • Http协议详解

    引入 超文本传输协议 HTTP HyperText Transfer Protocol 是互联网上应用最为广泛的一种网络协议 所有的WWW文件都必须遵守这个标准 设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法 1960年美
  • http服务器_本地简易http服务器

    本地简易http服务器 下面实现一个简单的http服务器 听起来高大上的样子 其实就是网络通信加上http协议 运用上篇的网络编程的基础模型 上篇的网络通信是开两个vs程序 一个做服务器 一个做客户端 互相发送数据 http服务器其实也是同

随机推荐

  • 科普——未知的公共免费WIFI存在的风险及隐患

    就现阶段 我们打开手机WIFI功能 无论何时何地都能发现很多位置来源的免费WIFI 这些WIFI一般都不需要密码 可是 它们真的安全吗细节不讲 如果你连到了陌生的wifi 你用浏览器去登录一些网站 你看到的是这样的 然而 当你点击登陆 在别
  • 【华为OD机试真题 JAVA】最长连续子序列

    标题 最长连续子序列 时间限制 1秒 内存限制 262144K 语言限制 不限 有N个正整数组成的一个序列 给定整数sum 求长度最长的连续子序列 使他们的和等于sum 返回此子序列的长度 如果没有满足要求的序列 返回 1 输入描述 序列
  • 解决BeanUtils.copyProperties不能复制集合类型

    解决BeanUtils copyProperties不能复制集合类型 1 背景 日常项目中 后台从 数据库 中获取的数据用DTO实体类接收 后台返回给 前台 的实体类是VO DTO和VO的属性字段个数大致相同 一般来说VO可能比DTO多 工
  • 解决打开javaweb项目外部资源的问题。

    a href xx 可以轻松打开web内部的资源如pdf excel 外部的资源点击无反应 可以采取将外部资源复制到项目中 然后再用 a href xxx 文件复制代码 亲测试 txt pdf jpg可以复制 代码在百度上搜到的 impor
  • K8S集群中部署服务之应用环境配置

    微服务项目sangomall应用环境配置说明 一 应用环境配置文件创建 可以创建多个application properties或application yml文件 通过关键配置进行激活使用 例如测试环境和生产环境等 1 1 创建开发环境
  • [Setting]win7下运行exe失败:应用程序无法启动,因为应用程序的并行配置不正确

    win7下运行exe失败 应用程序无法启动 因为应用程序的并行配置不正确 1 问题描述 承接了一个项目 给甲方交接的时候 在它的电脑中运行出现了这个错误 应用程序无法启动 因为应用程序的并行配置不正确 有关详细信息 请参阅应用程序事件日志
  • stm32从keil安装到程序烧录

    1 准备工具 1 一块stm32板 我用的是芯片型号是stm32L151C8T6 2 keil5软件 可以到官网下载 https www keil com download product 也可以直接下载网友的版本 我这里用的是keil5
  • MySQL8.0连接url

    这些错误是很让人崩溃的 在连接数据库配置都没错 jar包也有 但是还是报 首先第一个报错是系统安全性和时区配置的问题 MySQL8 0不同于之前的版本 存在安全检测的问题 所以在设置url的时候需要jdbc mysql localhost
  • 我是如何利用业余时间写书的?---时间管理

    低级的欲望放纵即可获得 高级的欲望只有克制才能达成 卡耐基 粉丝的误会 很多粉丝 问我 彭老师你是不是自己创业了 彭老师我想报您的培训班 得知我知识业余时间写文章 紧接着又会问 jg单位这么清闲啊 你居然有这么多时间写文章的 而且你文章很深
  • 将浮点型数转换为字符串类型数(小数点保留多位)(qt)

    1 实现将浮点类型的数转换为字符串类型的数 char data 20 double a 1 02356 gcvt s data a 3 最后结果显示三位 输出的结果四舍五入为1 02 QString str QString 1 arg da
  • 检验身份证号的有效性并输出有问题的号码

    摘要 一个合法的身份证号码共18位 由17位地区 日期编号和顺序编号加1位校验码组成 校验码的计算规则如下 首先对前17位数字加权求和 权重分配为 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 然后将计算的和对11
  • Eigen优化实录

    原文 https www zhihu com question 28571059 sort created 以前也觉得 Eigen 很快 感觉和 mkl 可以媲美 但是昨天 debug 时一行一行看时间 发现这样一个矩阵乘法 要算将近一秒
  • Tomcat中配置SSL

    Tomcat网站上 http tomcat apache org tomcat 5 5 doc ssl howto html Edit 20the 20Tomcat 20Configuration 20File 有相关配置SSL的介绍 建议
  • android app检测更新,GitHub - bai53229/UpdateDemo: android app自动检测更新库

    UpdateFun更新库 UpdateFun是一个fir im的Android更新下载模块 在fir im上上传自己的APP后接入该库即可实现检查更新下载 用法 Step 1 在gradle文件中加入下面的依赖 dependencies c
  • Blender基本使用(个人笔记)

    界面移动 按住鼠标滚轮以一点为中心进行视图旋转 同时按住shift和鼠标滚轮可平移视图 滚动鼠标滚轮进行视图的缩放 按下小键盘1 3 7进入前视图 右视图 俯视图 以及CTRL 1 CTRL 3 CTRL 7查看后视图 左视图 底视图 AL
  • Wireshark抓包——IP协议分析

    一 实验目的 通过本次实验 掌握使用Wireshark抓取TCP IP协议数据包的技能 能够深入分析IP帧格式 通过抓包和分析数据包来理解TCP IP协议 进一步提高理论联系实践的能力 二 实验内容 1 本次实验重点 利用Wireshark
  • 浏览器(Microsoft Edge)主页被360劫持的终极解决办法

    今天开启Microsoft Edge发现主页变成了360搜索的主页 心里很膈应 我的电脑里没有安装任何360的软件 不知道是怎么被改动了 可能是装其他软件时被篡改了 尝试一 更改edge浏览器的设置 即使设置了打开特定网址 再次打开依然是3
  • 笔记本电脑亮度突然无法用快捷键调节

    重装系统后 笔记本的亮度无法调节始终为最高亮度 一度以为是系统问题 重装了显卡驱动也无效 该问题困扰了我半年之久 今天终于解决了 1 故障现象 笔记本的屏幕亮度无法调节 快捷键 失效 重装显卡驱动 无效 2 原因分析 这是因为电脑安装了某个
  • char和varchar简单比较

    区别 char varchar 最大长度 255字符 65535字符 长度设置 定长 变长 空间使用 浪费空间 节省空间 查找效率 较高 较低 解读varchar 20 字段最多存放20个字符 varchar 20 和varchar 200
  • 基于http协议的Web服务器

    原理 由HTTP客户端发起一个请求 建立一个到服务器指定端口 默认端口 80 的TCP连接 HTTP在此端口监听客户端发送过来的请求 一旦收到请求 服务器向客户端回复一个状态行 比如 HTTP 1 0 200 OK 和响应消息 HTTP协议