winform接收http请求_HTTP基础入门
一、什么是HTTP
HTTP也叫超文本传输协议(HyperText Transfer Protocol),它负责浏览器和服务器之间请求和响应的应用层通信协议。由于HTTP协议简单,实现容易,从它诞生开始就广受欢迎。HTTP使用最广泛的版本是HTTP 1.1。2015年5月以RFC 7540文件发表的HTTP2.0标准是现在推行的版本。
HTTP分为HTTP请求报文和HTTP的响应报文,下面由我来带大家简单学习一下HTTP。
二、HTTP请求报文
1、组成部分
有四个部分组成,分别如下
1.请求行(请求方法 路径 协议/版本)
2.请求头(Content-Type、Host(必选)、User-Agent、Accept-Charset、Accept-Encoding、Accept-Language等)
3.空行
4.其他消息体(这部分可选,可以没有)
2、命令行查看HTTP请求内容
就拿我们向百度首页发一个请求来看
首先我们在终端输入下面一行命令
curl -v "https://www.baidu.com"
回车,然后就会输出很多行信息回来,*开头的是注释,>开头的是请求,<开头的是响应(等下会讲)
请求情况如下
> GET / HTTP/1.1
> Host: www.baidu.com
> User-Agent: curl/7.54.0
> Accept: */*
>
GET / HTTP/1.1 第一部分,请求行部分,GET是请求方法,/是路径, HTTP/1.1 是版本号;
Host: www.baidu.com 第二部分,请求头
User-Agent: curl/7.54.0 第二部分,请求头, 发送请求的应用程序名称是curl/7.54.0
Accept: / 第二部分,请求头, 浏览器可接受的MIME类型是接收任意类型
空行 第三部分,为了区分第二部分和第四部分
第四部分,没有要上传的数据,所以为空
3、用Chrome开发者工具查看 HTTP 请求内容
(1).空白页面输入http://www.baidu.com但不要按回车键 >>>浏览器主体内任意一个位置右键》》检查(Inspect)>>>选择Network>>>搜索框回车,就有很多请求答应信息
(2).点击http://www.baidu.com这个,操作如下图:
![](/assets/blank.gif)
(3).然后点击Headers>>>Request Headers隔壁的view source按钮,步骤如下图
![](/assets/blank.gif)
(4).就可以查看到请求信息啦,请求信息如下图:
![](/assets/blank.gif)
chrome查看HTTP步骤三
三、关于curl
curl:是一个利用URL规则在命令行下工作的文件传输工具,它是一个强大的开发工具。具体用法请查看这篇文章curl网站开发指南
语法:curl(选项)(参数)
-v:可以显示一次http通信的整个过程,包括端口连接和http t头信息。
curl其他选项请查看这篇文章curl命令
四、HTTP响应报文
1、组成部分
响应报文也有四个部分组成,分别如下
1.响应行(协议/版本号 状态码 状态解释)
2.响应头(例如:Content-Length、Content-Type、Server、Date、Content-Type等)
3.空行
4.要下载的内容
2、命令行查看HTTP响应内容
还是查看刚才的curl命令
curl -v "https://www.baidu.com"
响应内容是以<开头,情况如下:
<
HTTP/1.1 200 OK 是第一部分,响应行,HTTP/1.1 是版本号,200是状态码,OK是状态解释
从Accept-Ranges到Set-Cookie是第二部分,响应头,响应页面的相关信息,响应头具体说明情况,请看这里HTTP 响应头信息
空行 第三部分,为了区分第二部分和第四部分
HTML格式的文本组成了baidu的主页,第四部分
3、用Chrome开发者工具查看 HTTP 响应内容
(1).还是跟请求一样步骤一样,空白页面输入http://www.baidu.com但不要按回车键 >>>浏览器主体内任意一个位置右键>>>检查(Inspect)>>>选择Network>>>搜索框回车,就有很多请求答应信息
(2).还是跟请求一样步骤一样,点击http://www.baidu.com这个。
(3).这里开始不同啦,要注意哦。点击Headers>>>Response headers隔壁的view source按钮,步骤如下图
![](/assets/blank.gif)
(4).这样我们就可以在Chrome开发者工具查看 HTTP 响应内容啦,具体如下图
![](/assets/blank.gif)
五、前端面试HTTP知识点
1.请求方法有那些?
HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。
2.响应状态码分类:
1XX:信息,服务器收到请求,需要请求者继续执行操作(不常用)
2XX:成功,操作被成功接收并处理
3XX:重定向,需要进一步的操作以完成请求
4XX:客户端错误,请求包含语法错误或无法完成请求
5XX:服务器错误,服务器在处理请求的过程中发生了错误
六、参考资料:
[curl网站开发指南 - 阮一峰的网络日志](http://www.ruanyifeng.com/blog/2011/09/curl.html)
[HTTP 响应头信息 | 菜鸟教程](HTTP 响应头信息 | 菜鸟教程)
[HTTP状态码 | 菜鸟教程](HTTP状态码 | 菜鸟教程)
winform接收http请求_HTTP基础入门相关推荐
- winform接收http请求_web前端面试题对答篇:HTTP fetch发送2次请求的原因?
HTTP fetch发送2次请求的原因?面对这道出现频率较高的面试题,我想说的是:发送两次请求的情况确实存在,但这与你所使用的是不是http协议,所采用的是不是fetch真的没有一毛钱关系! 接下来, ...
- 【一学就会的ROS基础入门教程 】03-1 ROS基础编程:ROS工作空间的创建、话题topic的发布与接收、以及话题消息的自定义使用
[一学就会的ROS基础入门教程 ]03-1 ROS基础编程:ROS工作空间的创建.话题topic的发布与接收.以及话题消息的自定义使用 文前白话 1.创建工作空间与功能包 关于工作空间的介绍 创建开发 ...
- Python 线程池 ThreadPoolExecutor(二) - Python零基础入门教程
目录 一.Python 线程池前言 二.Python 线程池 ThreadPoolExecutor 常用函数 1.线程池 as_completed 函数使用 2.线程池 map 函数使用 3.线程池 ...
- form表单中根据值判断是否disabled_Java 0基础入门 (Html表单、表单元素)
上一篇:Java 0基础入门 (Html标签的使用) 表单在网页中主要负责数据采集功能. 一.表单实际应用场景 百度搜索 5173注册 如上两张图,图中的黑色线条是我画上去的,如果按照黑线,在Excl ...
- Arduino零基础入门
Arduino零基础入门 arduino学习笔记1 - 什么是arduino? 要了解arduino就先要了解什么是单片机,arduino平台的基础就是AVR指令集的单片机. 1.什么是单片机?它与个 ...
- 网络安全之基础入门(一)
前言:好久没有更新了,主要看了我之前的文章,觉得有些滥竽充数,以后我尽量保证每篇文章的质量,所以更新周期可能慢一点 基础入门 壹.基础概念 域名 1.什么是域名 域名(英语:Domain Name), ...
- Linux基础入门--驱动开发--USB
Linux基础入门--驱动开发--USB 1.基本概念 2.组成结构 2.1 设备描述符 2.2 配置描述符 2.3 接口描述符 2.4 端点描述符 2.5 字符串描述符 3.管道 4.端点分类 4. ...
- WIFI基础入门--802.11--成帧细节(管理帧)--5
WIFI基础入门--802.11--成帧细节--管理帧--5 1.概述 2.管理帧的结构 2.1 计算持续时间 2.2 帧主体 3.固定字段 3.1 Authentication Algorithm ...
- FPGA基础入门【12】开发板USB鼠标控制
上一篇教程介绍了NEXYS4 开发板中UART串口通信的使用方式,这一篇介绍USB接口接收鼠标和键盘信号 FPGA基础入门[12]开发板USB鼠标控制 开发板USB芯片 信号时序图 鼠标初始化 逻辑设 ...
- WIFI基础入门--802.11k--无线局域网络频谱测量
WIFI基础入门--802.11k--无线局域网络频谱测量 1.介绍 2.定义 3.缩写和首字母缩写 4.无线局域网无线电测量(Wireless LAN Radio Measurements) 4.1 ...
最新文章
- ibm750服务器维护,IBM 750服务器.PDF
- 简述泛型的上界和下界?
- java中pack函数_java - Java函数pack(),JFrame大小 - 堆栈内存溢出
- 计算广告 pdf_他创业20年死磕PDF一项业务,如今上市身家76亿:所有的突然牛逼,背后都是玩命死磕...
- 利用预渲染加速iOS设备的图像显示
- 留学计算机美国硕士,美国硕士留学计算机专业申请详细分析
- SharePoint Secure Store Service(SSSS)的使用(一)
- 【Oracle】解锁用户
- 数据结构c语言版编程软件,数据结构严蔚敏4版PDF下载_数据结构C语言版严蔚敏下载 完整版_当载软件站...
- 复杂UI卡顿问题没想到还能这么优化?
- 微信小程序 关于下载文件、打开文件预览文件(wx.downloadFile和wx.openDocument)
- 控制反转和依赖注入/ scop
- ArcGIS中坐标转换与投影变换
- Android实现垂直型的SeekBar
- 操作Oracle类型CLOB和BLOB
- HTML5期末大作业:日式料理网站设计——简洁日式料理餐饮(4页) HTML+CSS+JavaScript 父亲美食HTM5网页设计作业成品
- 2022-2028全球与中国电梯维修保养服务市场现状及未来发展趋势
- python我的世界脚本方块_ScriptBlockPlus下载
- 沁恒CH554 KEIL环境搭建
- 为什么现在流行resultful,webservice无人问津?