HTTP相关

HTTP相关RFC HTTP1.1 RFC7230 HTTPS RFC2818 HTTP/2 RFC7540 HTTP/3 draft-ietf-quic-http-33 阅读详情

http

  • get与post区别
    • get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
    • 在做数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式
    • POST 请求仅比 GET 请求略安全一点,它的数据不在 URL 中,但依然以明文的形式存放于 HTTP 的请求头中。
  • 常见的服务器响应码
    • 200:请求被正常处理
    • 204:请求被受理但没有资源可以返回
    • 206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-Range指定范围的资源。
    • 301:永久性重定向
    • 302:临时重定向
    • 303:与302状态码有相似功能,只是它希望客户端在请求一个URI的时候,能通过GET方法重定向到另一个URI上
    • 304:发送附带条件的请求时,条件不满足时返回,与重定向无关
    • 307:临时重定向,与302类似,只是强制要求使用POST方法
    • 400:请求报文语法有误,服务器无法识别
    • 401:请求需要认证
    • 403:请求的对应资源禁止被访问
    • 404:服务器无法找到对应资源
    • 500:服务器内部错误
    • 503:服务器正忙
  • cookie和Session:
    • cookie实际上是一小段文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个cookie,客户端浏览器会把cookie保存起来,当浏览器再次请求访问该网站时,浏览器把请求的网站连同该cookie一同提交给服务器,服务器检查该cookie,以此来辨认用户状态。
    • Session是服务器端使用的一种记录客户端状态的机制,使用上比Cookie简单一些。同一个客户端每次和服务端交互时,不需要每次都传回所有的 Cookie 值,而是只要传回一个 ID,这个 ID 是客户端第一次访问服务器的时候生成的,而且每个客户端是唯一的。这样每个客户端就有了一个唯一的 ID,客户端只要传回这个 ID 就行了,这个 ID 通常是 name为 JSESIONID 的一个 Cookie。Session依据这个id来识别是否为同一用户(只认ID不认人)。
    • 区别
      • cookie数据存放在客户的浏览器上,session数据放在服务器上。
      • cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗。考虑到安全应当使用session。
      • session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用cookie。
      • 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

九大内置对象和四大作用域

  • JSP九大对象:内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用。
    1. request对象:代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用的对象。客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。作用域为request(用户请求期)。
    2. response对象:对象代表的是对客户端的响应,也就是说可以通过response 对象来组织发送到客户端的数据。但是由于组织方式比较底层,所以不建议普通读者使用,需要向客户端发送文字时直接使用。它是HttpServletResponse类的实例。作用域为page(页面执行期)
    3. session对象:指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例。作用域session(会话期—)
    4. out对象 :out对象是JspWriter类的实例,是向客户端输出内容常用的对象 。作用域为page(页面执行期)
    5. page对象:page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例 。“page” 对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用。 作用域 page
    6. application对象:实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。作用域application
    7. pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。用域 Pageconfig对象
    8. config对象:config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)。作用域 Page
    9. exception对象:是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象。作用域 page
  • 四大作用域
    1. page范围:只在一个页面保留数据(javax.servlet.jsp.PageContext(抽象类))
    2. request范围:只在一个请求中保存数据(javax.servlet.httpServletRequest)
    3. Session范围:在一次会话中保存数据,仅供单个用户使用(javax.servlet.http.HttpSession)
    4. Application范围:在整个服务器中保存数据,全部用户共享(javax.servlet.ServletContext)
  • 三次握手简述
    1. 客户端->服务器(客户端:请求连接)
    2. 服务器->客户端(服务器:服务器应答)
    3. 客户端->服务器(客户端:连接成功)
    • 三次是最少的安全次数,两次不安全,四次浪费资源
HTTP:二.URI及相关术语 scheme:方案,访问服务器以获取资源时要使用哪种协议 user:用户,某些方案访问资源时需要的用户名 password:密码,用户对应的密码,中间用:分隔 Host:主机,资源宿主服务器的主机名或IP地址 port:端口,资源宿主服务器正在监听的端口号,很多方案有默认端口号 path:路径,服务器资源的本地名,由一个/将其与前面的URL组件分隔 params:参数,指定输入的参数,参数为名/值对,多个参数,用;password:密码描述了用户名后面可能跟的密码,用“:”跟用户名隔开; 阅读详情

相关推荐

http相关面试题

http2通过gzip与compress对头部进行压缩,并且在客户端与服务端各维护了一份头部索引表,只需要根据索引id就可以进行头部信息的传输,缩小了头部容量,间接提升了传输效率。:http1一个连接只能提交一个请求,而http2可以同时处理无数个请求,可以降低连接的占用数量,进一步提升网络的吞吐量。降低请求量:合并资源,减少 HTTP 请求数,minify / gzip 压缩,webP,lazyLoad。http 传输的数据都是未加密的,也就是明文的,设置了 SSL 协议来对 http 协议。

高山景行,一尘不染 1020

Enumeration 的使用方法

Enumeration myEnumeration = request.getSession().getAttributeNames();   while(myEnumeration.hasMoreElements()){    System.out.println(myEnumeration.nextElement());    request.getSession().removeAt

qq5132834的专栏 1138

共轭梯度法(Conjugate Gradient Method)

我们要求解线性方程组 Ax=bAx=b 其中AA 是对称正定矩阵(spd),给定RnR^n中n个线性无关的向量r0,r1,⋯,rn−1r_0,r_1,\cdots,r_{n-1}, 我们想要构造另外的一组基p0,p1,⋯,pn−1p_0,p_1,\cdots,p_{n-1}, 并满足 ⟨pi,pj⟩=0,∀i≠j\langle p_i, p_j\rangle=0,\quad \forall i

Liang_Ling的博客 1万+

Web基础笔记Day06 过滤器

过滤器 Filter基础 Filter,Servlet,Listener是Servlet规范的三大组件。 Filter过滤器,在请求到达目标资源之前先对请求进行拦截过滤,及对请求进行一些处理。也可以在响应到达客户端之前先对响应进行拦截过滤,即对响应进行一些处理。 Filter的生命周期 Filter的生命周期与Servlet的声明周期类似,其主要生命周期阶段有四个,Filter对象的创建,Filter对象的初始化,Filter执行doFilter()方法,及最终...

qq_53157982的博客 791

Unity接入Google登录:Credential Manager完整集成指南与避坑实践

在移动应用开发中,第三方登录是提升用户体验和降低注册门槛的关键技术。其核心原理是通过OAuth 2.0等授权协议,安全地获取用户在平台的身份凭证。对于面向海外市场的Unity应用,Google登录因其庞大的用户基数成为首选方案。然而,随着Android系统更新和隐私政策收紧,传统的WebView登录方式面临兼容性挑战。Credential Manager作为Google推出的现代化凭据管理API,通过系统级集成解决了这一问题,它统一了密码、通行密钥和第三方登录的调用接口,显著提升了登录成功率和原生体验。在U

weixin_28025327的博客 321

Ollama模型路径迁移实战:Windows/Mac/Linux三平台保姆级教程(附常见问题排查)

本文提供了一份详细的Ollama模型路径迁移教程,涵盖Windows、macOS和Linux三大平台。通过设置OLLAMA_MODELS环境变量或创建符号链接,指导用户将模型从默认路径安全迁移至新位置,以释放系统盘空间或提升性能。教程包含迁移前的准备、分平台步骤、迁移后的验证以及常见问题排查,确保迁移过程平滑可靠。

js777的博客 1184

JSP九大内置对象

九大内置对象:request、response、session、application、page、pageContext、out、config、exception。四大作用域:page、request、session、application作用域的有效期限:page作用域的变量只在当前页面中有效,只要页面跳转了,page域中的变量重新计算。request里的变量可以跨越forward前后的两页。但是只要刷新页面,它们就重新计算了。

king220022的博客 1487

【SPSS实战】手动实现Quade非参数协方差分析:从数据准备到结果解读

本文详细介绍了在SPSS中手动实现Quade非参数协方差分析的全过程。针对数据不满足正态性和方差齐性假设时,如何通过秩转换、回归调整残差,并最终利用Kruskal-Wallis检验完成组间比较。该方法为处理含协变量的非参数多组比较问题提供了清晰的实战解决方案,并探讨了其与标准Quade检验的异同及适用场景。

weixin_29306317的博客 358

jsp九大内置对象和四大作用域详解

jsp九大内置对象和四大作用域详解 文章目录jsp九大内置对象和四大作用域详解示意图详解1、request2、response3、session4、out5、page6、application7、pageContext8、config9、exception 示意图 对象名称 对象类型 Java类型 作用域 Request 请求对象 javax.servlet.ServletRequest Request Response 响应对象 javax.servlet.SrvletResponse

我真的不会java的博客 656

Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇

Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇 文章目录Oracle11g安装教程、配置实例、监听、客户端程序详解_Windows篇前言一、数据库的安装前准备,前提是没有安装过!!!二、仅安装数据库软件(数据库运行环境)三、添加数据库实例四、设置监听程序,让数据库可以通过网络访问五、为目标数据库设置网名总结 前言 如果需要安装包:联系我看到会给你链接,因为现在官网已经不提供10g,11g的安装包了,在网盘保存望悉知(回复不会很及时,下班看到会回复敬请谅解)。 提示:以下

zhx__的博客 5632

基于PCL的电力线点云提取与分割实现

本文基于PCL库实现电力线点云提取与分割,包含6个核心处理阶段:文件读取与结果文件夹创建、高程滤波分割候选点云、欧式聚类去噪、电力线分段提取、球形邻域搜索补全点云、最终分割与可视化保存。通过PCA计算点云线性特征(阈值0.91)筛选电力线点,采用欧式聚类(容忍度3.0)去除噪点,并针对不同规模聚类差异化设置球形搜索半径(4.0/6.0)补全点云。最终通过欧式聚类分割并可视化带颜色点云。算法对高程滤波阈值、聚类参数等具有敏感性,需根据点云特性调整优化。

weixin_45196569的博客 195

Servlet学习笔记(二)

Servlet客户端Http请求头 浏览器端头信息 当浏览器请求网页时,它会向 Web 服务器发送特定信息,这些信息不能被直接读取,这些信息是作为 HTTP 请求的头的一部分进行传输的。这些信息被称为请求头信息。以下是一些常见的浏览器端的头信息: Accept————这个头信息指定浏览器或其他客户端可以处理的 MIME 类型。值 image/png 或 image/jpeg 是最常见的两种可能值...

luoru的博客 183

SAP Fiori Elements 扩展实战:UI 层扩展、OData 服务扩展、CDS 视图增强及全流程案例

UI 层扩展主要关注在不修改标准生成界面的基础上,自定义用户界面元素和交互逻辑。典型需求包括:在现有 Fiori Elements 界面上添加新的字段(如表格列或表单项)、增加自定义按钮并绑定操作、以及通过控制器扩展加入事件处理等。无论在 RAP 还是传统 BOPF 架构下,前端 UI 扩展通常采用 SAPUI5 提供的**扩展点(Extension Points)和控制器扩展(Controller Extension)**机制来安全地插入自定义代码。下面分别说明两种后端架构下 UI 扩展的实现方式。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 905

http相关技术总结

HTTP 缓存是一种优化网络请求性能的重要机制,通过在客户端(如浏览器)或中间代理服务器中缓存资源副本,减少重复请求和数据传输,从而加快页面加载速度、降低服务器负载,并节省带宽。主要的区别在于安全性和数据传输方式上,HTTPS比HTTP更加安全,适合用于保护网站用户的隐私和安全,如银行网站、电子商务网站等。由于它依赖的是客户端的时间,容易因时间不一致导致错误,因此推荐优先使用。这是 HTTP/1.1 中最重要的缓存控制头,功能强大且灵活。HTTP 缓存主要分为两类:强制缓存和协商缓存。

LYZ0909的博客 1078

NEU-DET 冷轧钢缺陷检测:基于 YOLOv8 的目标检测与可视化 UI 实现

冷轧钢的生产过程中,由于设备故障、工艺问题或者人为因素,钢板表面可能会出现多种缺陷,如划痕、裂纹、孔洞等,这些缺陷会严重影响钢材的质量。它比之前的版本(如 YOLOv5、YOLOv4)在速度和精度上都有显著提升,并且对硬件要求较低,适合进行工业界面和嵌入式系统的应用。这些版本相较于更大型的模型(如 YOLOv8x)具有更快的推理速度和较低的资源占用,适合工业生产线中的实时应用。通过将训练好的模型部署到工业生产线摄像头中,我们可以实现实时的缺陷检测,极大地提升生产效率和产品质量。

YOLO 739

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

HTTP相关概念

一、HTTP协议之URL篇 http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:http://host[":"port][...

weixin_30344795的博客 93

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

HTTP世界全览(下):与HTTP相关的各种协议

在上一讲中,我介绍了与HTTP相关的浏览器、服务器、CDN、网络爬虫等应用技术。今天要讲的则是比较偏向于理论的各种HTTP相关协议,重点是TCP/IP、DNS、URI、HTTPS等,希望能够帮你理清楚它们与HTTP的关系。同样的,我还是画了一张详细的思维导图,你可以点击后仔细查看。

qq_33240556的博客 772

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

《图解HTTP》相关知识点

《图解HTTP》读书笔记7之HTTPS的安全通信机制:https://blog.youkuaiyun.com/qq_29918313/article/details/102246997 一篇读懂HTTPS:加密原理、安全逻辑、数字证书等:https://blog.youkuaiyun.com/qq_29918313/article/details/102643804 对称加密与非对称加密:https://blog.c...

Delicia_Lani的博客 2935

http相关知识

http相关知识 什么是http http 传输协议 前后端交互的协议。 前端以什么样的形式将数据发送给后端 后端以什么样的形式将数据响应给前端。 常见的协议以类型 TCP协议类型:http UDP协议类型: ​ 优点:传输效率高 可以1对多,多对1. ​ 缺点:不保证顺序,不保证是否丢失数据。 张老师是个超级有趣的小伙子 小伙子超级有趣的 传输的步骤 建立连接 发送请求 返回响应 断开连接。 建立连接只能由浏览器端发起。 不管是请求还是响应,传输的数据都只能是字符串。一般用json字符串。 三次握手

yyds119的博客 176

与HTTP相关的各种概念及协议

相关概念 上图基本涵盖了与HTTP相关的各种应用,包括互联网、浏览器、服务器等常见且十分重要的的概念。 1、互联网 实际的互联网是由许许多多个规模略小的网络连接而成的,这些“小网络”可能是只有几百台电脑的局域网,可能是有几万、几十万台电脑的广域网,可能是用电缆、光纤构成的固定网络,也可能是用基站、热点构成的移动网络等,而我们使用的电脑、手机等相当于网络上的节点。 互联网(Internet)里面存储着大量的信息资源,而我们所说的“上网”实际上访问的只是互联网的一个子集“万维网”(World Wide Web

weixin_41269811的博客 404

https相关、http相关

1、Https相关    a、iOS安全系列之一:HTTPS    http://oncenote.com/2014/10/21/Security-1-HTTPS/    b、nginx使用ssl模块配置HTTPS支持    http://www.cnblogs.com/yanghuahui/archive/2012/06/25/2561568.html    c、全球HTTPS时代已来   

编程日常记录与总结 https://franciswmf.iteye.com 962

http服务相关概念和认识

http服务 http相关概念 1、http 服务端口号是80 其中小于1023的端口号只有特权用户才能使用,因此http启动监听时应该是以root身份 ,但是给每个用户提供服务时创建子进程可以是普通用户。 2、http 的相关术语 http: Hyper Text Transfer Protocol, 80/tcp 超文本传输协议 html: Hyper Text Markup L...

wdirdo的博客 815

HTTP相关知识

什么是通信协议=======是指通信的双方完成通信所必须遵循的规则和约定通俗的理解:通信双方采用约定好的格式来发送和接受消息,这钟事先约定好的,就叫做通信协议什么是HTTP协议==========HTTP协议即超文本传输协议,他规定了客服端与服务器之间进行网页传输时所必须遵循的那什么是超文本传输协议?超文本传输协议可以进行文字分割:超文本、传输、协议HTTP协议属于客服端浏览器和服务器之间的通信协议注意⚠️ :HTTP请求消息又叫做HTTP请求报文HTTP请求消息========

2401_84433924的博客 881

HTTP世界全览(上):与HTTP相关的各种概念

在上一讲的末尾,我画了一张图,里面是与HTTP关联的各种技术和知识点,也可以说是这个专栏的总索引,不知道你有没有认真看过呢?那张图左边的部分是与HTTP有关系的各种协议,比较偏向于理论;而右边的部分是与HTTP有关系的各种应用技术,偏向于实际应用。我希望借助这张图帮你澄清与HTTP相关的各种概念和角色,让你在实际工作中清楚它们在链路中的位置和作用,知道发起一个HTTP请求会有哪些角色参与,会如何影响请求的处理,做到“手中有粮,心中不慌”。

qq_33240556的博客 511
上一篇: Mapper.xml中的#{}和${}
下一篇: 数据库基础
fufucen
博客等级 码龄8年 2粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值