`
wlei1818
  • 浏览: 68855 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Http协议原理学习

 
阅读更多
HTTP协议用于在Internet上发送和接收消息。HTTP协议是一种请求-应答式的协议 ——客户端发送一个请求,服务器返回该请求的应答,所有的请求与应答都是HTTP包。HTTP协议使用可靠的TCP连接,默认端口是80。HTTP的第一 个版本是HTTP/0.9,后来发展到了HTTP/1.0,现在最新的版本是HTTP/1.1。HTTP/1.1由RFC 2616 定义。

在HTTP 中,Client/Server之间的会话总是由客户端通过建立连接和发送HTTP请求包初始化,服务器不会主动联系客户端或要求与客户端建立连接。浏览 器和服务器都可以随时中断连接,例如,在浏览网页时你可以随时点击"停止"按钮中断当前的文件下载过程,关闭与Web服务器的HTTP连接。

HTTP 1.1支持七种请求方法:GET、POST、HEAD、OPTIONS、PUT、delete和TRACE等,常用的为请求方法是GET和POST。

HTTP是TCP/IP的一个子集。提到TCP/IP,就会涉及到建立连接的“三次握手”

URI(Uniform Resource Identifier)统一资源标识符。
URL(Uniform Resource Locator)统一资源定位符。
URN(Uniform Resource Name)统一资源命名。


常用HTTP请求方法GET、POST:
两者都是明文传输。
GET是获取指定URL上的资源,是读操作,重要的一点是不论对某个资源GET多少次,它的状态是不会改变的,在这个意义上,我们说GET是安全的。GET返回的内容可以被浏览器,Cache服务器缓存起来。
POST的语意是对指定资源“追加/添加”数据,所以是不安全的,每次提交的POST,参与的代码都会认为这个操作会修改操作对象资源的状态,于是,浏览器在你按下F5的时候会跳出确认框,缓存服务器不会缓存POST请求返回内容。
根据HTTP协议,GET是安全的,也是幂等的,而POST既不是安全的,也不是幂等的。

Request Headers
GET / HTTP/1.1
Host: www.google.com.hk
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
X-Chrome-UMA-Enabled: 1
X-Chrome-Variations: CLO1yQEIiLbJAQibtskBCKW2yQEIqLbJAQiptskBCLS2yQEIsIPKAQ==
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3
Cookie: NID=64=s7N6adEt3QSMGNAtdoELiVDNXgjq_iRB9-xilr-MmA9_PQ4WDpdKMS6PBG0ML0s2RyrAB8-Di5elNFBi3idmFkofPLB1ac8hRYpuU6pHwGgjNd9ojnV_trrPIqndEhOM; PREF=ID=eaa7d680f41133b8:U=dcda92987d358ee5:FF=1:LD=zh-CN:NW=1:TM=1350263886:LM=1350263886:S=Z8retbLm4E9PoSbM


Response Headers
HTTP/1.1 200 OK
Date: Mon, 15 Oct 2012 02:05:29 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=UTF-8
Content-Encoding: gzip
Server: gws
Content-Length: 159420
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN


参考文章:
超文本传输协议及HTTP包
HTTP状态码
Http协议三次握手过程
分清 URI、URL 和 URN
从HTTP GET和POST的区别说起
浅谈HTTP中Get与Post的区别
分享到:
评论

相关推荐

    透视HTTP协议,关于HTTP协议的深入学习和理解,旨在帮助读者从基础到高级全面掌握HTTP的相关知识

    关于HTTP协议的深入学习和理解,旨在帮助读者从基础到高级全面掌握HTTP的相关知识。内容涵盖了HTTP协议的基本结构、工作原理、以及与HTTP相关的技术和工具,如TCP/IP、DNS、SSL/TLS、Web Server等。教程强调理论与...

    http-协议:HTTP协议原理分享

    HTTP协议学习笔记 HTTP协议是互联网的基础协议,也是做为一名合格开发者的必备知识,本系列主要也是个人在工作和学习中的记录总结,如果此处能为您得到帮助,点击右上角 :star:给予支持!祝你好运 :red_heart: 作者...

    Http协议详解(深入理解).md

    面试官:考考你网络协议的知识,TCP协议和UDP协议的区别,HTTP协议,HTTPS协议的底层原理是什么等一堆技术问题。 小达:。。。。我还不知道哎。 面试官:那你回去等通知吧 于是小达回家后,针对其中的HTTP进行...

    TCP/IP协议与网络编程技术

    (1)内容的组织上按照协议原理与协议编程分为上、下篇。上篇主要介绍TCP/IP协议簇中的常用协议,下篇专门介绍网络编程知识与技能。 (2)具体在编写每一节的内容时将原理知识与实用技能融为一体。以方便读者学习。 ...

    ESP8266学习进阶协议类(1)——http请求

    HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果...

    中软吉大网络协议仿真系统

    通过对各种数据帧的灵活编辑、仿真发送、捕获解析和会话分析,学生可以深入地理解和掌握网络协议的内部原理和运行机制。借助此平台还可以学习网络程序设计、网络攻防和故障性能分析等相关知识。本系统编排的实验课程...

    实验3 传输层与应用层协议.docx

    1、捕获TCP三次握手的过程,说明其原理。 2、捕获HTTP工作过程,分析HTTP协议。 3、捕获UDP协议包,写出其格式。 4、捕获DNS数据包,写出DNS工作原理。

    【JavaScript源代码】Node.js之http模块的用法.docx

     目录 前言HTTP协议HTTP服务器文件服务器练习 前言 HTTP协议 HTTP服务器 文件... HTTP协议 要理解Web服务器程序的工作原理,首先,我们要对HTTP协议有基本的了解。如果你对HTTP协议不太熟悉,先看一看HTTP

    Java后端学习路线图 - 从入门到工作的全流程 - 适用于在校学生、入门、转行学IT的同学

    - 学习HTTP协议:了解HTTP协议的基本原理和常用请求方法。 - 学习Servlet和JSP:掌握Java Web开发的基本框架,了解Servlet的生命周期和JSP的使用。 3. 数据库与SQL: - 学习关系型数据库:了解数据库的基本概念...

    安卓java读取网页源码-httpProtocol:http网络协议学习文档

    http协议是 hyper text transfer protocol 超文本传输协议的缩写,是由于从万维网 (www:world wide web )服务器传输超文本到本地浏览器的传送协议。 http是一个基于TCP/IP通信协议来传输数据(html 文件,图片文件...

    从零到精通http协议

    通俗易懂,生动有趣,知识全面,主要讲解http的概念及工作过程、请求、响应、缓存以及https的原理。带你系统的学习http。

    PHP 核心编程技术 个人学习文档

    PHP 核心编程技术 个人学习文档 表单传值 4 表单传值的方式 4 ...HTTP协议概念 25 HTTP协议特点 25 HTTP协议分类 25 HTTP请求 26 请求行 26 请求头 26 请求体 26 HTTP响应 27 响应行 27 响应头 27 响应体 2

    Java实现的多线程与线程安全实践-基于Http协议的断点续传,可用作毕业设计,课程设计

    毕业论文——包含了一篇探讨多线程与线程安全实践项目背景、技术原理和实现过程的学术论文,可作为论文撰写参考。通过阅读论文,学习者可以了解项目的理论基础,深入理解项目的实现细节,提升分析和解决问题的能力。...

    Cisco Packet Tracer Student 通信网完整实验文件

    2-1 PPP协议与PPPoE协议学习 2-2 以太网帧的封装实验 2-3 集线器与交换机的对比实验 2-4 交换机工作原理 2-5 生成树协议(STP)分析 2-6 虚拟局域网(Vlan)工作原理 3-1 IP协议分析 3-2 IP地址分配实验 3-3 ARP协议...

    基于微信网页版 HTTP 协议的机器人引擎(含一些机器人)。.zip

    我们深入探讨了深度学习的基本原理、神经网络的应用、自然语言处理、语言模型、文本分类、信息检索等领域。更有深度学习、机器学习、自然语言处理和计算机视觉的实战项目源码,助您从理论走向实践,如果您已有一定...

    常见计算机网络问题详解

    这份资源是我对计算机网络中常见问题的学习总结,涵盖了HTTP协议、TCP协议、IP协议等相关知识,并包含了丰富的图解内容。在整理这些内容时,我尽可能地以简单明了的方式呈现,以便更多人可以轻松学习。虽然对初学者...

    新手网络工程师--计算机网络应用层协议与应用

    新手学习网络工程师的必备资源~!此课件是针对《计算机网络应用层协议与应用》,详解了网络应用层的基础。 课程目标: 理解TCP/IP应用层协议 了解TCP/IP协议的应用层 ...了解HTTP协议以及静态网页和动态网页的概念

    Fiddler抓包工具基础学习视频.zip

    04-Fiddler系列课--HTTP协议概述 05-Fiddler系列课-HTTP协议请求报文详解 06-Fiddler系列课-HTTP协议响应报文详解 07Fiddler安装 08Fiddler菜单栏 09Fiddler工具栏-重放请求和移除请求 10Fiddler工具栏-2 11Session ...

    HTTP 超详解 一文搞定HTTP面试知识

    目录 1. HTTP原理 概念 ...特点 ...请求报文结构 请求行(请求方法、URL、协议版本) ...这部分学习并参考于:HTTP协议超级详解 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于

    Http从入门到精通,进阶教程

    HTTP协议:了解HTTP协议的基本原理、特点、工作流程等。 HTML/CSS/JavaScript:掌握HTML/CSS/JavaScript的基础知识,能够进行基本的网页开发和调试。 前端框架:学习前端框架,例如React、Vue等,掌握其基本原理和...

Global site tag (gtag.js) - Google Analytics