http协议(二)

news/2024/7/11 4:29:21 标签: authorization, 服务器, 浏览器, 扩展, 语言, internet
      HTTP协议的请求方式

    HTTP请求方式有多种,如:POST、GET、PUT、HEAD、OPTIONS、DELETE、TRACE。

    最常用的是:POST和GET两种。

 

    使用GET方法请求

    在使用GET方法提交用户请求时,HTTP协议生成的HTTP请求消息中不会出现实体内容。在这种情况下,传递的实体内容是以请求行的参数的形式存在在请求行之中。在这种请求方式下,传递的数据量是有限的,一般限制在1kb以下。

例如:GET /longiServlet?name=qqabc&pwd=123 HTTP/1.1

 

使用POST方法请求

在使用POST方式提交用户请求时,HTTP协议生成的HTTP请求消息中可以出现实体内容,此时该请求消息中的消息头中必须有:Content-Type头和Content-Length头,并且消息头应该和实体内容以回车+空行隔开。这种请求方式下,传递的数据量要比GET方式大得多。

例如:POST /longiServlet HTTP/1.1

          Host:

  Content-Type:application/x-www-form-urlencoded

  Content-Length:28

  name=qqabc&pwd=123

 

HTTP消息头又可分为通用信息头、请求头、响应头、实体头和扩展头类。

 

通用信息头

Cache-Control    用于指定缓存指令;
Date 表示消息产生的日期和时间

Connection 允许发送指定连接的选项。

请求头

请求头字段用于客户端在请求消息中向服务器传递附加信息。主要包括:客户端可以接收的数据类型、压缩方法、语言以及发出请求的超链接所属网页的URL地址等信息。

Accept:text/html,image/*  用于指定客户端希望接收哪些类型的信息;

Accept-Charset   用于指定客户端接收的字符集;

Accept-Encoding  用于指定可接收的内容编码;

Accept-Language  用于指定客户端的语言

Authorization 用于证明客户端有权限访问某个资源;

Host 用于指定被请求资源的Internet主机和端口号,发送请求时必须指定 该请求头

User-Agent 允许客户端将自己的操作系统、浏览器等信息告诉给服务器,该请求 头不是必需的;

Range 用于指定返回请求内容的部分内容;

Referer 客户端向服务器发送该请求所属的网页的URL地址;

响应头

响应头允许服务器传递不能放在状态行中的附加响应信息,以及关于服务器的信息和对Request-URI所标识的资源进行下一步访问的信息。
常用的响应头
Location 响应头用于重定向接受者到一个新的位置。Location响应头常用在更换域名的时候。
Server 响应头包含了服务器用来处理请求的软件信息。与User-Agent请求头是相对应的。
WWW-Authenticate 响应头必须被包含在401(未授权的)响应消息中,客户端收到401响应消息时候,并发送Authorization头请求服务器对其进行验证时,服务端响应头就包含该头。

实体头

实体头用作实体内容的原信息,描述实体内容的属性,包括实体信息类型、长度、压缩方法、最后一次修改时间、数据有效期等。

Allow 告诉服务器浏览器以哪种请求方式访问资源;

Content-Encoding   用于指定实体内容当前的压缩编码方式;

Content-Language   用于指定访问文档的国家语言类型;

Content-Length   用于表示实体内容的大小;

Content-Location   用于表示响应消息中的实体内容的位置;

Content-MD5   用于实体内容的完整性校验;

Content-Range   用于指定服务器返回的部分实体的位置信息;

Content-Type   用于指定实体内容的MIME类型;

Expires   用于指定当前的文档在什么时候过期;

扩展

HTTP消息中也可以使用一些HTTP/1.1正式规范里没有定义的头字段,这些头字段统称为自定义的HTTP头字段或扩展头,它们通常被当做一个实体头来处理。

现在流行的浏览器实际上都支持CookieSet-CookieRefreshContent-Disposition等常用的几个扩展头字段。

Refresh 用于告诉浏览器过多长时间再次访问当前的URL。可通过该扩展头来实现聊天室的自动刷新。

例如:Refresh:1;http:www.baidu.com/  

Content-Disposition 用于指定接收数据、处理内容的方式。


http://www.niftyadmin.cn/n/1456702.html

相关文章

如何解决安装了Windows 7之后找不到原有XP的问题

为了考察Windows 7的安全改进,下了版本号7000的Windows 7测试版,不过安装中遇到了一个问题,把解决方法贴出来以供参考。测试用机原本安装有Windows XP系统(SP3),由于不想破坏原有的分区结构,挂了…

Jquery ajax提交表单几种方法详解

[导读] 在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$( 表单ID) serialize();就行了,下面我来介绍两个提交表单数据的方法。$get方式提交表单get() 方法通过远程 HTTP 在jquery中ajax提交表单有post与get方式…

纯CMDshell查看终端

第一步: Tasklist/SVC 列出所有进程,系统服务及其对应的PID值! 而终端所对应的服务名为:TermService第二步:用netstat -ano命令,列出所有端口对应的PID值!找到PID值所对应的端口同样,找Serv-U,radmin&#…

spring 中事务的PROPAGATION_REQUIRED,Readonly的解释

一、事务传播行为种类 Spring在TransactionDefinition接口中规定了7种类型的事务传播行为, 它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播: 事务传播行为类型 事务传播行为类型 说明 PROPAGATION_REQUIRED 如果当前没有事务&#xff0…

C++之 const的用法

1、什么是const?常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const?const 推出的初始目的,正是为了取代预…

重载==和!=运算符

高手一看即知我要说什么,呵呵,请多批评 假设一自定义类名TemplateEntity,来重载它的和!,C#语法规定如果重载了则必须重载!,反之亦然 那,这个好实现,反正实体成员都是系统类型,可以直接使用其或!符号实现,想来不难~go~,分分种搞定的东东~ 代码如下: 声明:此为错误的实现!且不可C…

Select()系统调用及文件描述符集fd_set的应用 .

Select()系统调用及文件描述符集fd_set的应用在网络程序中,一个进程同时处理多个文件描述符是很常见的情况。select()系统调用可以使进程检测同时等待的多个I/O设备,当没有设备准备好时,select()阻塞,其中任一设备准备好时&#x…

【收藏两篇】为什么我们做不到【员工篇】

做事要有计划、要有目标 从小学到中学、在到大学,我常常在书上看到“做事一定要有目标、要有计划,不然的话,你就像水中的漂浮东飘西荡,毫无目的,整天碌碌无为!”其实我在很早的时候也意识到做计划和设定目标…