网络基础:HTTP请求结构

一、一般的请求消息如下图所示

我们将上述的请求消息分为三个部分:请求消息行、请求消息头、消息正文。

1.请求消息行

请求消息的第一行为请求消息行,

GET  /test/test.html  HTTP/1.1

GET为请求方式,请求方式分为:Get(默认)、POST、DELETE、HEAD等

GET:明文传输 不安全,数据量有限,不超过1kb

POST:暗文传输,安全。数据量没有限制。

/test/test.html为URI,统一资源标识符

HTTP/1.1为协议版本

2.请求消息头

从第二行开始到空白行统称为请求消息头

Accept:浏览器可接受的MIME类型

告诉服务器客户端能接收什么样类型的文件。

Accept-Charset:浏览器通过这个头告诉服务器,它支持哪种字符集

Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip

Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。 可以在浏览器中进行设置。

Host:初始URL中的主机和端口

Referrer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面

Content-Type:内容类型

告诉服务器浏览器传输数据的MIME类型,文件传输的类型

If-Modified-Since:利用这个头与服务器的文件进行比对,如果一致,则从缓存中直接读取文件

User-Agent:浏览器类型.

Content-Length:表示请求消息正文的长度

Connection:表示是否需要持久连接。如果服务器看到这里的值为“Keep -Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接

Cookie:用于分辨两个请求是否来自同一个浏览器,以及保存一些状态信息,

Date:请求时间GMT

 

3.消息正文

当请求方式是POST方式时,才能看见消息正文,

消息正文就是要传输的一些数据,如果没有数据需要传输时,消息正文为空。

 

二、响应

响应消息如图所示:

 

1.响应消息行

第一行响应消息为响应消息行,

HTTP/1.1   200   OK

HTTP/1.1为协议版本

200为响应状态码,常用的响应状态码有40余种,这里我们仅列出几种,详细请看:

200:一切正常

302/307:临时重定向

304:未修改,客户端可以从缓存中读取数据,无需从服务器读取

404:服务器上不存在客户端所请求的资源

500:服务器内部错误

OK为状态码描述

2.响应消息头

Location:指示新的资源的位置

通常和302/307一起使用,完成请求重定向

Server:指示服务器的类型

Content-Encoding:服务器发送的数据采用的编码类型

Content-Length:告诉浏览器正文的长度

Content-Language:服务发送的文本的语言

Content-Type:服务器发送的内容的MIME类型

Last-Modified:文件的最后修改时间

Refresh:指示客户端刷新频率,单位是秒

Content-Disposition:指示客户端下载文件

Set-Cookie:服务器端发送的Cookie

Expires:-1

Cache-Control:no-cache (1.1)  

Pragma:no-cache   (1.0)  表示告诉客户端不要使用缓存

Connection:close/Keep-Alive   

Date:请求时间

 

3.响应正文

即网页的源代码(F12可查看)

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1. 了解媒体访问层(MAC): 输入: ipconfig/all 观察输出结果 可选参数: /release 释放当前通过DHCP获得的IP /renew 释放当前通过DHCP获得的IP并重新获得一个IP 提示:上述二个命令只有是网卡的IP地址是设置为自动获取的才会有效果,设置为固定IP的将不会有什么变化。 观察输出结果,并回答以下问题: 利用IPCONFIG命令能查看到哪些地址信息? /displaydns 显示DNS缓存的记录. 2. NETSTAT Netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 输入下列命令和参数, 观察输出结果 netstat -a 显示建立在一个接口上的各种TCP和UDP会话 netstat -e 显示以太网统计数据,包括有问题的数据包 netstat -r 显示本地路由表的内容 netstat -s 显示每个协议的统计数据 3. ping 该命令是最常用的网络连通性测试的工具. 网际消息协议 (ICMP): 可以使用 ping 命令发送 ICMP 回应请求消息并记录收到 ICMP 回应回复消息。使用这些消息,可以检测网络或主机通讯故障并解决常见的 TCP/IP 连接问题。 ICMP 消息描述 回应请求: 确定 IP 节点(主机或路由器)能否在网络上使用。 回应回复: 回复 ICMP 回应请求。 无法访问目标: 通知主机数据报无法传递。 源减慢 :通知主机由于拥挤而降低发送数据报的速率。 重定向: 通知首选路由的主机。 超时: 指明 IP 数据报的生存时间 (TTL) 已到期。 参数: -t Ping 指定的计算机直到中断。 -l length 发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是 65,527。 ping www.jyu.edu.cn ping www.sina.com.cn 观察输出结果,并回答以下问题 (2)PING www.jyu.edu.cn显示PING不通,可能是什么原因造成的? (3)PING一个IP时,返回的结果中包含一个时间和TTL数值,这二个参数分别代表什么含义?由这个时间值能大致判断什么情况? (4)PING一个IP时,返回的结果中的TTL数值有些在240-255之间,有些在110-130之间,有些在50-65之间,这些不同的值相差很大,是什么原因?根据这些不同的数值能大致判断什么? 4. tracert 该工具类似UNIX中的traceroute,它报告你的计算机和目的地之间的每个接口的IP地址和名称。如果PING 失败,用tracert可以知道问题出在那里. 如果有连通性问题,可以使用 tracert 命令来检查到达的目标 IP 地址的路径并记录结果。tracert 命令显示用于将数据包从计算机传递到目标位置的一组 IP 路由器,以及每个跃点所需的时间。如果数据包不能传递到目标,tracert 命令将显示成功转发数据包的最后一个路由器。 比较 tracert www.jyu.edu.cn tracert www.sina.edu.cn 观察输出结果,并回答以下问题: (1)tracert某一个网站显示的跳数跟PING同一个网站返回的TTL值有什么关联?如果你已经知道了PING一个网站的TTL值是45,能不能直接计算出tracert该网站的跳数?怎么计算的? 5. pathping pathping 命令是路由跟踪工具,它将 ping 和 tracert 命令的功能与非这些工具提供的其他信息组合在一起。经过一段时间,pathping 命令将数据包发送到最终目标位置途中经过的每个路由器。pathping 命令与工具tracert类似,请比较tracert的结果。 6. nslookup Nslookup显示可用来诊断域名系统 (DNS) 基础结构的信息。只有在已安装 TCP/IP 协议的情况下才可以使用 Nslookup 命令行工具。 观察输出结果,并回答以下问题: (1)输出结果中的域名解析的IP是怎么来的?如何判断

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值