JavaWeb 之 Http
0x01:为什么会有Http?
在 HTTP 建立之初,主要目的就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器
0x02:什么是Http?
http是一个简单的,请求-响应协议,是超文本传输协议,通常运行在TCP之上
https是http的安全版本
0x03:Http的发展
http1.0:客户端与服务端连接,只能获得一个web资源
http2.0:客户端与服务端连接,可以获得多个web资源
0x04:Http请求
客户端 --------Request----------- 服务端
请求头
Request URL:https://www.baidu.com/ //请求地址
Request Method:GET //get方法/post方法
Status Code:200 OK //状态码:200
Accept: //告诉浏览器,它所支持的数据类型
Accept-Encoding: //支持哪种编码格式(GBK,UTF-8,GB2312,ISO8859-1)
Accept-Language: //告诉浏览器,它的语言环境
Cache-Control: //缓存控制
Connection: //告诉浏览器,请求完成是断开还是保持连接
HOST: //主机
请求行
- 请求方式: GET,POST,(HEAD,DELETE,PUT,TRACT)
- GET:请求携带参数较少,有大小限制,会在浏览器URL地址栏显示数据内容
- POST:参数不限,大小不限,不显示数据内容
从请求方式看,没有过多限制的POST效率不如GET,但是安全性强于GET
0x05:Http响应
Bdpagetype: 2
Bdqid: 0xa06ecf7f00038ae9
Cache-Control: private
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Fri, 01 Jan 2021 04:48:46 GMT
Expires: Fri, 01 Jan 2021 04:48:46 GMT
Server: BWS/1.1
Set-Cookie: BDSVRTM=175; path=/
Set-Cookie: BD_HOME=1; path=/
Set-Cookie: H_PS_PSSID=33425_1426_33306_31660_33351_33313_33312_33311_33310_33309_26350_33308_33307_33268_33394_33370; path=/; domain=.baidu.com
Strict-Transport-Security: max-age=172800
Traceid: 1609476526037233921011560405437874670313
Transfer-Encoding: chunked
X-Ua-Compatible: IE=Edge,chrome=1
Cache-Control //缓存控制
Connection: keep-alive //连接
Content-Encoding:gzip //编码
Content-Type:text/html //类型
响应状态码
- 200 成功
- 302 重定向
- 402 web资源不存在
- 500 服务器代码错误
- 502 网关错误
JavaWeb 之 Http的更多相关文章
- 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)
在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都 ...
- JavaWeb——Servlet
一.基本概念 Servlet是运行在Web服务器上的小程序,通过http协议和客户端进行交互. 这里的客户端一般为浏览器,发送http请求(request)给服务器(如Tomcat).服务器接收到请求 ...
- JavaWeb——Listener
一.基本概念 JavaWeb里面的listener是通过观察者设计模式进行实现的.对于观察者模式,这里不做过多介绍,大概讲一下什么意思. 观察者模式又叫发布订阅模式或者监听器模式.在该模式中有两个角色 ...
- .JavaWeb文件上传和FileUpload组件使用
.JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...
- javaWeb应用打包
在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:
- JavaWeb——tomcat安装及目录介绍
一.web web可以说,就是一套 请求->处理->响应 的流程.客户端使用浏览器(IE.FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Reque ...
- 做JavaWeb开发不知Java集合类不如归家种地
Java作为面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.但是使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容 ...
- JavaWeb基础学习体系与学习思路
对于JAVAWEB的学习,首先一定要明确的是学习整体框架和思路,要有一个把控.对于WEB,很多人认为是做网页,简单的把静态网页与JAVAWEB与网页设计一概而论. 拿起一本JS就开始无脑的学习,学了一 ...
- Eclipse下配置javaweb项目快速部署到tomcat
用惯了VS,再用Eclipse,完全有一种从自动挡到手动挡的感觉啊. 很多同学在Eclipse下开发web项目,每一次修改代码,看效果的时候都有右键项目->Run as -> Run on ...
- javaweb学习笔记之servlet01
一.Servlet概述 A servlet is a small Java program that runs within a Web server. Servlets receive and re ...
随机推荐
- Ubuntu下的LGT8F328P MiniEVB Arduino开发和烧录环境
基于 LGT8F328P LQFP32 的 Arduino MiniEVB, 这个板型资料较少, 记录一下开发环境和烧录过程以及当中遇到的问题. 关于 LGT8F328P 芯片参数 8位RISC内核 ...
- 日常JS数据各种操作方法总结~~欢迎大家留言板补充哦~~
需求情景一: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- 【分析笔记】Linux gpio_wdt.c 看门狗设备驱动源码分析
基本原理 该看门狗的设备驱动实现原理很简单,比较主要的有两点: 一.定时器喂狗 通过定时器根据配置文件配置的喂狗方式(如脉冲切换.电平切换),对指定的 gpio 进行脉冲切换或电平切换实现喂狗. 脉冲 ...
- Dubbo2.7的Dubbo SPI实现原理细节
总结/朱季谦 本文主要记录我对Dubbo SPI实现原理的理解,至于什么是SPI,我这里就不像其他博文一样详细地从概念再到Java SPI细细分析了,直接开门见山来分享我对Dubbo SPI的见解. ...
- Django框架之drf:7、认证组件,权限组件,频率组件,过滤的多种用法,排序,分页,
Django框架之drf 一.认证组件 简介: 登录认证的限制 认证组件是drf框架给我们提供的认证接口,它能够在请求进入视图函数/类前进验证(例如:认证用户是否登录),对不符合认证的请求进行 ...
- 梳理selenium的鼠标方法
梳理selenium的鼠标方法 你需要有一定的selenium基础 基本用法 包导入 from selenium.webdriver import ActionChains 调用方式一:链式调用 ...
- Python第三方库arrow
Python第三方库arrow https://pypi.org/project/arrow/ 简介 处理时间日期的一个第三方库 Arrow is a Python library that offe ...
- MySQL-SQL语句查询关键字
1.SQL语句查询关键字 1.select:指定需要查找的字段信息,eg:select *,select name.同时select也支持对字段做处理,eg:select char_length(na ...
- Nginx04 反向代理和负载均衡
1 反向代理介绍 https://www.cnblogs.com/jthr/p/16827214.html 2 负载均衡介绍 https://www.cnblogs.com/jthr/p/168273 ...
- Svelte框架结合SpreadJS实现表格协同文档
SpreadJS是葡萄城结合 40 余年专业控件技术和在电子表格应用领域的经验而推出的纯前端表格控件.作为一个类Excel控件,SpreadJS如何实现当前比较流行的表格协同呢?本篇文章将简单介绍一下 ...