http协议基础 4. http请求报文格式

1.http请求报文的格式

请求报文的起始行包括 :请求方法 (Get Post Head等八种请求方式) + 请求URL (此处为URL定位到请求的地方)  + 请求的协议 图中为http1.0

请求头也就是图中首部包括:头部字段名 :头部字段名的值   (之前遇到过一个跨域访问接口的问题,也是在响应的报文头部加上字段之后可以实现跨域访问,之后我会整理一篇来阐述)

比如常见的:

Accept:表示客户端接受的内容类型,按照先后顺序表示客户端接收数据的先后次序

X-Requested-With:以x开头的是非http标准,一般是某种技术的出现而定义的;这里是用来判断是http请求还是ajax请求。

Referer:从这个页面访问请求行里的url

Accept-Language:客户端接受内容返回优先选择的语言

Accept-Encoding:客户端可以接受的服务器对返回内容进行编码压缩的格式。

User-Agent:客户端运行的浏览器类型信息。

Host:头域指定请求的服务器的地址和端口,HTTP/1.1必须包括Host,否则返回400

Connection:表示是否需要持久连接

Cookie:http请求时,会把保存的cookie也发送服务器。cookie是保存在客户端里的,分为内存cookie和硬盘cookie。前者随着浏览器关闭而消失,后者由过期时间或者用户手动清除。因为http请求是无状态的,所以服务器为了认证,会生成sessionid,让浏览器setcookie保存起来,每次请求携带上认证信息(关于cookie和session这个是面试官常问的,这个之后有时间得总结一下,简单的来说就是在服务器端和客户端存放的区别。)

请求数据包括: 就是请求发送的数据。

2.Http响应报文的格式

响应报文的起始行包括:状态行。也就是请求返回的状态,下一篇会讲到各种响应返回状态的整理(从1xx到5xx,包括常见的404,500的原因方便查找)

响应报文的首部包括:也是消息报头,包括返回的消息的一些属性内容等。比如

Server:包含处理请求的服务器信息,包含多个产品注释和标识。

Cache-Control:告知缓存机制是否可以缓存和类型,private是只能当前用户,不能被共享。

Expires:响应过期时间

X-Application-Context:application配置,这里表示读取的是application-prod.properties

Content-Type:返回数据的类型和字符编码格式

Transfer-Encoding:告知接收端,报文采取了何种编码,chunked表示服务器无法确定消息大小,一般比如下载等,就采用chunked。

Date:返回消息的时间

响应报文的主题:返回的就是我们请求的数据等消息。

原文地址:https://www.cnblogs.com/ajiffuu/p/10496421.html

时间: 2024-08-30 06:20:52

http协议基础 4. http请求报文格式的相关文章

HTTP协议浅析(中):请求报文和响应报文

1. 请求报文格式 1.1 服务器测试代码 服务器测试代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int main() { // 创建通信端点:套接字 int s

Go语言之进阶篇请求报文格式分析

1. 请求报文格式分析 示例: package main import ( "fmt" "net" ) func main() { //监听 listener, err := net.Listen("tcp", ":8000") if err != nil { fmt.Println("Listen err = ", err) return } defer listener.Close() //阻塞等待用户

HTTP POST请求报文格式分析与Java实现文件上传

时间 2014-12-11 12:41:43  CSDN博客 原文  http://blog.csdn.net/bboyfeiyu/article/details/41863951 主题 HTTPHttpComponents 在开发中,我们使用的比较多的HTTP请求方式基本上就是GET.POST.其中GET用于从服务器获取数据,POST主要用于向服务器提交一些表单数据,例如文件上传等.而我们在使用HTTP请求时中遇到的比较麻烦的事情就是构造文件上传的HTTP报文格式,这个格式虽说也比较简单,但也

HTTP请求报文格式

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

ARP地址解析协议&lt;四&gt;——ARP地址规格参数和通用地址及报文格式

1.ARP的基本操作: 就是本地网络中的一对请求和响应的传输. 理解:源(要发送IP数据报的设备)发送一个包含目的地(接收数据报的一方)信息的广播,目的地则使用单播向该源发回一个响应,告诉源那个目的地的MAC地址. 2.ARP报文类型: 首先,在ARP中发送了2种不同的报文,分别是,从源到目的地和从目的地到源.发送方是发送报文,目标方是接收报文.发送方和目标方的身份对每个报文都不一样,根据具体的情况而定. 3.发送方和目标方的身份是如何用于请求和回答的呢? 首先,再先介绍4个关键词: 请求.回答

HTTP请求、响应报文格式

HTTP请求报文格式: HTTP请求报文主要由请求行.请求头部.请求正文3部分组成 1,请求行 由3部分组成,分别为:请求方法.URL(见备注1)以及协议版本,之间由空格分隔 请求方法包括GET.HEAD.PUT.POST.TRACE.OPTIONS.DELETE以及扩展方法,当然并不是所有的服务器都实现了所有的方法,部分方法即便支持,处于安全性的考虑也是不可用的 协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1 2,请求头部 请求头部为请求报文添加了一

ARP报文格式

ARP/RARP报文格式 地址解析协议ARP(Address Resolution Protocol)是用来将IP地址解析为MAC地址的协议. 报文格式 字段 长度(bit) 含义 Ethernet Address of destination 48比特 目的以太网地址.发送ARP请求时,为广播的MAC地址,0xFF.FF.FF.FF.FF.FF. Ethernet Address of sender 48比特 源以太网地址. Frame Type 16比特 表示后面数据的类型.对于ARP请求或

Java socket模拟HTTP协议客户端之POST请求

相比于GET请求,POST报文多了如下几个要素: 1,Content-Length,这个是上送报文的长度,以字节为单位 2,Content-Type,这主要是涉及到报文的格式和字符集. 3,就是主报文 主类SimpleHttpPost: package com.zws.http; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.InetSock

http请求报文

HTTP请求报文格式 status-line 格式为:request-uri(即想要请求获得的东西) HTTP版本号 headers<0个或多个> <blank line> body 请求头 status-line headers部分 一个例子 E..`[email protected]@.(Q.... .......P.j#d.... .....q.......j.. .l..GET./styles/ nav.css.HTTP/1.1 ..Host:.software .hitw