网络基础只http协议

网络基础:HTTP协议 HTTP(Hypertext Transfer Protocol,超文本传输协议)是互联网上广泛使用的应用层协议,用于在客户端(通常是浏览器)和服务器之间传输文档,包括 HTML、图像、视频以及其他资源。它是互联网的基石之一。 阅读详情

HTTP协议简介

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。

HTTP协议是使用的TCP/IP实现数据的传输(html文件,图片文件,访问数据)

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。

HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。

主要特点

1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

3.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

4.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
5、支持B/S及C/S模式

HTTP之请求消息Request

客户端发送一个http 请求的request包括一下格式:

  • 请求行
  • 请求头部
  • 空行
  • 请求的数据
    这里写图片描述

    Http请求消息结构.png

1 Get请求的request的格式为

GET /562f25980001b1b106000338.jpg HTTP/1.1
Host img.mukewang.com
User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Accept image/webp,image/,/*;q=0.8
Referer http://www.imooc.com/
Accept-Encoding gzip, deflate, sdch
Accept-Language zh-CN,zh;q=0.8

第一部分:请求行 包括请求的类型 ,请求的资源,请求的协议的类型

第二部分:请求头 包括请求的时候要添加的附属信息

第三部分:空行 是必须的

第四本分:请求数据 此处请求数据为空

1 Post请求的request的格式为

POST / HTTP1.1
Host:www.wrox.com
User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
Content-Type:application/x-www-form-urlencoded
Content-Length:40
Connection: Keep-Alive

name=Professional%20Ajax&publisher=Wiley

第一行为请求头 指定的请求的类型为post请求 请求的协议为http1.1
第二行到第八行为请求头指定请求的附属的数据
第九行是空行部分
第十一行指定的是post请求参数。

HTTP响应体response

http请求服务器的数据的时候会给客户端返回一个response对象包括状态行,消息报头,空行,响应的正文。

第一部分 状态行 HTTP协议版本号,状态码,状态信息组成
第二部分 消息报头 是一些客户端使用的附加信息
第三本分 空行 消息报头之后的空行
第四本分 响应体的具体的内容

HTTP状态码

1xx表示请求信息已经收到,正在处理
2xx 成功 表示请求已经收 理解
3xx重定向要完成请求必须经一步操作
4xx客户端错误 请求语法,或者请求无法实现
5xx服务端错误,服务端没有正确执行

HTTP请求方法

GET 请求指定的页面信息,并返回实体主体。
HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
PUT 从客户端向服务器传送的数据取代指定的文档的内容。
DELETE 请求服务器删除指定的页面。
CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求,主要用于测试或诊断。

GET和POST的区别

GET和POST请求的区别
GET请求
GET /books/?sex=man&name=Professional HTTP/1.1
Host: www.wrox.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Connection: Keep-Alive
注意最后一行是空行

POST请求
POST / HTTP/1.1
Host: www.wrox.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 40
Connection: Keep-Alive

name=Professional%20Ajax&publisher=Wiley
1、GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,多个参数用&连接;例 如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0 %E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如: %E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。

POST提交:把提交的数据放置在是HTTP包的包体中。上文示例中红色字体标明的就是实际的传输数据

因此,GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变
2、传输数据的大小:首先声明:HTTP协议没有对传输的数据大小进行限制,HTTP协议规范也没有对URL长度进行限制。

而在实际开发中存在的限制主要有:

GET:特定浏览器和服务器对URL长度有限制,例如 IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系 统的支持。

因此对于GET提交时,传输数据就会受到URL长度的 限制。

POST:由于不是通过URL传值,理论上数据不受 限。但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置。

3、安全性

POST的安全性要比GET的安全性高。比如:通过GET提交数据,用户名和密码将明文出现在URL上,因为(1)登录页面有可能被浏览器缓存;(2)其他人查看浏览器的历史纪录,那么别人就可以拿到你的账号和密码了,除此之外,使用GET提交数据还可能会造成Cross-site request forgery攻击

4、Http get,post,soap协议都是在http上运行的

(1)get:请求参数是作为一个key/value对的序列(查询字符串)附加到URL上的
查询字符串的长度受到web浏览器和web服务器的限制(如IE最多支持2048个字符),不适合传输大型数据集同时,它很不安全

(2)post:请求参数是在http标题的一个不同部分(名为entity body)传输的,这一部分用来传输表单信息,因此必须将Content-type设置为:application/x-www-form- urlencoded。post设计用来支持web窗体上的用户字段,其参数也是作为key/value对传输。
但是:它不支持复杂数据类型,因为post没有定义传输数据结构的语义和规则。

(3)soap:是http post的一个专用版本,遵循一种特殊的xml消息格式
Content-type设置为: text/xml 任何数据都可以xml化。

Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST, PUT, DELETE就对应着对这个资源的查,改,增,删4个操作。 我们最常见的就是GET和POST了。GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.

我们看看GET和POST的区别

GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的数据放在HTTP包的Body中.

GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.

GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值。

GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.

手把手教你用Microsoft AEC Challenge数据集训练自己的回声消除模型(附完整代码) 本文详细介绍了如何使用Microsoft AEC Challenge数据集训练专业的回声消除模型,包括环境准备、数据清洗、模型架构设计、训练流程和实际部署注意事项。通过完整的代码示例和实战指南,帮助开发者快速掌握AEC技术,提升语音通信系统的回声消除效果。 阅读详情

相关推荐

iTunes登录协议逆向与自动化实现

本文详细解析了iTunes登录协议的逆向工程与自动化实现方法,涵盖请求体构造、签名生成和会话管理等关键技术。通过XML结构解析、X-Apple-ActionSignature生成原理及完整登录流程实现,帮助开发者高效完成iTunes自动化登录,提升工作效率。

weixin_26938645的博客 939

常见网络协议汇总(非常详细)从零基础入门到精通,看完这一篇就够了

本篇博客将对基于 计算机网络五层模型 中的常见协议做以总结 ,目的通过这些具体的协议更深刻的认识整体网络的传输流程及相关网络原理。

xx16755498979的博客 5万+

AGV、RGV、四向车openTCS调度系统(三)车辆适配器解读,封装自己的适配器

AGV、RGV、四向车调度。理解适配器的整体作用,以及如何使用官方例子改造自己的适配器,

要这头发有何用 3612

常见网络协议汇总

常用网络协议前言TCP/IP五层网络模型回顾应用层协议DNS协议:HTTP协议HTTPS协议传输层协议UDP协议TCP网络层IP协议ICMP协议数据链路层ARP协议物理层整体的网络传输流程 前言 本篇博客将对基于 TCP/IP的五层网络模型 中的常见协议做以总结 ,目的通过这些具体的协议更深刻的认识整体网络的传输流程及相关网络原理 TCP/IP五层网络模型回顾 应用层:为用户为用户的应用进程提供网络通信服务 协议——DNS协议、HTTP协议、HTTPS协议 传输层:负责两台主机之间的数据传输,将数据从发

相鱼南故 6万+

Signoff Criteria --- ocv/aocv/pocv之AOCV介绍

Advanced on chip variation,相比较于OCV来说,对于悲观度的去除很有效。相比较与ocv对于整个design中的lauch/capture path设置统一的derate值,aocv通过将cell derate值与cell的逻辑深度以及实际的位置结合起来进行derate值的设定。那么这种derate如何能够设置到具体的cell呢,其实是我们在跑STA时候会读入相关的aocv lib file,里面有专门对相关的cell进行的aocv derate值的描述。> table: \

sinat_27691203的博客 7854

Python爬虫实战:5分钟搞定东方财富A股数据抓取(附完整代码)

本文提供了一套基于Python的A股数据自动化采集与分析系统构建方案。文章详细解析了如何通过稳健的爬虫框架从东方财富等公开数据源高效抓取A股数据,并设计数据库进行自动化存储与管理,特别适合量化研究和数据分析场景。

weixin_29062963的博客 4433

网络协议基础知识大全

网络协议 计算机网络体系结构 OSI七层模型 TCP/IP模型 ☆ TCP/IP协议族 TCP和UDP 地址和端口号 端口号的确定 端口号与协议 TCP/IP TCP三次握手 ☆ 三次握手的原因 TCP的三次握手的漏洞 TCP的四次挥手 四次挥手的原因 TIME-WAIT的作用 TIME-WAIT的弊端与解决 TCP/IP中的数据包 TCP的通讯原理 Socket套接字 TCP缓冲区 TCP 的可靠性 TCP中的滑动窗口 HTTP HTTP协议 URI和URL的区别 一个完整的URL HTTP请求的传输过程

zhanglongfei1016的专栏 9321

架构师之HBase vs MongoDB 技术选型与场景决策实战案例

面对海量数据和高并发查询,该选 HBase 还是 MongoDB?本文为你提供完整的决策框架!从数据模型对比、架构解析、六大真实场景(电信 CDR、金融行情、广告点击流、电商商品、社交档案、内容管理)到性能、一致性、运维全面对比,助你在 PB 级时序数据和灵活查询之间做出精准选择!

肖哥弹架构博客 1101

网络基础之协议

数据传输过程中,源mac和目标mac会被路由器更改。 ISP ,因特网服务提供商,例如:移动,电信等 上网方式 电话线入户 ADSL电话拨号上网。 非对称数字用户线路,提供上下行不对称的传输带宽。 路由器:以太网口连接局域网,串口连接其他路由器 猫:调试解调器,进行数字信号和模拟信号的转换。 光纤入户 光猫:光调试解调器,进行数字信号和光信号的转换。 网线入户 NAT 私网主要用于局域网。例如公司内部网络。公网是得到的IP地址是Internet的公有地址。公网上的计算机可以和Internet上的计算机.

weixin_43973848的博客 1213

5.1 rocr-runtime libhsakmt event 机制全景—从 Doorbell 到 Signal

本文介绍了ROCm/KFD中的Event机制架构,主要解决GPU异步计算中的反馈问题。Event机制分为三层:硬件层触发事件,内核层管理事件通知,用户态接收处理。事件类型分为三大类:同步类事件(如SIGNAL、QUEUE_EVENT)用于任务完成通知,异常类事件(如MEMORY、HW_EXCEPTION)报告错误,拓扑类事件(如NODECHANGE)处理设备变更。该机制通过共享内存和中断实现高效通信,避免CPU轮询开销。后续文章将深入内核实现、Thunk层封装和多队列完成检测实战。

图形/计算GPU的驱动与虚拟化技术分享园地 1307

2025实战|C#上位机+STM32实现LED串灯控制:串口通信+PWM调光+自定义帧协议(附上下位机源码)

粘包:一次收到“BRIGHT:50LED_OFF”,解析完全错乱;乱码:串口波特率/编码不匹配,指令变成“??H??50”;丢帧:数据传输中少字符,比如“BRIGHT:5”,解析出亮度5而非50。因此我们设计字节级自定义帧协议协议先行:无论简单还是复杂场景,先定义清晰的帧协议,避免数据错乱;串口稳字当头:下位机用环形缓冲区接收,上位机加锁发送,避免丢包/粘包;跨线程必处理:C#上位机所有UI更新必须用Invoke,否则必崩溃;硬件是基础:接线、供电、共地这些细节,比代码更易出问题;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 756

8种流行网络协议(非常详细)零基础入门到精通,收藏这一篇就够了

HTTP定义:HTTP是一种应用层协议,主要用于互联网中传输超文本(Hypertext)和其他资源,如图片、音频、视频等。特点:无状态协议:每个请求和响应都是独立的。建立在TCP/IP协议之上:利用TCP连接传输数据,采用客户端/服务器模式。多种请求方法:支持GET、POST等多种请求方式。版本发展:HTTP/0.9:仅能处理纯文本(ASCII)格式的信息,只支持GET请求方式。HTTP/1.0:引入多种请求方法和响应头字段,支持多种媒体类型的数据传输。

shandongjiushen的博客 904

巧妙解决网页弹窗重复出现问题

本文探讨了网页弹窗关闭后刷新重现的问题及解决方案。通过分析原生JavaScript实现的弹窗代码存在的缺陷,提出了使用jQuery改进的方法。关键点包括:利用event.preventDefault()阻止默认行为避免刷新,采用jQuery的hide("slow")方法实现优雅的关闭动画,确保关闭状态持久化。改进后的方案既解决了弹窗重复出现的问题,又提升了用户体验,为网页弹窗交互提供了更优的实现方式。文中提供了完整的HTML、CSS和JavaScript代码示例,便于开发者直接应用。

2501_90323865的博客 181

网络基础与 HTTP 协议

在早期的 HTTP/1.0 协议中,每次请求和响应都需要单独建立和关闭连接,这种方式会增加网络的开销和延迟。Socket(套接字)是网络通信中的重要概念,它是网络通信过程中的端点,提供了应用程序之间进行双向通信的接口。DNS(Domain Name System)是域名系统,它充当着 “电话簿” 的角色,将易于记忆的域名(如 www.example.com)映射到对应的 IP 地址(如。TCP/IP 协议族是互联网通信的核心协议,它包含了多个层次的协议,共同协作实现网络通信。

m0_74258518的博客 731

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Node.js -- HTTP协议和网络基础概念

本节相关内容都可以在进行查看,深入了解相关内容。

2302_79523175的博客 962

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

网络基础知识之HTTP协议浅谈

一般作为计算机专业科班出身的同学,对于网络的学习都是按计算机网络体系结构所划分的层次进行的,但学完之后仍对互联网时如果工作的没有一个完整的认知,毕竟网络是一个巨大且复杂的系统。这些信息可以帮助服务器端更好的识别用户的请求,以提供对应的响应内容。响应消息头允许服务器传递不能放在响应行中的附加响应消息,以及关于服务器的信息和Request-URI所标识的资源进行下一步访问的信息。4、HTTP作为应用层的传输方式,目前存在的大量安全问题基本都是HTTP的应用所带来的,但HTTP本身并没有很好的防护措施。

P121WJ的博客 936

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

了解Web及网络基础——http协议的诞生和发展

前言:hello大家好,我是鸽了很久的叼个奶嘴闯天下(也可以称鄙人为奶嘴),因为毕业工作的原因,兜兜转转没有选择跟计算机相关的工作,目前在一家机场任职安检员工作(太惨了=-=|||)。但是我依然抱着一颗对计算机技术憧憬和热爱的心,因此,从今日开始,鄙人打算将每一次的所学和所得以文章的方式写在优快云中,不仅是给自己每日所学一个交代,也为了能让大家一起学习相关知识qwq。当然,鄙人所学有限,文章如有不足和错误之处欢迎各位前辈、大佬和朋友指正,在此谢过各位浏览本文章的朋友QWQ。 第1章——了解web及网络基础

qq_36408554的博客 1009

【Linux网络】网络基础:HTTP协议

在当今这个数字化迅猛发展的时代,互联网已经成为连接全球信息与服务的桥梁。而在这浩瀚的网络海洋中,HTTP(超文本传输协议)作为互联网上应用最广泛的一种协议,扮演着举足轻重的角色。无论是我们日常浏览的网页、观看的在线视频、还是进行的电子商务交易,背后都离不开HTTP协议的默默支撑。

EterNity_TiMe_的计算机学习之路 2471

网络基础——HTTP协议

每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的应用层的具体内容就是规定应用进程在通信时所遵循的协议。应用层的许多协议都是基于客户服务器方式。客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。HTTP又被称为...

Cecilia3333的博客 604

网络基础 HTTP协议

在HTTP会话中,客户端和服务器之间进行请求和响应的交互。HTTP会话管理是指在HTTP协议中,通过一系列机制来管理和维护会话状态的过程。由于HTTP协议本身是无状态的,服务器无法自动识别一个请求是否来自同一个客户端,也无法跟踪和管理会话状态。因此,为了实现会话管理,需要使用额外的机制。简易的理解:维持连续http会话的方法。

WSK1454360679的博客 2804

网络基础之HTTP协议

网络基础之HTTP协议HTTP协议简介HTTP的特点:HTTP工作原理HTTP的请求方法 HTTP协议简介 1、什么是超文本? 包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些超文本文件彼此链接,形成网状(Web),因此又被称为网页(Web Page)。这些链接使用URL表示。最常见的超文本格式是超文本标记语言HTML。 2、什么是URL? URL即统一资源定位符(Unif...

Beret-81的博客 267

(chap1 web网络基础) HTTP协议相关的各个协议(2)

thefist的专栏 314

LINUX网络基础 [五] - HTTP协议

应用层常见的协议有HTTP和HTTPS,传输层常见的协议有TCP,网络层常见的协议是IP,数据链路层对应就是MAC帧了。其中下三层是由操作系统或者驱动帮我们完成的,它们主要负责的是通信细节。如果应用层不考虑下三层,在应用层自己的心目当中,它就可以认为自己是在和对方的应用层在直接进行数据交互。

2402_83315537的博客 6280

Linux 网络基础(2)应用层(http/https协议、请求格式、响应格式、session、cookie、加密传输)

应用层(http/https协议、请求格式、响应格式、session、cookie、加密传输)

weixin_59215611的博客 1513

Web 网络基础(HTTP协议入门)

本文介绍了HTTP协议及相关的网络基础知识。HTTP是Web通信的核心协议,通过客户端请求和服务器响应实现网页访问。TCP/IP协议族采用分层结构(应用层、传输层、网络层、链路层)管理网络通信,其中IP协议负责数据传输,TCP协议通过"三次握手"确保可靠性,DNS实现域名与IP地址的解析。这些协议共同构成了Web运行的基础,URI/URL则提供了资源定位的标准化方式。文章系统阐述了从用户输入URL到页面显示的全过程及各协议的协作关系。

zhang1996121416的博客 929
上一篇: Android只json数据的处理-Gson
下一篇: java基础-equals和==
xh_4215
博客等级 码龄10年 7粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值