请求、响应报文

HTTP:
   通信双方如果想要通信就必须遵循一定的规则,我们把这个规则称之为HTTP协议!

报文:
   HTTP协议通信的内容我们称之为:报文
   报文格式:
    报文首部
    空行
    报文主体

  请求报文
    请求首部:请求首行和请求头部
    空行
    请求主体
  响应报文
    响应首部
    空行
    响应主体

报文分类:
  请求报文:浏览器发送给服务器端的内容

    get请求
  GET /Hello/index.jsp HTTP/1.1 
  Accept: */*
  Accept-Language: zh-CN
  User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media   Center PC 6.0; .NET4.0C; .NET4.0E)
  Accept-Encoding: gzip,deflate
  Host: localhost:8080
  Connection: Keep-Alive
  Cookie: JSESSIONID=C55836CDA892D9124C03CF8FE8311B15

    请求首行:请求方式 请求资源【url】 请求协议/版本号
    请求头部:*/*表示客户端可以接受的文档类型,*/*表示的是可以接受任意类型
    Accept-Language:表示的是当前浏览器所在的地区,zh-CN表示是客户端用的语言简体中文,en-US表示的是美式英语!
    Accept-Encoding:浏览器向服务器发送请求的时候,会告诉服务器端浏览器可以接受的压缩格式!
    refer:表示的是当前网页是从哪个网页跳转过来!
    host:是目标主机的ip地址和端口号!
    Connection:表示的是浏览器和服务器的通信连接:Keep-Alive表示会话保持!默认会话连接时间是3000ms!
    Cookie:是位于浏览器端的,和服务器通信使用!

    get请求没有空行和请求体!

    post请求
  POST /Hello/target.html HTTP/1.1
  Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg,application/x-ms-xbap, */*
  Referer: http://localhost:8080/Hello/
  Accept-Language: zh-CN
  User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media   Center PC 6.0; .NET4.0C; .NET4.0E)
  Content-Type: application/x-www-form-urlencoded
  Accept-Encoding: gzip, deflate
  Host: localhost:8080
  Content-Length: 14
  Connection: Keep-Alive
  Cache-Control: no-cache
  Cookie: JSESSIONID=774DA38C1B78AE288610D77621590345

  username=admin

    请求首部
      请求首行:请求方式 请求URL 请求协议/协议版本号 POST /Hello/target.html HTTP/1.1
      请求头部
    空行
    请求体:请求的内容

  get请求和post请求的区别:
    1.get请求是通过url传递参数,post请求是通过请求体传递参数的
    2.get请求最多允许传递255个字符,对长度有限制,所以数据比较大的时候我们使用post请求,尤其是做上传的时候用post请求!
    3.get请求我们在浏览器上是可以看到请求参数的,而post请求在浏览器地址栏中是看不到请求参数的!

  响应报文:服务器发送给浏览器端的内容

  响应报文是由响应首部[响应首行和响应头部]、空行响应体
  HTTP/1.1 200 OK 
  Server: Apache-Coyote/1.1 
  Content-Type: text/html;charset=UTF-8
  Content-Length: 274
  Date: Tue, 07 Apr 2015 10:08:26 GMT

  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
  <html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Insert title here</title>
  </head>
  <body>
  <h1>Hello</h1>
  </body>
  </html>
    
  响应首行:通信协议/版本号 响应状态码 
  响应头部:
  服务器:apache
  响应体编码类型:Content-Type
  响应体长度:Content-Length
  响应时间:Date

  空行
  响应体!

  响应状态码
  200:表示的是响应成功
  302:表示的是重定向
  404:请求的url错误!
  500:服务器端的错误!

时间: 2024-08-23 23:45:09

请求、响应报文的相关文章

HTTP请求响应报文&amp;&amp;相关状态码&amp;&amp;GET_POST请求方法 总结

HTTP请求报文: 一个HTTP请求报文由四个部分组成:请求行.请求头部.空行.请求数据 1.请求行   请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.比如 GET /data/info.html HTTP/1.1 方法字段就是HTTP使用的请求方法,比如常见的GET/POST 其中HTTP协议版本有两种:HTTP1.0/HTTP1.1 可以这样区别: HTTP1.0对于每个连接都的建立一次连接一次只能传送一个请求和响应,请求就会关闭,HTTP1.0没有Ho

http协议基础 5.关于http请求响应报文的总结

1.关于常见的一些响应报文的总结 ps:这个是之间在做毕设的时候经常遇到返回300,404问题,然后看到某个大神的博客,记录在记事本上了,链接找不到了,实在不好意思,现在放在这供大家查找原因,及方便自己调试接口方便查阅. 1xx (临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换. 102 由WebDAV(R

HTTP请求/响应报文结构

HTTP协议版本有两种:HTTP1.0和HTTP1.1 它们俩的区别在于:HTTP1.0对于每个连接都只能传送一个请求和响应,请求后就会关闭,HTTP1.0没有Host字段:而HTTP1.1在同一个连接中可以传送多个请求和响应,多个请求可以重叠和同时进行,HTTP1.1必须有Host字段 常见的请求头字段含义: 请求行:标明了请求方法,请求URL,HTTP协议及版本 Accept:浏览器可接受的MIME类型,也就是代表着浏览器希望接收什么样的文件 Accept-Charset:浏览器可接受的字符

重温Http协议--请求报文和响应报文

http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过http协议做一个类似于解码的工作,这样浏览器才能理解这个数据,然后为我们展示出来百度首页. 这相当于是一种规范,网络中数据的传输在位于应用之下的各层(传输层,应用层)来完成的,在tcp/ip协议接收到数据时,我们是不能直接使用和浏览的,需要先通过一种规范来进行梳理,也就是解码,得到浏览器支持的一种格

【报文】理解HTTP协议的Request/Response(请求响应)模型

[报文]理解HTTP协议的Request/Response(请求响应)模型 系列目录 [简介]"请求/响应"模型 http://www.cnblogs.com/engraver-lxw/p/7550514.html [原理]理解HTTP协议的Request/Response(请求响应)模型 http://www.cnblogs.com/engraver-lxw/p/7550691.html [报文]理解HTTP协议的Request/Response(请求响应)模型--当前 http:/

HTTP 请求报文和响应报文

HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的.HTTP有两类报文:请求报文和响应报文. 1.请求报文一个HTTP请求报文由请求行(request line).请求头部(header).空行和请求数据4个部分组成,下图给出了请求报文的一般格式. (1)请求行 请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.例如,GET /index.html HTTP/1.1. HTTP协议的请求方法有GET.POST.HEAD.

HTTP请求报文和HTTP响应报文

1.一次完整的HTTP请求所经历的7个步骤 HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: 1. 建立TCP连接 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建 Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络.HTTP是比TCP更高层次的应用层协议,根据规则, 只有低层协议建立之后才能,才能进行更层协议的连接,因此,首

HTTP请求报文和响应报文

HTTP报文分为请求报文(request message)与响应报文(response message). 一.报文的组成部分 一个HTTP报文由3部分组成,分别是: (1).起始行(start line) (2).首部(header) (3).主体(body) 示例: HTTP/1.0 200 OK //起始行 Content-type:text/plain //首部 Content-length:19 //首部 Hi I'm a message! 主体 1.1 请求报文与响应报文的格式 请求

IOS开发网络篇--HTTP请求报文和HTTP响应报文

HTTP请求报文和HTTP响应报文: HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的.HTTP有两类报文:请求报文和响应报文. HTTP请求报文 一个HTTP请求报文由请求行(request line).请求头部(header).空行和请求数据4个部分组成,下图给出了请求报文的一般格式. or <request-line> <headers> <blank line> [<request-body> 1.请求头

(转)HTTP请求报文和HTTP响应报文

原地址:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/28/2612910.html HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的.HTTP有两类报文:请求报文和响应报文. HTTP请求报文 一个HTTP请求报文由请求行(request line).请求头部(header).空行和请求数据4个部分组成,下图给出了请求报文的一般格式. or <request-line> <headers