http请求

HTTP的学习

帅比萌擦擦* 提交于 2020-01-29 18:57:54
一、HTTP的概念作用和特点 HTTP是作用于web交互的一种协议,在网络中,客户端(浏览器)发送各种请求,服务器会接收并处理收到的数据,并且返回给客户端,这时如果传输的数据的格式不统一,那么就会造成很大的困难,比如浏览器的种类不同,发送的数据的格式也不同。 因此出现了HTTP协议来规范传输的数据。 HTTP的概念: 超文本传输协议(Hyper Text Transfer Protocol) 作用: 规范了浏览器和服务器的数据交互 特点: 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。 请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服 务器联系的类型不同。由于 HTTP 协议简单,使得 HTTP 服务器的 程序规模小,因而通信速度很快 灵活:HTTP 允许传输任意类型的数据对象。正在传输的类型由 Content-Type加以标记。 无连接:无连接的含义是限制每次连接只处理一个请求。服务器 处理完客户的请求,并收到客户的应答后,即断开连接。采用这种 方式可以节省传输时间。 无状态:HTTP 协议是无状态协议。无状态是指协议对于事务处 理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息, 则它必须重传,这样可能导致每次连接传送的数据量增大。另一方 面,在服务器不需要先前信息时它的应答就较快。 支持B/S及C/S模式。 HTTP1

http status 汇总

我的未来我决定 提交于 2020-01-29 07:51:29
常见HTTP状态码 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 410 Gone 500 Internal Server Error 501 Not Implemented 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议 200 OK 一切正常,对GET和POST请求的应答文档跟在后面 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted 已经接受请求,但处理尚未完成。 203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝 204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的 205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容

Java - 网络编程完全总结

雨燕双飞 提交于 2020-01-29 05:37:33
本文主要是自己在网络编程方面的学习总结,先主要介绍计算机网络方面的相关内容,包括计算机网络基础,OSI参考模型,TCP/IP协议簇,常见的网络协议等等,在此基础上,介绍Java中的网络编程。 一、概述 二、计算机网络 1.网络协议 2.网络体系结构 三、OSI参考模型 四、TCP/IP参考模型 五、常见网络协议 1.TCP协议 2.UDP协议 3.HTTP协议 六、计网常见问题 七、Java网络编程 一、概述 计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统。网络编程就就是编写程序使联网的两个(或多个)设备(例如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持,通过其提供的接口我们可以很方便地进行网络编程。下面先对网络编程的一些基础知识进行介绍,最后给出使用Java语言进行网络编程的实例。 二、计算机网络 计算机网络20世纪60年代出现,经历了20世纪70年代、80年代和90年代的发展,进入21世纪后,计算机网络已经成为信息社会的基础设施,深入到人类社会的方方面面,与人们的工作、学习和生活息息相关。 网络协议 如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间能够进行相互通信是因为它们都共同遵守一定的规则,即网络协议。 网络体系结构 计算机网络是个复杂的系统,按照人们解决复杂问题的方法

使用URLConnection发送HTTP请求

江枫思渺然 提交于 2020-01-29 04:26:58
使用URLConnection发送HTTP请求 使用URLConnection的原因 启动被请求服务 编写URLConnection json数据转换 发起请求 使用URLConnection的原因 是这样一个情景 现在有一个服务,提供了api接口,我们要去请求它来获取数据 只能使用jdk1.8 原先是想直接写一个前端通过ajax来请求,但是会碰到跨域问题 了解了几种解决跨域问题的几种方案,发现都需要后端的配合,但我只有一个api接口 所以决定直接使用java程序来发起http请求,经测试是没有跨域问题的 启动被请求服务 请求api接口 http : / / localhost : 8081 / postRequest / 我们模拟一下api接口,接收的是一个User类型的json数据. 编写URLConnection 我们在这边写java程序来进行post请求 public class URLConnectionUtil { public static String createURLConnection ( String Url , String Port ) throws Exception { User user = new User ( ) ; user . setUsername ( "admin" ) ; user . setAge ( 18 ) ; String

HTTP协议--简析

霸气de小男生 提交于 2020-01-29 01:28:49
HTTP--超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议,是所有的www文件都必须遵守的标准。 要想成为优秀的web开发人员,必须熟悉HTTP协议,今天,来给大家分享一下关于HTTP协议的认识。欢迎大家交流指正。 HTTP协议是一个基于TCP协议,属于应用层的,面向对象的,无状态的,无连接的协议。 其简单快捷,客户向服务器请求服务时,只需要传送请求方法和路径。请求的方法有 POST、GET、HEAD、PUT等。 注意: 所谓无状态的协议,不是指HTTP不基于TCP连接使用UDP协议,而是指对于事物的处理没有记忆功能,服务器不知道客户端的状态,同一台服务器上打开不同的网页之间是没有任何联系的。 而我们常见的实现网站的登录状态,购物车等等功能的实现,是借助于Cookie与Session实现的,通过Cookie和Session记忆客户端的状态。 所谓无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 HTTP请求的过程: 大致可以分为七个步骤: 1. 建立TCP连接(根据浏览器中所输入的url寻找目标主机建立连接) 2. 客户端浏览器向服务器发送请求命令 3. 客户端浏览器发送请求头信息 4. 服务器解析请求消息进行应答 5. 服务器发送应答头信息

前端缓存详解

末鹿安然 提交于 2020-01-28 19:09:56
一、前言 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务器代码上设置;而浏览器缓存则主要由前端开发在前端js上进行设置。 缓存可以说是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。 对于一个数据请求来说,可以分为发起网络请求、后端处理、浏览器响应三个步骤。浏览器缓存可以帮助我们在第一和第三步骤中优化性能。比如说直接使用缓存而不发起请求,或者发起了请求但后端存储的数据和前端一致,那么就没有必要再将数据回传回来,这样就减少了响应数据。 缓存类型图解 二、缓存过程分析 浏览器与服务器通信的方式为应答模式,即是:浏览器发起HTTP请求 – 服务器响应该请求。那么浏览器第一次向服务器发起该请求后拿到请求结果,会根据响应报文中HTTP头的缓存标识,决定是否缓存结果,是则将请求结果和缓存标识存入浏览器缓存中,简单的过程如下图: 由上图我们可以知道: 浏览器每次发起请求,都会先在浏览器缓存中查找该请求的结果以及缓存标识 浏览器每次拿到返回的请求结果都会将该结果和缓存标识存入浏览器缓存中 三 强制缓存 强制缓存就是向浏览器缓存查找该请求结果,并根据该结果的缓存规则来决定是否使用该缓存结果的过程,强制缓存的情况主要有三种,如下:

Node.js入门 ---构建一个Web程序

妖精的绣舞 提交于 2020-01-28 18:37:17
今天拜读了Manuel Kiessling大神的《Node入门》的博客,感觉收获很多,这篇文章非常适合有JavaScript基础和掌握了一门后台语言(Java,Python等)的想入门node的学习者。 文章循循善诱,一步一步升级知识,老外的文章很有思想,写的确实比国内的XX好的多。 这里我就开一篇博客记录一下。 什么是Node.js 1.中文网官方定义:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效,包管理器 npm,是全球最大的开源库生态系统。 现在安装一些东西确实直接npm很方便。 2.JS以前一直只在浏览器前端上做一些交互性的操作,现在有了Node之后,它允许在后端(脱离浏览器环境)运行JavaScript代码。 要实现在后台运行JavaScript代码,代码需要先被解释然后正确的执行。Node.js的原理正是如此,它使用了Google的V8虚拟机(Google的Chrome浏览器使用的JavaScript执行环境),来解释和执行JavaScript代码。 3.除此之外,伴随着Node.js的还有许多有用的模块,它们可以简化很多重复的劳作,比如向终端输出字符串。 因此,Node.js事实上既是一个运行时环境,同时又是一个库。 一个完整的基于Node.js的web应用

http status 汇总

瘦欲@ 提交于 2020-01-28 14:12:25
http status 汇总 常见HTTP状态码 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 410 Gone 500 Internal Server Error 501 Not Implemented 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分 101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议 200 OK 一切正常,对GET和POST请求的应答文档跟在后面 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted 已经接受请求,但处理尚未完成。 203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝 204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的 205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容

聊一聊http头部字段

北城以北 提交于 2020-01-28 12:40:02
##HTTP:超文本传输协议 浏览器和万维网服务器之间的相互通信的规则 HTTP头部包括: (1)、通用头部 (2)、请求头部 (3)、响应头部 (4)、查询字符串参数 ###比如: 通用头部包括 Request URL:请求的URL Request Method: 请求的方法 Status Cod:状态码200表示成功 Remote Address:路由的地址 Referrer Policy:引用策略。从一个文档发起请求时,是否在头部定义Referrer的策略(用于过滤Referrer报头内容)。 no-referrer-when-downgrade:是浏览器的默认安全策略。当发生有(https://跳转到http://时(请求安全级下降时)不发送Referrer报头) 响应头部常用部分 Cache-Control:浏览器遵循的缓存机制 no-cache:数据被缓存到本地,但不直接使用缓存,重新向服务器发起请求 no-store:所有内容都不会被缓存 max-age:告知服务器客户端希望接收一个存在时间(Age)小于max-age的资源 max-stale:告知服务器客户端愿意接收一个超过缓存时间的资源,但过期时间不超过max-stale min-fresh:告知服务器客户端希望接收一个在小于min-fresh时间内更新过的资源 public:任何情况下都可以缓存该资源

http请求出现406错误解决方案

倖福魔咒の 提交于 2020-01-28 11:37:24
当http请求出现406错误时,会报如下错误: 此时一般需考虑两个问题: 1、查看Jackson包是否存在(springMVC默认依赖Jackson包 )。 2、 如果后缀是 html 是不能响应 json 数据的,需要修改后缀名。 在做伪静态化过程中,常以.html结尾的后缀,当做post请求时,不能响应json格式,这是spring官方做出的处理: 可以加一个后缀改为.action。如: 这时访问方式变为: 做完以上变更后就可以如期解决406错误啦! 来源: https://www.cnblogs.com/tubeWang/p/10029008.html