HTTP协议

自从入坑以来,只要是跟web打交道,总是免不了这个HTTP协议,这是什么鬼,让我们一探究竟。(不周之处还请赐教!!!

既然是协议,我们首先要问三个问题,谁跟谁的协议?协议是什么?怎么用?

第一个问题:

      谁跟谁的协议?

   所谓协议,至少需要两方,甲方and乙方,我们先说下甲方and乙方到底是谁,粗俗的理解,甲方就是我们用的浏览器客户端,乙方就是服务器--(可以先这样理解---存储你想要的页面的地方),http协议就是他们俩要遵守的协议。

第二个问题:

  协议是什么?

  还是要俗,比如说你去超市买东西,你跟售货员说来一瓶罐装可口可乐,注意这里面有三个元素(你,可口可乐,售货员),你跟售货员之间就遵循了一份协议。而可口可乐就是这份协议当中的一份内容,你说要罐装的可口可乐,售货员就给你拿一罐罐装的可口可乐,你说要红茶,售货员肯定给你拿红茶而不是其他的东西,这就是是http协议,它定义了你的请求格式,也定义了服务器的返回格式。你的请求格式:(一瓶,罐装,可口可乐可乐),如果售货员有的话-格式(有,一瓶,罐装,可口可乐),如果没有的话--格式(没有)。

官方语言:

     HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。

第三个问题:

怎么用?

    http协议就是浏览器客户端跟服务器之间的协议,你想要访问一个页面,而页面存储在服务器,你得向服务器要,而怎么要就是你(也就是甲方)要遵循的协议,举个例子说明

第一个红色框框:GET是你请求资源的方式,/JavaWebDemoProject/Web/1.jsp----- 你要请求的页面,HTTP/1.1----http协议的版本,

第二个红色框框:accept:浏览器通过这个头告诉服务器,它所支持的数据类型
                           Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
         Accept-Encoding:浏览器通过这个头告诉服务器,支持的压缩格式
            Accept-Language:浏览器通过这个头告诉服务器,它的语言环境
            Host:浏览器通过这个头告诉服务器,想访问哪台主机
         If-Modified-Since: 浏览器通过这个头告诉服务器,缓存数据的时间
           Referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的  防盗链
            Connection:浏览器通过这个头告诉服务器,请求完后是断开链接还是何持链接

既然我们已经发出请求了,剩下的就是服务器的回应了。

第一个红色框框:http/1.1还是http协议的版本号,200是状态码--指的是对你的请求做出的回应   OK返回状态的原因,常见的状态码贴上:

第二个红色框框:告诉你的浏览器返回内容的类型啊,格式啊,字符编码啊,大小啊还有服务器的的一些基本信息啊这些东西吧,不做过多的解释了。

第三个红色框框:当然就是你想要页面的内容了,然后你的浏览器接收这些内容,然后以页面的形式展现给你!

好了,http协议本人理解的就这么多了,希望对大家有帮助。

java之http协议的更多相关文章

  1. Java实现SOAP协议 之 HelloWorld

    Java实现SOAP协议 之 HelloWorld SOAP是把基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起. 准备: 1. 准备一个web server.Tomcat 下载地址 h ...

  2. 《转》Java与Http协议

    引言 http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议,常基于TCP的连接方式.HTTP协议的主要特点是:     1.支持客户/服务器模式.     2.简单快速:客户向 ...

  3. Java远程方法协议(JRMP)

    Java远程方法协议(英语:Java Remote Method Protocol,JRMP)是特定于Java技术的.用于查找和引用远程对象的协议.这是运行在Java远程方法调用(RMI)之下.TCP ...

  4. Java Web ——http协议请求报文

    package com.demo.util; import java.io.IOException; import java.io.InputStream; import java.net.*; /* ...

  5. JAVA的UDP协议交互信息

    由于要做app的UDP协议交互,所以就特地学习了下,其实也就类似于java的server和socket,下面就写了个简单的demo 服务端: package com.test1; import jav ...

  6. Java 实现 SSH 协议的客户端登录认证方式--转载

    背景 在开篇之前,让我们先对 SSH 协议有个宏观的大致了解,这样更有利于我们对本文的加深了解.首先要提到的就是计算机网络协议,所谓计算机网络协议,简单的说就是定义了一套标准和规则,使得不同计算机之间 ...

  7. java EE : http 协议之请求报文、响应报文

    1 HTTP协议特点 1)客户端->服务端(请求request)有三部份 a)请求行 b)请求头 c)请求的内容,如果没有,就是空白字符 2)服务端->客户端(响应response)有三部 ...

  8. JAVA 基于TCP协议的一对一,一对多文件传输实现

    最近老师给我们上了多线程和TCP和UDP协议,其中一个要求就是我们用JAVA协议一个基于TCP和UDP这两种协议的一对一文件上传和一对多文件上传. 然后我就开始分析TCP和UDP这两个协议的特点,发现 ...

  9. 理解java底层通讯协议

    引言: 本周自己重新对底层通讯方式进行了学习,在此做一个输出. 分别从客户端发送多个请求的需求角度与服务端接收多个连接发送请求的需求角度,剖析4种基于java自身技术实现的消息方式通讯所带来的影响,解 ...

  10. Java Web ——http协议响应报文

    HTTP 响应报文 HTTP 响应报文由状态行.响应头部.空行 和 响应包体 4 个部分组成,如下图所示: 下面对响应报文格式进行简单的分析: 状态行:状态行由 HTTP 协议版本字段.状态码和状态码 ...

随机推荐

  1. 英文版windows7中文软件显示乱码的解决办法

    一.打开控制面板,修改语言的归属地为China 修改完成之后重启,一般能解决大部分问题,如果依然有部分显示乱码,就需要去修改注册表

  2. 设计模式 - 代理模式(jdk)

    定义:为另一个对象提供一个替身或占位符以控制对这个对象的访问. 一.静态代理 静态代理说白了就是把原先直接调用被代理类的方法放到代理类来调用,同时 我们可以在代理类额外的添加一些操作. 接口: pac ...

  3. 集合用法笔记-Map用法

    一.Map遍历 Map<String, String> map = new HashMap<String, String>(); map.put("1", ...

  4. 自定义七天签到View

    github传送车走你 https://github.com/guanhaoran/signin 因为这个View 是我很早之前写的,这些注释也是我今天刚想往github上传的时候 临时加的  有的注 ...

  5. 用 volume container 共享数据 - 每天5分钟玩转 Docker 容器技术(42)

    volume container 是专门为其他容器提供 volume 的容器.它提供的卷可以是 bind mount,也可以是 docker managed volume.下面我们创建一个 volum ...

  6. Java 日志框架终极教程

    概述 对于现代的 Java 应用程序来说,只要被部署到真实的生产环境,其日志的重要性就是不言而喻的,很难想象没有任何日志记录功能的应用程序被运行于生产环境中.日志 API 所能提供的功能是多种多样的, ...

  7. php与MySQL(php内置mysql函数)

    获取数据 在讲解下面的方法之前,我们首先来看一下我们的数据表的结构: mysqli_fetch_row()函数 mysqli_fetch_row()函数从结果集中取得一行,并以索引数组形式返回. 语法 ...

  8. 基于layUI实现前端分页功能

    一.layUI介绍 Layui 是一款采用自身模块规范编写的国产前端UI框架,遵循原生HTML/CSS/JS的书写与组织形式,门槛极低,拿来即用.内置了一些常用元素和组件的UI框架. 下载地址为htt ...

  9. Android - service and thread

    服务(Service)是Android中实现后台程序运行的方案.适合执行那些不需要和用户交互并长期执行的任务. 服务并非运行在一个独立的进程中,而是依赖于创建服务时所在的应用程序.当某个应用程序进程被 ...

  10. (转)PLSQL Developer导入Excel数据

    场景:近来在做加班记录的统计,主要是统计Excel表格中的时间,因为我对于Excel表格的操作不是很熟悉,所以就想到把表格中的数据导入到数据库中,通过脚本语言来统计,就很方便了!但是目前来看,我还没有 ...