关于HTTP协议,你知道多少? 干货速取~~

目录

一.HTTP协议

1.HTTP协议简述&作用

2. HTTP请求协议

请求行

请求头

请求体(请求正文)

3.​​​​​HTTP响应协议

响应行

响应头

响应体(响应正文)


 

一.HTTP协议

1.HTTP协议简述&作用

http://   就是http协议

http协议:超文本传输协议  (超文本数据传输中的规则、规范)

       所有WWW开头的网站都遵守该协议

 

www.baidu.com​​​​​​​

www.qq.com

 

作用:提前制定规则,使得请求-响应 传递数据时 更为快捷高效

  • HTTP协议默认的端口:80

目前使用的协议版本:1.1

  • HTTP请求协议,是浏览器把信息发送给服务器的方式。
  • HTTP响应协议,是服务器把信息返回给浏览器的方式。

 

HTTP请求包括:请求行、请求头、请求体

HTTP响应包括:响应行、响应头、响应体

 

行:数据量最少的

 

头:数据量中等。 (字节/KB)

 

体:数据量最大(理论是无限。 服务器、浏览器)

 

 

2.​​​​​​​ HTTP请求协议

 

  • 请求行

  • 请求行:请求信息的第一行,请求信息的首行

请求方式  请求路径  协议名/协议版本号

 

 

 

 

请求方式:get/post

请求路径:访问服务器的哪个资源/把表单数据传递到哪里

参数列表:

get方式传递的参数信息是放在请求行

post方式的参数列表是放在请求体

 

 

 

请求头

请求头是从请求的第二行开始

请求头的key和value都是预先定义好的。

浏览器将细致的要求,放在请求头中。

格式:key:value

 

请求头:

常见请求头

描述 (红色掌握,其他了解)

Referer

浏览器通知服务器,当前请求来自何处。如果是直接访问,则不会有这个头。常用于:防盗链

 

请求从哪里发来的

Cookie

与会话有关技术,用于存放浏览器缓存的cookie信息。

User-Agent

浏览器通知服务器,客户端浏览器与操作系统相关信息

Connection

保持连接状态。Keep-Alive 连接中,close 已关闭

Host

请求的服务器主机名   

Content-Length

请求体的长度

Content-Type

如果是POST请求,会有这个头,默认值为application/x-www-form-urlencoded,表示请求体内容使用url编码

Accept:

浏览器可支持的MIME类型。

MIME类型:互联网上为了具体传递文件类型的一种方式。

扩展名类型:硬盘上为了保存数据的一种文件类型方式,例如:*.html,*.jpg

 

MIME格式:大类型/小类型[;参数]

例如:

   text/html ,*.html,html格式的文本

   text/css,*.css, css格式的文本

   image/JPEG,*.jpg , JPEG格式的图片

Accept-Encoding

浏览器通知服务器,浏览器支持的数据压缩格式。如:GZIP压缩

Accept-Language

浏览器通知服务器,浏览器支持的语言。各国语言(国际化i18n)

If-Modified-Since

浏览器通知服务器,本地缓存的最后变更时间。与另一个响应头组合控制浏览器页面的缓存。(目前使用频率不高)

 

 

 

 

请求体(请求正文)

承载的数据量最大

 

请求体:位于请求的最后。 仅有post方式时,才有请求体。

 

作用:用来传递表单数据

特殊:空格变为+

 

 

3.​​​​​HTTP响应协议

从服务器把数据传递给浏览器

 

响应行

响应首行(响应第一行)

例如:HTTP/1.1 200 OK

格式:协议/版本 状态码  状态码描述

状态码:服务器与浏览器用于确定状态的固定数字号码

200 :请求成功。

302 :请求重定向。

 

304 :请求资源没有改变,访问本地缓存。(查看的不是网上资源,为本地缓存)

404 :请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。

500 :服务器内部错误。通常程序抛异常。

 

状态码:

1XX:禁止传递。 请求发送了,但没有响应

2XX:请求成功,响应成功。 例如:200

3XX:请求成功,但响应未完成。

4XX:浏览器路径错误

5XX:服务器错误

 

 

 

响应头

位于响应的第二行。

格式全部是:key:value

大部分响应头都是预定义好的

常见请求头

描述

location

指定响应的路径,需要与状态码302配合使用,完成跳转。(后面课程主讲)

Content-Type

响应正文的类型(MIME类型)

取值:text/html;charset=UTF-8

Content-Disposition

通过浏览器以下载方式解析正文(后面课程主讲)

取值:attachment;filename=xx.zip

Set-Cookie

与会话相关技术。服务器向浏览器写入cookie(后面课程主讲)

Content-Encoding

服务器使用的压缩格式

取值:gzip

Content-length

响应正文的长度

Server

指的是服务器名称,默认值:Apache-Coyote/1.1。可以通过conf/server.xml配置进行修改。<Connector port="8080" ... server="itcast"/>

Last-Modified

服务器通知浏览器,文件的最后修改时间。与If-Modified-Since一起使用。

 

 

响应体(响应正文)

(字节流、二进制数据)

响应体位于响应最后。

数据量理论上无限。

 

     响应体,就是服务器发送给浏览器的资源数据。

即:若浏览器想看html网页,响应体里就是html页面代码

       若浏览器想看jpeg图片,响应体里就是JPEG图片的二进制字节流数据

       若浏览器想看AVI视频,响应体里就是AVI视频的二进制字节流数据

 

情景:

浏览器 向 服务器发送请求,请求看一张图片,图片的扩展名必须是.gif

传递了参数数据:username=zhangsan

Get请求

 

 

服务器接收到数据后,向浏览器发送了一张图片。

状态码???

图片???

图片有多大???

解答:

请求看一张图片-----请求路径----请求行

图片的扩展名必须是.gif----请求文件类型----请求头

传递了参数数据:username=zhangsan------get---没有请求体---请求行

向浏览器发送了一张图片-----响应体

图片有多大-------响应头

状态码-----------响应行-------200

 

 

 

 

 

看完恭喜你,又知道了一点点!!!

你知道的越多,不知道的越多! 

~感谢志同道合的你阅读,  你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!

注: 如果本篇有需要改进的地方或错误,欢迎大神们指定一二~~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值