HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头

http://blog.csdn.net/qxs965266509/article/details/8082810

用于HTTP请求中的常用请求头字段
Accept:用于高速服务器,客户机支持的数据类型
Accept-Charset:用于告诉服务器,客户机采用的编码格式
Accept-Encoding:用于告诉服务器,客户机支持的数据压缩格式
Accept-Language:客户机的语言环境
Host:客户机通过这个头高速服务器,想访问的主机名
If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间
Referer:客户机通过这个头告诉服务器,它是从哪个资源来访问服务器的(防盗链)
User-Agent:客户机通过这个头告诉服务器,客户机的软件环境
Cookie:客户机通过这个头可以向服务器带数据
Connection:处理完这次请求后是否断开连接还是继续保持连接
Date:当前时间值

HTTP响应
状态行:用于描述服务器对请求的处理结果。

状态码:100~199:表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程。
 200~299:表示成功接收请求并已完成整个处理过程。常用200
 300~399:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、常用302(意味着你请求我,我让你去找别人),307和304(我不给你这个资源,自己拿缓存)
 400~499:客户端的请求有错误,常用404(意味着你请求的资源在web服务器中没有)403(服务器拒绝访问,权限不够)
 500~599:服务器端出现错误,常用500
多个响应头:响应头用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据。
Location:这个头配合302状态码使用,用于告诉客户找谁。
Server:服务器通过这个头告诉浏览器服务器的类型。
Content-Encoding:服务器通过这个头告诉浏览器数据的压缩格式。
Content-Length:服务器通过这个头告诉浏览器回送数据的长度
Content-Type:服务器通过这个头告诉浏览器回送数据的类型
Last-Modified:告诉浏览器当前资源的最后缓存时间
Refresh:告诉浏览器隔多久刷新一次
Content-Disposition:告诉浏览器以下载方式打开数据
Transfer-Encoding:告诉浏览器数据的传送格式
ETag:缓存相关的头
········三种禁止浏览器缓存的头字段:
 Expires:告诉浏览器把回送的资源缓存多长时间 -1或0则是不缓存
 Cache-Control:no-cache
 Pragma:no-cache
服务器通过以上两个头,也就是控制浏览器不要缓存数据

实体内容:代表服务器向客户端回送的数据

l200(正常)

表示一切正常,返回的是正常请求结果。

l302/307(临时重定向)

指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响应头中给出。

l304(未修改)

表示客户机缓存的版本是最新的,客户机应该继续使用它。

l403(禁止)

服务器理解客户端请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置所致。

l404(找不到)

服务器上不存在客户机所请求的资源。

l500(内部服务器错误)

服务器端的CGI、ASP、JSP等程序发生错误。

1.请按自己的理解简述HTTP 1.1与HTTP 1.0的区别。

2.请描述HTTP请求消息和HTTP响应消息的组成结构,并各举一例进行说明。

3.浏览器分别在哪些情况下使用GET方式和POST方式访问WEB服务器?如果浏览器传递给WEB服务器的参数内容超过1K,应该使用那种方式发送请求消息?

4.请描述200、302、304、404和500等响应状态码所表示的意义。

5.请列举三种禁止浏览器缓存的头字段,并写出相应的设置值。

解答:

1.HTTP1.0对于每个连接都的建立一次连接一次只能传送一个请求和响应,请求就会关闭,HTTP1.0没有Host字段;
而HTTP1.1在同一个连接中可以传送多个请求和响应,多个请求可以重叠和同时进行,HTTP1.1必须有Host字段。

2.请求消息结构:一个请求行、若干消息头、以及尸体内容,当中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
响应消息结构:一个状态行、若干消息头、以及尸体内容,当中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。
两者的区别:就是请求消息有请求行,响应消息有状态行。
GET /mail/aa.html HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: localhost:8080
If-Modified-Since: Wed, 17 Oct 2012 09:35:13 GMT
If-None-Match: W/"62-1350466513174"
Connection: Keep-Alive

HTTP/1.1 304 Not Modified
Server: Apache-Coyote/1.1
ETag: W/"62-1350466513174"
Date: Wed, 17 Oct 2012 09:45:38 GMT

3.数据量不大,因为GET方式数据量限制1K,不带有保护数据的情况下使用GET方式访问WEB服务器;数据量大,而且带有需要保护的数据时使用POST方式访问WEB服务器。
如果浏览器传送服务器的数据量超过1K,应使用POST方式访问服务器,因为POST方式向服务器传送是数据时,会先把传送的数据打包发送到WEB服务器。

4.响应状态吗表示的意义:
200:表示成功,正常结果;
302:表示重定向,转到别的站点;
304:表示未修改;
404:表示找不到资源;
500:表示内部服务器错误;

5.Expires:告诉浏览器把回送的资源缓存多长时间 -1或0则是不缓存
 Cache-Control:no-cache
 Pragma:no-cache

时间: 2024-10-14 08:04:54

HTTP协议---HTTP请求中的常用请求字段和HTTP的响应状态码及响应头的相关文章

TCP/IP协议族(一) HTTP简介、请求方法与响应状态码

接下来想系统的回顾一下TCP/IP协议族的相关东西,当然这些东西大部分是在大学的时候学过的,但是那句话,基础的东西还是要不时的回顾回顾的.接下来的几篇博客都是关于TCP/IP协议族的,本篇博客就先简单的聊一下TCP/IP协议族,然后聊一下HTTP协议,然后再聊一下SSL上的HTTP(也就是HTTPS)了.当然TCP/IP协议族是个老生常谈的话题,网络上关于该内容的文章一抓一大把呢,但是鉴于其重要性,还是有必要系统的总结一下的. 一.TCP/IP协议组简述 在聊HTTP与HTTPS之前呢,我们先简

HTTP/NSURLConnection(请求、响应)、http响应状态码大全

一.网络基础 1.基本概念> 为什么要学习网络编程在移动互联网时代,移动应用的特征有几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图只有通过网络跟外界进行数据交互.数据更新,应用才能保持新鲜.活力如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死水 移动网络应用 = 良好的UI + 良好的用户体验 + 实时更新的数据新闻:网易新闻.新浪新闻.搜狐新闻.腾讯新闻视频:优酷.百度视频.搜狐视频.爱奇艺视频音乐:QQ音乐.百度音乐.酷狗音乐.酷我音乐LBS:百度地

前端 http协议 四大特性 web本质 -响应状态码 列表标签 表单操作 form表单 # 44

1.前端简介 1 """""" 2 """前端:""" 3 """和python没有任何关系""" 4 5 1.什么是前端? 6 任何与用户直接打交道的操作界面都可以称之为前端 7 比如 : 电脑界面 手机界面 平板界面 8 9 2.什么是后端? 10 暂时先理解成,幕后操作者 11 不直接与用户打交道 12 13 3.为什么要

HTTP常见响应状态码及解释、常用请求头及解释

1.HTTP常见响应状态码及解释2XX Success(成功状态码) 200 表示从客户端发来的请求在服务器端被正常处理204 该状态码表示服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主体部分206 该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求3XX Redirection(重定向状态码) 301 永久性重定向302 临时性重定向4XX Client Error(客户端错误状态码) 400 该状态码表示请求报文中存在语法错误401 该状态码表示发送的请求需

http协议介绍及get与post请求、响应状态码

HTTP:  通信双方如果想要通信就必须遵循一定的规则,我们把这个规则称之为HTTP协议! 报文:  HTTP协议通信的内容我们称之为:报文 报文格式:    报文首部 空行 报文主体 1.请求报文 请求首部:请求首行和请求头部 空行 请求主体 2.响应报文: 响应首部 空行 响应主体 报文分类:  请求报文:浏览器发送给服务器端的内容 get请求    GET /Hello/index.jsp HTTP/1.1   Accept: */*    Accept-Language: zh-CN  

php中Http请求方法和响应状态码整理教程

HTTP请求报文由请求行(request line).请求头部(header).空行和请求数据4个部分组成,格式如下 可见请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分 个HTTP请求报文由请求行(request line).请求头部(header).空行和请求数据4个部分组成,格式如下 可见请求行由请求方法字段.URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔.HTTP请求方法: GET: 请求指定的页面信息,并返回实体主体. HEAD: 只请求页

接口测试——HttpClient工具的https请求、代理设置、请求头设置、获取状态码和响应头

转自:https://www.cnblogs.com/hong-fithing/p/7617855.html https请求 https协议(Secure Hypertext Transfer Protocol) : 安全超文本传输协议, HTTPS以保密为目标研发, 简单讲HTTPS协议是由SSL+HTTP协议构建的可进行加密传输. 身份认证的网络协议, 其安全基础是SSL协议, 因此加密的详细内容请看SSL. 全称Hypertext Transfer Protocol overSecure

Scrapy 扩展中间件: 针对特定响应状态码,使用代理重新请求

0.参考 https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#module-scrapy.downloadermiddlewares.redirect https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#module-scrapy.downloadermiddlewares.httpproxy 1.主要实现 实际爬虫过程中如果请求过于

HTTP协议图--HTTP 响应状态码(重点分析)

1. 状态码概述 HTTP 状态码负责表示客户端 HTTP 请求的返回结果.标记服务器端的处理是否正常.通知出现的错误等工作. HTTP 状态码如 200 OK ,以 3 位数字和原因短语组成.数字中的第一位指定了响应类别,后两位无分类. 不少返回的响应状态码都是错误的,但是用户可能察觉不到这点.比如 Web 应用程序内部发生错误,状态码依然返回 200 OK. 2. 状态码类别   类别 原因短语 1xx Informational(信息性状态码) 接收的请求正在处理 2xx Success(