摸索http请求

原创 2016年08月30日 13:46:36

 http请求:

   一次完整的http请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务器端发送http请求,服务端接收请求后,解析http请求,处理完业务逻辑,最后返回一个http的响应给客户端,http的响应内容同样有标准的格式。无论是客户端还是服务端,大家只要按照http的协议标准来实现的话,那么它一定是通用的。

  http请求格式的主要有四部分组成,分别是:请求行(Request Line),请求头(Request Headers),空行(Entity Headers),消息体(MessageBody)。每部分内容占一行。

  

请求行:请求行是请求消息的第一行,由三部分组成: 请求方法、请求资源的URI路径、HTTP版本号。

GET /index.html HTTP/1.1

请求头:请求头中的信息有和缓存相关的头(Cache-Control,If-Modified-Since)、客户端身份信息(User-Agent)等等。

  Cache-Control:max-age=0
  Cookie:gsScrollPos=; _ga=GA1.2.329038035.1465891024; _gat=1
  If-Modified-Since:Sun, 01 May 2016 11:19:03 GMT
  User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36
消息体:请求体是客户端发送给服务端的请求数据,这部分数据并不是每个请求必须的。

------------------------------------------------------------------------------------------------------------------------------------------

http响应:

 http响应格式:服务器接收处理完请求后返回一个http响应消息给客户端。http响应消息的格式包括:状态行(Status Line)、响应头(Response Headers)、空行(Entity Headers)、消息体(Message Body)。每部分占一行。


  状态行:状态行位于消息的第一行,有http协议版本号,状态码和状态说明三部分组成。

  HTTP/1.1 200 OK

  响应头:响应头是服务器传递给客户端用于说明服务器的一些信息,以及将来继续访问该资源的策略。

  Connection:keep-alive
  Content-Encoding:gzip
  Content-Type:text/html; charset=utf-8
  Date:Fri, 24 Jun 2016 06:23:31 GMT
  Server:nginx/1.9.12
  Transfer-Encoding:chunked

响应体:响应体是服务器返回给客户端的HTML文本内容,或者其他格式的数据,比如视频流,图片或者音频流数据。

所有命名在HTTP请求和HTTP响应中的头字段是不区分大小写的。



原文:http://blog.csdn.net/permike/article/details/52354397



HTTP Get,Post请求详解

请求类型 三种最常见的请求类型是:GET,POST 和 HEAD GET:获取一个文档 大部分被传输到浏览器的html,images,js,css, … 都是通过GET方法发出请求的。它是获取数...
  • afeiluo
  • afeiluo
  • 2013年11月18日 16:48
  • 64966

c#进行http请求

http-post请求 private string HttpPost(string Url, string postDataStr) { Ht...
  • wzj0808
  • wzj0808
  • 2017年12月13日 14:42
  • 322

Android的HTTP请求方式

大多数网络连接的Android应用程序都将使用HTTP发送和接收数据 对于Http协议的工作原理,一句话概括的话,就是客户端向服务器发出一条HTTP请求,服务器收到之后会返回一些数据给客户端,然后...
  • Checkiming
  • Checkiming
  • 2017年06月28日 00:16
  • 2138

HTTP深入浅出之http请求和15中以上的请求方式

HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。根据HTTP标准,HTTP请求可以使用多种请求方法。 HTTP1.0定义了三种请求方法: GET,...
  • jiadabin
  • jiadabin
  • 2016年07月15日 18:31
  • 8386

浅谈前端性能优化(五)——减少HTTP请求数

1、图片地图 图片地图允许在一个图片上关联多个URL,目标URL取决于用户单击的图片上的位置。 1) 优点: 把多张图片整合到一张图片中,虽然文件的总体大小不变,但可以减少HTTP请求数。 2) 使用...
  • zhouziyu2011
  • zhouziyu2011
  • 2017年05月07日 16:00
  • 1175

封装js发送http请求

封装js发送http请求var http = function () { this.xhr = new XMLHttpRequest(); };http.prototype.setTimeou...
  • TianTangYouZui
  • TianTangYouZui
  • 2017年04月15日 15:46
  • 3453

HTTP详解--Http请求(四)

HTTP报文 1.用于HTTP协议交互的信息被称为HTTP报文。请求端(客户端)的HTTP报文叫做请求报文,响应端(服务器端)的叫做响应报文。HTTP报文本身是由多行(用CR+LF作换行符)数据构成的...
  • qq_33301113
  • qq_33301113
  • 2017年06月17日 09:36
  • 660

shell发送Http请求

3. shell发送http请求       curl -d parm1=1¶m2=zzq¶m3=123 http://www.iteye.com
  • killeraction
  • killeraction
  • 2014年07月02日 10:17
  • 2576

C++ 实现 发送HTTP Get/Post请求

1、简述最近简单看了一下关于HTTP请求方面的知识,之前一直用Qt来实现,有专门HTTP请求的QNetworkAccessManager类来处理,实现也比较简单,这里主要讲解一下用C++代码来实现HT...
  • GoForwardToStep
  • GoForwardToStep
  • 2016年11月24日 19:40
  • 11732

完整的HTTP请求会经历以下过程

一次完整的Http请求,虽然说的是浏览器,但是换成ios,android也是完全没毛病的。原文 http://blog.51cto.com/linux5588/1351007 ...
  • u014600626
  • u014600626
  • 2017年12月05日 15:18
  • 434
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:摸索http请求
举报原因:
原因补充:

(最多只允许输入30个字)