C#的 HTTP 协议中 POST 与 GET 的区别
引言
HTTP 协议我想任何 IT 人士都耳熟能详了,大家都能说出个所以然来。但是如果我问你 HTTP 协议的请求
方法有哪些?POST 与 GET 的差异?GET 或 POST 传送数据量的大小有限制吗?HTTP 响应的状态有哪
些?以及在 C#中你如何使用?如果你不能清楚地回答其中的大部分问题,那么这篇文章就是为你准备的!
大纲如下:
1、HTTP 概述
o
o
o
o
1.1、HTTP 协议的客户端与服务器的交互
1.2、HTTP 消息
1.3、HTTP 请求的方法
1.4、HTTP 响应的代码
2、抓包分析
3、POST 与 GET 的差异
4、以一个实例说明 C#中如何使用 POST、GET 等操作
o
o
o
4.1、HttpWebRequest
4.2、HttpWebResponse
4.3、编写 WinForm 程序打开博客园首页(附源码)
1、HTTP 概述
为了唤醒你对 HTTP 协议的记忆或使你能够对 HTTP 协议有所了解,首先简单一下 HTTP 协议。超文本传
输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW 文
件都必须遵守这个标准。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。
HTTP 的发展是万维网协会(World Wide Web Consortium )和 Internet 工作小组(Internet Engineering Task
Force)合作的结果,(他们)最终发布了一系列的 RFC,其中最著名的就是 RFC 2616。RFC 2616定义了
HTTP 协议中一个现今被广泛使用的版本——HTTP 1.1。
1.1、HTTP 协议的客户端与服务器的交互
HTTP 是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使
用 Web 浏览器、网络爬虫或者其它的工具,客户端发起一个到服务器上指定端口(默认端口为80)的 HTTP
请求。(我们称这个客户端)调用户代理(user agent)。应答的服务器上存储着(一些)资源,比如 HTML
文件和图像。(我们称)这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在
多个中间层,比如代理,网关,或者隧道(tunnel)。尽管 TCP/IP 协议是互联网上最流行的应用,HTTP 协
议并没有规定必须使用它和(基于)它支持的层。事实上,HTTP 可以在任何其他互联网协议上,或者在
其他网络上实现。HTTP 只假定(其下层协议提供)可靠的传输,任何能够提供这种保证的协议都可以被
其使用。
通常,由 HTTP 客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的 TCP 连接。HTTP
服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,
比如"HTTP/1.1 200 OK" ,和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一
些信息。
HTTP 使用 TCP 而不是 UDP 的原因在于(打开一个)一个网页必须传送很多数据,而 TCP 协议提供传输
评论0
最新资源