http请求和响应消息

HTTP请求消息

      1次完整的http请求消息包括:一个请求行、若干消息头以及实体内容,而消息头和实体内容可以没有,消息头和实体内容间有一个空行
      我们来看一个例子(为了便于说明,我在每行前加了序号):
            1 Get /mattmarg/ HTTP/1.0
            2 User-Agent: Mozilla/2.0 (Macintosh; I; PPC)
            3 Accept: text/html; */*
            4 Cookie: name = value
            5 Referer: http://www.XXX.com/a.html

(1)第1行就是请求行:              

           1.    请求方式为Get(除了Get之外,还有Post、Put、Delete方式)

           2.    请求的文件位于"根目录/mattmarg/"下,当然也可以直接给出需要的页面(如:/mattmarg/index.asp,也可以加上一些其它字段                                                       如:/mattmarg/index.asp?id=1&uid=xxx。

                      当我们通过Get请求时,提交给服务器的请求行长度不能超过1K,而如果利用Post方式,则是把所提交的信息以实体内容形式发送给服务器,所以                     如果服务器没有限制的话,原则上讲可以传输无限大的内

           3.    HTTP/1.0 表示了http的版本为1.0。

(2)其余几行就是消息头了

消息头主要是用来向服务器传达某种信息或指示。

如告诉服务器自己的终端(User-Agent)是什么(如果是浏览器则返回相应的浏览器型号),终端所可以解释的类型(Accept)是什么,是从哪个页面提交的请求(Referer),以及浏览器所能解释的语言(Accept-Language)等等。

我们这里拿Accept-Language来举个例子,大家都知道google在中国大陆显示的是简体中文,而在其它的国家则显示对应的语言,这个是怎么做到的呢?其实就是浏览器向服务器递交的请求信息中包含了Accept-Language,而我们的浏览器默认是zh-cn,然后服务器在接受到该信息时返回对应的页面。


HTTP响应消息

       Http响应消息的格式为: 一个状态行、若干消息头、空行和实体内容 其中消息头和实体内容可以没有,消息头和实体内容间有一个空行。
      我们依旧先来看一个例子:
            01 HTTP/1.1 200 OK
            02 Server: Microsoft-IIS/5.1
            03 X-Powered-By: ASP.NET
            04 Date: Sun, 06 Jul 2008 11:01:21 GMT
            05 Content-Type: text/html
            06 Accept-Ranges: bytes
            07 Last-Modified: Wed, 02 Jul 2008 01:01:26 GMT
            08 ETag: "0f71527dfdbc81:ade"
            09 Content-Length: 46
            10                                      
            11 <html><head></head><body>adfasfa</body></html>

      其中,01行是状态行,用于显示服务器响应的状态,HTTP/1.1显示了对应的http协议版本,200为状态数字,OK为状态信息用于解释状态数字(这里OK对应200,表示请求正常);

              02~09是消息头部分,

              10为空行

               11为实体内容(也就是服务器返回的网页内容)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTTP请求响应消息都是由三个部分组成:起始行、消息消息体。下面分别介绍HTTP请求响应消息的格式: 1. HTTP请求消息格式 HTTP请求消息格式如下: ``` Method Request-URI HTTP-Version Headers Message Body ``` 其中,Method表示请求方法(如GET、POST、PUT等),Request-URI表示请求的资源标识符,HTTP-Version表示HTTP协议的版本号,Headers是一些请求信息,Message Body是请求消息的主体内容。 举个例子,如果要请求一个网页,请求消息可以这样构造: ``` GET /index.html HTTP/1.1 Host: www.example.com User-Agent: Mozilla/5.0 Accept: text/html,application/xhtml+xml ``` 其中,GET表示请求方法为GET,/index.html表示请求的资源为网站首页,HTTP/1.1表示使用HTTP协议的版本为1.1,Host表示请求的主机名为www.example.com,User-Agent表示浏览器类型为Mozilla/5.0,Accept表示可接受的响应类型为text/html、application/xhtml+xml等。 2. HTTP响应消息格式 HTTP响应消息格式如下: ``` HTTP-Version Status-Code Reason-Phrase Headers Message Body ``` 其中,HTTP-Version表示HTTP协议的版本号,Status-Code表示请求处理的状态码,Reason-Phrase表示状态码对应的原因短语,Headers是一些响应信息,Message Body是响应消息的主体内容。 举个例子,如果服务器返回一个网页,响应消息可以这样构造: ``` HTTP/1.1 200 OK Date: Thu, 01 Jul 2021 06:17:30 GMT Server: Apache/2.2.22 Content-Type: text/html;charset=utf-8 <!DOCTYPE html> <html> <head> <title>My Web Page</title> </head> <body> <!-- 页面内容 --> </body> </html> ``` 其中,HTTP/1.1表示使用HTTP协议的版本为1.1,200表示响应处理的状态码为200,OK表示状态码对应的原因短语为“OK”。Date表示响应的时间,Server表示服务器类型为Apache/2.2.22,Content-Type表示响应的内容类型为text/html;charset=utf-8。Message Body中的内容是HTML文档,用于显示网页的内容。 以上是HTTP请求响应消息的格式,HTTP协议还有很多其他的特性和功能,需要根据具体的应用场景进行了解和学习。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值