一.请求的基本格式

请求的基本格式包括请求行请求头请求实体三部分。例如:
GET /img/bd_logo1.png HTTP/1.1
Accept: */*
Referer: http://www.baidu.com/
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: www.baidu.com
Connection: Keep-Alive
Cookie: BAIDUID=B0DF0BDAD30649F69A8930D11BDB6DE8:FG=1;

(请求实体,不过此为GET请求故无请求实体)

1.请求行:

位于请求的第一行,记录了方法字段、URL字段、HTTP版本字段。例如:
GET /img/bd_logo1.png HTTP/1.1
以上,GET是请求方法,/img/bd_logo1.png是请求URL,HTTP/1.1是请求协议及版本。

2.请求头:

位于请求行之后,独立空行之前的内容,例如:
Accept: */*
Referer: http://www.baidu.com/
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: www.baidu.com
Connection: Keep-Alive
Cookie:a=1

请求头详解:
Accept:浏览器可接受的MIME类型,*/*表示所有类型。
Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。
Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。
Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip。Servlet能够向支持gzip的浏览器返回经gzip编码的HTML页面。许多情形下这可以减少5到10倍的下载时间。
Accept-Charset:浏览器可接受的字符集。
User-Agent:浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用。
Host:初始URL中的主机和端口,若端口为默认的80,则不显示。
Connection:表示是否需要持久连接。如果Servlet看到这里的值为"Keep-Alive",或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。要实现这一点,Servlet需要在应答中发送一个Content-Length头,最简单的实现方法是:先把内容写入ByteArrayOutputStream,然后在正式写出内容之前计算它的大小。
Cookie:这是最重要的请求头信息之一,通常放在最后,因为内容可能很多。

以上是最常见的请求头,下面一些没怎么见到:
Authorization:授权信息,通常出现在对服务器发送的WWW-Authenticate头的应答中。
Content-Length:表示请求消息正文的长度。
From:请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不会用到它。
If-Modified-Since:只有当所请求的内容在指定的日期之后又经过修改才返回它,否则返回304"Not Modified"应答。
Pragma:指定"no-cache"值表示服务器必须返回一个刷新后的文档,即使它是代理服务器而且已经有了页面的本地拷贝。
UA-Pixels,UA-Color,UA-OS,UA-CPU:由某些版本的IE浏览器所发送的非标准的请求头,表示屏幕大小、颜色深度、操作系统和CPU类型。

3.请求实体:

请求头及空行之后就是请求实体,只有POST方法的请求才有请求实体。

转载于:https://www.cnblogs.com/xmjz/p/4298011.html

http协议之request相关推荐

  1. h5获取http请求头_java学习之路(2),http协议,request类

    java学习之路(2),http协议,request类 java学习之路(2),http协议,request类 1.一个httpServlet的多个地址定义 对于httpServlet可以定义一个数组 ...

  2. Servlet、HTTP协议、Request

    Servlet.HTTP协议.Request

  3. 3-3:HTTP协议之request和respond及常见请求方法和常见状态码

    文章目录 一:request (1)请求报文基本构成 (2)请求方法 二:respond (1)响应报文基本构成 (2)HTTP常见状态码 三:HTTP常见Header(字段) 注意下面需要分析请求报 ...

  4. java day38【Servlet 、HTTP协议 、Request】

    第一章  Servlet 1. 概念 2. 步骤 3. 执行原理 4. 生命周期 5. Servlet3.0 注解配置 6. Servlet的体系结构 Servlet -- 接口 | GenericS ...

  5. javaee之http协议、request请求

    http协议:Hyper Text Transfer Protocol 超文本传输协议,他的底层是依附于TCP/IP传输协议,所以也是数据的传输也是比较安全的.因为从TCP/IP的层面来说,数据会建立 ...

  6. http协议的Request Payload 和 Form Data 的区别

    Request Payload VS Form Data 前端请求 我看了前端发起的请求,请求正文并不是我熟悉的 Form Data,而是 Request Payload.如图注意下面两个请求的 Co ...

  7. HTTP协议中request报文请求方法和状态响应码

    一个HTTP请求报文由4部分组成: 请求行(request line) 请求头部(header) 空行 请求数据 下图给出了请求报文的一般格式: 请求行中包括了请求方法,常见的请求方法有: GET:从 ...

  8. PD协议之Request(下面统称“请求”)的作用

    PD最重要的功能是供电,那么source和sink之间达成一致的意愿(供电合同),更是重中之重.那么请求消息则是双发达成一致意愿的过程中重要的一环.是由sink发出的.具体是用来选择那一档PDO,告知 ...

  9. 谈一谈Http Request 与 Http Response

    谈一谈Http Request 与 Http Response 写在前面的话:最近帮朋友弄弄微信商城,对于微信的基础开发,基本上就是各种post.get,有时是微信服务器向我们的服务器post.get ...

最新文章

  1. 第十九章——使用资源调控器管理资源(2)——使用T-SQL配置资源调控器
  2. Oracle面试过程中常见的二十个问题
  3. 基于http协议的api接口对于客户端的身份认证方式以及安全措施
  4. shell中的Here Document
  5. 【thymeleaf】【SpringBoot】在HTML中调用Spring Bean
  6. mysql长时间后断开_mysql 长时间没连接了 就会自动断开服务
  7. Teamcenter开发问题之-- relation 无法创建 and 无法check in
  8. 校招毁约污点公司名录.pdf
  9. 共享单车的定位,应该是利用手机实现
  10. switch交换的vlan三种模式详解
  11. oracle唯一索引
  12. python算方差_python计算方差
  13. pico3pro使用unity播放360全景视频及事件交互
  14. 一、初识FreeRTOS之FreeRTOS简介
  15. Makefile 书写
  16. Hi3516D V300功能介绍
  17. linux下模拟登陆环境安装
  18. 关于cocos2d-x项目防止八门神器等修改工具的一种解决办法
  19. 动态网页Reptile
  20. 计算机属性无法查看无反应,Win7旗舰版右键查看计算机属性未反应的处理方法...

热门文章

  1. ConcurrentHashMap 1.8 源码分析
  2. CDOJ 1269 ZhangYu Speech
  3. node.js学习笔记(4) http服务
  4. winform dategridview 自动完成。
  5. MYSQL 实时升级
  6. 不让自己的应用程序在桌面的图标列表里启动显示的方法
  7. android okhttp使用cookie请求
  8. v8学习笔记(五) 编译过程
  9. 【转】时间序列分析——基于R,王燕
  10. 个人总结------高级知识点必会