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

Java实现SOAP协议 之 HelloWorld SOAP是把基于HTTP的WEB技术与XML的灵活性和可扩展性组合在了一起. 准备: 1. 准备一个web server.Tomcat 下载地址 http://tomcat.apache.org/ 本例使用版本 apache-tomcat-7.0.54-windows-x64.zip 2. 写一个servlet send用来发送一个SOAP的message并添加一个附件. 3. 写一个servlet receive用来做SOAP message…
引言 http(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议,常基于TCP的连接方式.HTTP协议的主要特点是:     1.支持客户/服务器模式.     2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径.由于HTTP协议简单,通信速度很快.     3.灵活:HTTP允许传输任意类型的数据对象.类型由Content-Type加以标记.     4.无连接:即每次连接只处理一个请求,处理完客户的请求,并收到客户的应答后,即断开连接.采用这种方式可以节省传输时间…
Java远程方法协议(英语:Java Remote Method Protocol,JRMP)是特定于Java技术的.用于查找和引用远程对象的协议.这是运行在Java远程方法调用(RMI)之下.TCP/IP之上的线路层协议. JRMP是一个Java特有的.适用于Java之间远程调用的基于流的协议,要求客户端和服务器上都使用Java对象.…
package com.demo.util; import java.io.IOException; import java.io.InputStream; import java.net.*; /** * 1.模拟服务器,通过浏览器来访问 * @author AWEEN * */ public class HttpDemo { public static void main(String[] args) { // TODO Auto-generated method stub ServerSo…
由于要做app的UDP协议交互,所以就特地学习了下,其实也就类似于java的server和socket,下面就写了个简单的demo 服务端: package com.test1; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.net.SocketException;…
背景 在开篇之前,让我们先对 SSH 协议有个宏观的大致了解,这样更有利于我们对本文的加深了解.首先要提到的就是计算机网络协议,所谓计算机网络协议,简单的说就是定义了一套标准和规则,使得不同计算机之间能够进行正常的网络通信,不至于出现在一台机器上发出的指令到另一台机器上成了不可认的乱码,SSH 就是众多协议的其中之一.经典的七层 OSI 模型(Open System Interconnection Reference Model)出现后,大大地解决了网络互联的兼容性问题,它将网络划分成服务.接口…
1 HTTP协议特点 1)客户端->服务端(请求request)有三部份 a)请求行 b)请求头 c)请求的内容,如果没有,就是空白字符 2)服务端->客户端(响应response)有三部 a)响应行 b)响应头 c)响应的内容,如果没有,就是空白字符 *2 HTTP请求头和响应头含义 1)请求(客户端->服务端[request]) GET(请求的方式) /books/java.html(请求的目标资源) HTTP/1.1(请求采用的协议和版本号) Accept: */*(客户端能接收的…
最近老师给我们上了多线程和TCP和UDP协议,其中一个要求就是我们用JAVA协议一个基于TCP和UDP这两种协议的一对一文件上传和一对多文件上传. 然后我就开始分析TCP和UDP这两个协议的特点,发现TCP是流传输,抓住这一点就好实现了. 现在我们需要解决一下几个问题, 1.如何确定文件名称 2.如何完成数据传输,并复原成原来的文件. 解决方案就是,对象这是个好东西,因为TCP支持流传输的缘故,我们把每个文件对象化,这样我们就很容易实现基于TCP的多文件上传了. 下面是文件对象代码: 因为我考虑…
引言: 本周自己重新对底层通讯方式进行了学习,在此做一个输出. 分别从客户端发送多个请求的需求角度与服务端接收多个连接发送请求的需求角度,剖析4种基于java自身技术实现的消息方式通讯所带来的影响,解决方式以及各自通讯方式的区别和优缺点. 通讯协议的特性: 4种组合通讯方式区别和优缺点剖析: TCP/IP+BIO: 对于客户端同时发送多个请求到服务端的问题:   简单直接的解决方式:生成多个socket连接 上述解决方式带来的影响: 1.生成太多的socket客户端会消耗大量的本地资源,当客户端…
HTTP 响应报文 HTTP 响应报文由状态行.响应头部.空行 和 响应包体 4 个部分组成,如下图所示: 下面对响应报文格式进行简单的分析: 状态行:状态行由 HTTP 协议版本字段.状态码和状态码的描述文本 3 个部分组成,他们之间使用空格隔开; ● 状态码由三位数字组成,第一位数字表示响应的类型,常用的状态码有五大类如下所示: 1xx:表示服务器已接收了客户端请求,客户端可继续发送请求; 2xx:表示服务器已成功接收到请求并进行处理; 3xx:表示服务器要求客户端重定向; 4xx:表示客户…
解决https请求时出现pkix path building fail错误 方法 将submail.cer 安全证书导入到java中的cacerts证书库 (sumail是我从https://api.submail.cn/mail/send.json下的安全证书) 步骤:1)进入jdk路径 将submail.cer放在jdk1.7.0_13\jre\lib\security中2)输入命令keytool -import -alias cacerts -keystore cacerts -file…
摘自:http://blog.csdn.net/wintys/article/details/3525643/ Server端. package com.topca.server; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class UDPServer { public static…
一.HTTP请求信息 请求行 请求头 空行 消息体 1.防盗链: 枚举类型: 二.中文乱码问题 1.Get提交 String username = request.getParameter("username"); new String(username.getBytes("iso--8859-1"),"utf-8"); 2.Post提交 request.setCharsetEncoding("utf-8"); 响应时乱码问题…
如果遇到的是 上图的异常,请继续往下看. linux 下 添加 证书 (1) 获取网站安全证书 xx.cer ( 详情见随笔 获取网站安全证书 ) (2) 将上面导出的证书导入java中的cacerts证书库 例如 我的证书 叫 lb_ids.cer ,将其放到java证书库 /usr/loca/Java/jdk1.8.0_45.jdk/jre/lib/security/lb_ids.cer linux 系统中: 1.进入 linux 中jdk 的security 目录下 例:我的证书库 /us…
                             HTTP协议 自从入坑以来,只要是跟web打交道,总是免不了这个HTTP协议,这是什么鬼,让我们一探究竟.(不周之处还请赐教!!!) 既然是协议,我们首先要问三个问题,谁跟谁的协议?协议是什么?怎么用? 第一个问题:    谁跟谁的协议? 所谓协议,至少需要两方,甲方and乙方,我们先说下甲方and乙方到底是谁,粗俗的理解,甲方就是我们用的浏览器客户端,乙方就是服务器--(可以先这样理解---存储你想要的页面的地方),http协议就是他们…
UDP协议是非面向连接的,相对于TCP协议效率较高,但是不安全.UDP协议类似发信息的过程,不管接收方是在线还是关机状态,都会把信息发送出去.但是如果接收方不处于接收信息的状态,发送出去的数据包就会丢失. convert()方法是用来转换字节数组和基本类型. /** * 创建基于udp协议的服务接受端 * @author wxisme * */ public class MyServer { public static void main(String[] args) throws IOExce…
HTTP 协议 一.基础 1.概念 HTTP:Hyper  Text Transfer Protocol 超文本传输协议. 传输协议:定义了客户端和服务器端通信时,发送数据的格式. 2.特点 (1)基于 TCP/IP 的高级协议 (2)默认端口号:80 (3)基于请求/响应模型的:一次请求对应一次响应 (4)无状态的:每次请求之间相互独立,不能交互数据 3.历史版本 (1)1.0:每次请求响应都会建立新的连接 (2)1.1:请求的连接可以复用 二.请求消息数据格式 一个请求消息数据(字符串格式)…
public void sendMessage() throws Exception { System.out.println("调用servlet开始================="); StringBuffer sendStr = new StringBuffer(); sendStr.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); sendStr…
之前的代码中关闭了 socket 对象的输入流与输出流,但并没有关闭掉socket 对象,会造成服务器资源的浪费,应通过调用 socket 的 close() 方法来关闭当前的socket 对象. 因此,可以通过创建一个  ServerScanThread 线程,使其一直在后台运行,扫描看哪些 socket 对象的 Input Stream 与 OutputStream 均已关闭,当扫描到当前 socket 对象的输入输出流均已关闭,则关闭当前 socket 对象. 扫描线程代码: public…
http://blog.csdn.net/haidage/article/details/6859716 在自己尝试之后发现以上内容里有坑. 1.关闭连接的时候,必须要sftp.getSession().disconnect();sftp.quit();sftp.disconnect();否则session回话一直都在,如果使用 main()函数测试的话,进程一直都不关闭. 2.上面的文章里,没有考虑到使用证书加密的方式进行访问, (1) 在变量声明中加一个证书文件路径变量. private S…
一  location :*****   302   重定向  private void doWork(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 设置响应 code resp.setStatus(302); // 设置响应 header 参数 ,通知浏览器进行重定向 resp.setHeader("location", "index.j…
1.文件加密上传后发现文件已损坏: 原因:使用 read(byte[]) 方法不能够准确的获取到正确的字节数,有可能比 byte[].length 小,所以在解密的时候出现错误. 解决办法: 判断读取到的字节数是否是byte[].length,如果不是继续读取,直到读满byte[].length.(此方法可以解决tcp拆包.粘包问题):…
https://blog.csdn.net/qq_32599479/article/details/94439131…
第17章  网络编程 17.4  基于UDP协议的网络编程 UDP协议是一种不可靠的网络协议,它在通信实例的两端各建立一个Socket,但这两个Socket之间并没有虚拟链路,这两个Socket只是发送.接收数据报的对象.Java提供了DatagramSocket对象作为基于UDP协议的Socket,使用DatagramPacket代表DatagramSocket发送.接收的数据报. 17.4.1  UDP协议基础 UDP协议是英文User Datagram Protocol的缩写,即用户数据报…
 一.报文封装类 AbstractPortalMsg.java Portal协议数据报文封装类 package org.yoki.edu.common.protocol.portal.msg; import lombok.Data; import lombok.ToString; import org.yoki.edu.common.protocol.portal.msg.attr.MsgAttr; import java.util.ArrayList; import java.util.Lis…
一.DNS协议 作用将域名解析为IP   类似于我们只需要知道中央一台,中央二台,而不需要知道它的频率,方便记忆. java dns 域名解析协议实现 1 域名解析,将域名可转换为ip地址InetAddress也可以通过使用getAddress()来获得IP地址,但是它的返回值是一个4个字节的数组.因此尽管getAddress()在获得IP方面是有用的,但却不适于用来输出. package dns; import java.net.InetAddress; import java.net.Unk…
Java安全之RMI协议分析 0x00 前言 在前面其实有讲到过RMI,但是只是简单描述了一下RMI反序列化漏洞的利用.但是RMI底层的实现以及原理等方面并没有去涉及到,以及RMI的各种攻击方式.在其他师傅们的文章中发现RMI的攻击方式很多. 所以在此去对RMI的底层做一个分析,后面再去对各种攻击方式去做一个了解. 0x01 底层协议概述 RPC RPC(Remote Procedure Call)-远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC…
起因: 吃饭的时间在想如果区域网内都是通过路由器上网,那如何实现拦截整个区域网的数据包,从而实现某种窥探欲. 思路:      正常是通过电脑网卡预先设置或分配的IP+网关对路由器进行通讯,比如访问百度:      A主机(指定网关) >> 路由器 >> DNS(域名转IP) >>  服务端(百度)      而我需要达到的目的是在, "A主机" 请求"路由器"的时间进行数据包的拦截,并转发至真正的路由器(转发目的是为了不断网,不…
一.前言 Dubbo RPC服务框架支持丰富的传输协议.序列化方式等通讯相关的配置和扩展.dubbo执行一次RPC请求的过程大致如下:消费者(Consumer)向注册中心(Registry)执行RPC请求,注册中心分配服务URL并路由到具体服务提供方(Provider),消费者和服务提供方建立网络连接,服务提供方在本地创建连接池对象并提供远程服务,对于长连接类型协议(如dubbo协议)将保持连接,减少握手认证,调用过程中可以避免频繁建立和断开连接导致的性能开销,保持长连接需要有心跳包的发送,所以…
在上一篇中,使用了 java Socket+Tcp/IP  协议来实现应用程序或客户端--服务器间的实时双向通信,本篇中,将使用 UDP 协议来实现 Socket 的通信. 1. 关于UDP UDP协议(用户数据报协议)是无连接的.不可靠的.无序的,速度快,进行数据传输时,首先将要传输的数据定义成数据报(Datagram),大小限制在64k,在数据报中指明数据索要达到的Socket(主机地址和端口号),然后再将数据报发送出去,Java 对UDP 协议通信提供了两个主要的类,DatagramPac…