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的更多相关文章

  1. 从啥也不会到可以胜任最基本的JavaWeb工作,推荐给新人的学习路线(二)

    在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都 ...

  2. JavaWeb——Servlet

    一.基本概念 Servlet是运行在Web服务器上的小程序,通过http协议和客户端进行交互. 这里的客户端一般为浏览器,发送http请求(request)给服务器(如Tomcat).服务器接收到请求 ...

  3. JavaWeb——Listener

    一.基本概念 JavaWeb里面的listener是通过观察者设计模式进行实现的.对于观察者模式,这里不做过多介绍,大概讲一下什么意思. 观察者模式又叫发布订阅模式或者监听器模式.在该模式中有两个角色 ...

  4. .JavaWeb文件上传和FileUpload组件使用

    .JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...

  5. javaWeb应用打包

    在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:

  6. JavaWeb——tomcat安装及目录介绍

    一.web web可以说,就是一套 请求->处理->响应 的流程.客户端使用浏览器(IE.FireFox等),通过网络(Network)连接到服务器上,使用HTTP协议发起请求(Reque ...

  7. 做JavaWeb开发不知Java集合类不如归家种地

    Java作为面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储.但是使用数组存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容 ...

  8. JavaWeb基础学习体系与学习思路

    对于JAVAWEB的学习,首先一定要明确的是学习整体框架和思路,要有一个把控.对于WEB,很多人认为是做网页,简单的把静态网页与JAVAWEB与网页设计一概而论. 拿起一本JS就开始无脑的学习,学了一 ...

  9. Eclipse下配置javaweb项目快速部署到tomcat

    用惯了VS,再用Eclipse,完全有一种从自动挡到手动挡的感觉啊. 很多同学在Eclipse下开发web项目,每一次修改代码,看效果的时候都有右键项目->Run as -> Run on ...

  10. javaweb学习笔记之servlet01

    一.Servlet概述 A servlet is a small Java program that runs within a Web server. Servlets receive and re ...

随机推荐

  1. vue3学习第一天

    第一章 Options API与Composition API 重写双向绑定 vue2 基于Object.defineProperty()实现 vue3 基于Proxy proxy与Object.de ...

  2. [机器学习] 特征选择笔记4-使用SelectFromModel特征选择

    特征选择 代码下载 本文主要介绍sklearn中进行特征选择的方法. sklearn.feature_selection模块中的类可用于样本集的特征选择/降维,以提高估计量的准确性得分或提高其在超高维 ...

  3. [cocos2d-x]registerScriptHandler和registerScriptTapHandler区别

    一 .调用registerScriptHandler 的对象不同相应的响应函数和调用方式也不相同 1. 对象为layer时调用方式为: local function onNodeEvent(event ...

  4. 使用Rancher管理K3s

    rancher中国镜像站地址 https://rancher-mirror.oss-cn-beijing.aliyuncs.com/ https://rancher-mirror.rancher.cn ...

  5. Three.js 进阶之旅:新春特典-Rabbit craft go 🐇

    声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 摘要 兔年到了,祝大家身体健,康万事顺利.本文内容作为兔年新春纪念页面,将使用 ...

  6. Java基础学习笔记-数据类型、数制

    数据类型,跟JS感觉差异不是很大,但是有个String不是很一样的样子 数据类型分为 基本数据类型和复合数据类型 基本数据类型分为下面三种 数值类型 1.整数类型:byte,short,int,lon ...

  7. Angular8中共享模块,共享组件的写法(anular其他模块组件引用方法)

    Angular8中共享模块,共享组件的写法(anular其他模块组件引用方法) 第一步:全局创建一个共享的module 这里示例创建一个模块common-share 创建完成后,会生成两个文件 文件1 ...

  8. VS针对Linux远程调试步骤

    VS2019下对于远程Linux下C++代码的调试 VS2017后新增了对跨平台代码的编写,编译和调试的功能,2019后更是新增了多种插件,以下是针对C++版本的linux环境代码调试 准备工作 安装 ...

  9. 【模板】倍增求LCA

    题目链接 一. 时间戳法(本质上是dfs序) #include<cstdio> using namespace std; const int NN = 5e5+8; int n,m,s; ...

  10. Vue3 中的组件 provide和inject 传值、获取组件实例的方法getCurrentInstance()

    一. provide和inject(依赖注入) 1:在父级组件中提供数据           语法:provide('提供给子组件的变量名',提供给子组件的数据) 2: 在子级组件中获取收据     ...