http协议

目录

一,什么是http协议

二,http常见的请求端和接收端

三,浏览器与服务器之间建立联系的过程

四,http请求方法参数解读

1,请求行

2,请求头信息

3,请求主体信息

五,http响应报文参数解读

1,响应行

2,响应头

3,响应主体信息

4,响应状态码

六,get和post方法的区别

1,get方法详解

2,post方法详解

3,get个post的区别一览

七,referer表头与防盗链


一,什么是http协议

        http是网络七层模型中应用层的协议。http协议实际上就是一个应用接口,我们可以通过浏览器或者各种编程语言的网络库来调用这些接口,然后控制网卡发送或者接收数据,数据通过网线(光纤)被各种网络设备不断转发,辗转到达目标地址。

        http协议多用于浏览器与服务器之间的数据请求和接收过程。比如请求各种html文本文件,js文本文件,css文本文件,图片、视频、音乐等。

        Ajax也是利用了http协议,但是他是一个单独的组件,协助浏览器完成网页的更新,他是用xmlrequest这种特殊形式的http协议实现。

        另外的操作还有向服务器提交表单数据,超链接跳转等都用到了http协议。

二,http常见的请求端和接收端

        常见的请求端就是浏览器,还有爬虫时使用的request、openurl等请求方法或者Telnet命令。

        常见的接收端就是各种服务器框架或者软件,比如Nginx,Apache,iis等,他们不停地监听来自各个地方的对自己的请求。

三,浏览器与服务器之间建立联系的过程

        第一步:浏览器向服务器IP地址发送请求,服务器监听之后得到该请求。

        第二步:服务器根据请求的要求回发指定数据到浏览器端。

        第三步:断开链接。

        这是大致的过程,期间如何建立链接,如何加密,如何握手不需要管。

四,http请求方法参数解读

1,请求行

        请求行又分3部分:请求方法--请求路径url--所用的协议。
        请求方法:GET,POST,PUT,DELETE,TRACE,OPTIONS。最常见的连接命令是get和post:GET:请求指定的页面信息,并返回实体主体。POST:向指定资源提交数据进行处理请求(如提交表单或者上传文件),数据被包含在请求体中。

        head请求:HEAD方法与GET方法相同,但没有响应体,仅传输状态行和标题部分,用于测试url所指的资源是否存在。

2,请求头信息

        请求头有很多的参数,每个参数都具有特定的含义。常见的有:host表主机名。connection表示链接类型。User-Agent表示浏览器的版本信息。Accept表示传输文件类型。Content-Type:POST 请求里用来表示的内容类型 。举例:Content-Type = Text/XML; charset=gb2312

        更加详细的参数解读在这个地方:请求头参数详解。

Host: www.baidu.com
Connection: keep-alive
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: no-cors
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9

3,请求主体信息

        一般使用post请求方式才有主体信息。主体信息就是发送给服务器的内容,比如在网页输入的密码,百度时输入的关键词,表单信息等。

五,http响应报文参数解读

1,响应行

2,响应头

        Accept-Ranges定义请求返回的单位,有none和bytes。Cache-Control表示通过某个指定指令来实现缓存机制,被用于在http请求和响应中。Connection表示客户端与服务连接类型,Keep-Alive表示持久连接。Location告诉浏览器要跳转到哪里。Content-Encoding浏览器支持的压缩编码是 gzip。Content-Length使用十进制的数字表示了消息的长度, 服务端告知浏览器要接受的数据长度。set-cookie将某些数据(值)设为cookie,作为cookie缓存后,在浏览器的cookie中就能看到这个数据。Content-Type告诉客户端实际返回的内容的内容类型。Date表示消息发送的时间,时间的描述格式由rfc822定义。例如,Date: Mon, 04 Jul 2011 05:53:36 GMT。

        更多参数解释在这里。响应头含义解释_Anita__li的博客-CSDN博客_响应头

3,响应主体信息

        一般就是服务器回发的html文本文件。

4,响应状态码

1xx:100-101 信息提示
2xx:200-206 成功
3xx:300-307 重定向
4xx:400-415 错误类信息,客户端错误
5xx:500-505 错误类信息,服务器端错误

200: 成功,请求数据通过响应报文的entity-body部分发送;OK
301: 请求的URL指向的资源已经被删除;但在响应报文中通过首部Location指明了资源现               在所处的新位置;Moved Permanently
302: 响应报文Location指明资源临时新位置 Moved Temporarily
304: 客户端发出了条件式请求,但服务器上的资源未曾发生改变,则通过响应此响应状态             码通知客户端;Not Modified
307:   浏览器内部重定向
401: 需要输入账号和密码认证方能访问资源;Unauthorized
403: 请求被禁止;Forbidden
404: 服务器无法找到客户端请求的资源;Not Found
500: 服务器内部错误;Internal Server Error
502: 代理服务器从后端服务器收到了一条伪响应,如无法连接到网关;Bad Gateway
503: 服务不可用,临时服务器维护或过载,服务器无法处理请求
504: 网关超时
————————————————

原文链接:https://blog.csdn.net/LC181119/article/details/122889106

六,get和post方法的区别

        get和post在底层实现都是一样的,主要区别在信息是否向外界展现。

1,get方法详解

        get将表单中数据按照name=value的形式,添加到action 所指向的URL 后面,并且两者使用”?”连接,而各个变量之间使用”&”连接;post是将表单中的数据放在HTTP协议的请求头或消息体中,传递到action所指向URL。

        上面的请求方式就是get方法,搜索的关键字post和get的区别会直接显示在网址框,这是不安全的。

2,post方法详解

         本质和get方法一样,但是他的提交信息不向外展示。

3,get个post的区别一览

七,referer表头与防盗链

        referer是一个请求头参数,说明你进入这个网页是从什么主机域名而来。比如:通过百度搜索进入某个网页,那么这个网页的站点服务器就会知道你是从百度搜索过来的。

        利用这个referer请求头信息,可以使用条件判断截胡某些ip对站点资源的访问。

        更多请求头参数说明在这里。Referer请求头_GD_vigoss的博客-CSDN博客_referer请求头

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值