专栏首页Java探索之路HTTP协议详解,浏览器和服务器交互过程详解

HTTP协议详解,浏览器和服务器交互过程详解

浏览器和服务器交互模式、http协议的概念和介绍

浏览器和服务器交互模式:

客户端根据用户输入的地址信息请求服务器,服务器在接收到用户的请求后进行处理, 然后将处理结果响应给客户端,客户端将响应结果展示给用户。

HTTP协议:

概念:超文本传输协议 作用: 规范了浏览器和服务器的数据交互 特点:简单快速、无连接、无状态、灵活、支持B/S及C/S模式、 注:HTTP1.1版本后支持可持续连接

无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

HTTP 的交互流程

一般分为四个步骤(一次完整的请求): 步骤一: 客户端和服务器端建立连接 步骤二:客户端发送请求数据到服务器端(HTTP 协议) 步骤三:服务器端接收到请求后,进行处理,然后将 处理结果响应客户端(HTTP 协议) 步骤四:关闭客户端和服务器端的连接(HTTP1.1 后不会立即关闭)

Http的请求头和请求方式

请求格式的结构:

请求行:请求方式、请求的地址和 HTTP 协议版本 请求头:消息报头,一般用来说明客户端要使用的一些附加信息 空行: 位于请求行和请求数据之间,空行是必须的。 请求数据:非必须。

HTTP 协议之请求方式

根据 HTTP 标准,HTTP 请求可以使用多种请求方法。 HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。 HTTP1.1 新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法

get 和 post 请求方式的区别:

get 请求方式:

请求数据会以?的形式隔开拼接在请求头中,不安全,没有请求实体部分。 HTTP 协议虽然没有规定请求数据的大小,但是浏览器对 URL 的长度是有限制的,所以 get 请求不能携带大量的数据。

post 请求方式:

请求数据在请求实体中进行发送,在 URL 中看不到具体的请求数据,安全。适合数据量大的数据发送。

Http的相应格式与响应码

响应格式的结构:

响应行(状态行):HTTP 版本、状态码、状态消息 响应头:消息报头,客户端使用的附加信息 空行:响应头和响应实体之间的,必须的。 响应实体:正文,服务器返回给浏览器的信息

响应报文格式

常见的响应码

服务器软件的介绍

所谓服务器软件其实就是代码编写的一个可以根据用户请求实时的调用执行对应的逻辑代码的一个容器。在普通用户看来就是一个安装程序。 我们只需要将服务器在操作系统上进行安装,并将我们事先编写好的逻辑处理代码根据规则放到服务器的指定位置,启动服务器,那么服务器就自动的会根据接收到请求调用并执行对象的逻辑代码进行处理。

Tomcat相关

常见问题: 1、 tomcat 的运行依赖 JDK,必须配置 JDK 环境。配置方式参照: https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html

2、 闪退,启动闪退问题一般是因为JDK的环境变量配置有问题,参照 1 进行重新进行配置,如果还是闪退, 在 bin\startup.bat 文件中的第一行前面加入:

SET JAVA_HOME=JDK 目录  
SET CATALINA_HOME=解压后 Tomcat 的目录  

这样,运行 startup.bat 就可以正常启动 tomcat 服务器,如 果想点击 shutdown.bat 关闭服务器,同样在 shutdown.bat 文 件中加入上面的两行即可

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Ajax详解(拓展:利用Ajax实现用户名的校验)

    注:尤其重点记忆Ajax的方式,因为这种方式应用范围最广,其他属性请自行搜索jquey的API

    时间静止不是简史
  • Servlet技术2

    注意: 键名其实就是前端页面中的表单标签的name属性的值或者前端页面其他方式提交数据的键的名字。 如果请求中没有对应的请求数据,则返回null.

    时间静止不是简史
  • JSP访问原理

    时间静止不是简史
  • 锦囊篇|一文遨游应用层

    从图中我们可以看到的例如HTTP、DNS、SMTP等一系列的协议都是在应用层这一层建立的。而这次我们主讲的就是面试中最常问到的HTTP和DNS了。

    ClericYi
  • 网络编程之抓包工具Fiddler入门

    1)要使用Fiddler进行抓包,首先需要确保Capture Traffic是开启的(安装后是默认开启的),勾选File->Capture Traffic,也可...

    lyb-geek
  • HTTP 基本知识

    code_horse
  • Fiddler抓包工具介绍&使用

    1>Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进...

    测试小兵
  • 记录一下 http status code

    一般查询我们都会使用 GET 方法, 创建新的记录使用 POST 方法 更新已有数据使用 PUT 方法 更新已有数据部分属性使用 PATCH 方法 删除已有数据...

    用户7053485
  • 网络编程之HTTP协议的请求方法

    HTTP是一个基于TCP/IP通信协议来传递数据,包括html文件、图像、结果等,即是一个客户端和服务器端请求和应答的标准。

    lyb-geek
  • 常见”HTTP状态码”大全

    当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server...

    空木白博客

扫码关注云+社区

领取腾讯云代金券