HTTP协议工作原理
HTTP简介
超文本传输协议(HTTP:Hypertext Transport Protocol)是万维网应用层的协议,它通过两个程序实现:一个是客户端程序(各种浏览器),另一个是服务器 (常称Web服务器)。这两个通常运行在不同的主机上,通过交换报文来完成网页请求和响应。
报文简介
报文是一个数据块,包括要传送的数据,也包括必要的附加信息,像目的IP、目的端口、源地址、源端口、数据长度、所用协议、加密等,它定义了报文的结构和客户与服务器之间交换报文的规则。
报文可简单分为:请求报文(Request Message)与响应报文(Response Message)。
报文的组成部分分别为:(1)起始行(Start Line);(2)首部(Header);(3)主体(Body)。
HTTP工作流程
客户机与服务器建立连接后,浏览器可以向web服务器发送请求并显示收到的网页,当用户在浏览器地址栏中输入一个URL或点击一个超连接时,浏览器就向服务器发出了HTTP请求,请求方式的格式为:统一资源标识符、协议版本号,后边是MIME(Multipurpose Internet Mail Extensions)信息包括请求修饰符、客户机信息和可能的内容。该请求被送往由URL指定的WEB服务器,WEB服务器接收到请求后,进行相应反映,其格式为:一个状态行包括信息的协议版本号、一个成功或错误的代码,后边服务器信息、实体信息和可能的内容。即以HTTP规定的格式送回所要求的文件或其他相关信息,再由用户计算机上的浏览器负责解释和显示。
在HTTP协议中,由于WEB服务器在发送用户要求的文档过程中,并不储存任何有关客户端的状态信息。如果某个客户端在几秒钟内两次要求同一文档,服务器绝对不会认为不合理,它不记得用户端曾经来访过,HTTP不维持客户端状态。
在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP80,当然还有其它端口可供使用。
HTTP协议工作原理的更多相关文章
- TCP/IP协议工作原理简述
TCP/IP协议工作原理简述 // */ // ]]> TCP/IP协议工作原理简述 Table of Contents 1 概要 2 应用层 3 传输层 4 网络层 5 链路层 1 概要 ...
- ARP协议工作原理实验
一.实验目的 验证"在向目的主机发送数据包时会先查询ARP高速缓存,如果ARP高速缓存中已保存了目的主机的MAC地址,不进行ARP查询,使用ARP高速缓存中的MAC地址:如果缓存中没有IP对 ...
- FTP(文件传输协议)工作原理
目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...
- http协议工作原理及工作流程
什么是url ? url = 协议 + 域名 + 资源路径 比如: https://www.baidu.com/index.html http : 超文本传输协议 https: 安全套接字协议 HTT ...
- HTTP协议-工作原理及消息结构
HTTP协议 HTTP协议是Hyper Test Transfer Protocol(超文本传输协议)的缩写 适用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传输协 ...
- http协议工作原理(转)
WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页.WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间 ...
- 【FTP】FTP(文件传输协议)工作原理(SFTP)
目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...
- HTTPS协议工作原理(SSL数字证书)
目录 HTTPS SSL协议的工作过程 SSL数字证书的查看 HTTPS 我们都知道HTTP协议是明文传输的,并且不能验证对方的身份,而且不能保证数据的完整性.而当我们在网络上进行购物电子交易时,电子 ...
- http协议工作原理(精简)
HTTP协议进行通信时,需要有客户端(即终端用户)和服务端(即Web服务器),在Web客户端向Web服务器发送请求报文之前,先要通过TCP/IP协议在Web客户端和服务器之间建立一个TCP/IP连接 ...
随机推荐
- C#设计模式 ---- 总结汇总
一.引言 C#版本的23种设计模式已经写完了,现在也到了一个该总结的时候了.说起设计模式,我的话就比较多了.刚开始写代码的时候,有需求就写代码来解决需求,如果有新的需求,或者需求变了,我就想当然的修改 ...
- 17.翻译系列:将Fluent API的配置迁移到单独的类中【EF 6 Code-First系列】
原文链接:https://www.entityframeworktutorial.net/code-first/move-configurations-to-seperate-class-in-cod ...
- Atitit s2018.6 s6 doc list on com pc.docx Atitit s2018.6 s6 doc list on com pc.docx Aitit algo fix 算法系列补充.docx Atiitt 兼容性提示的艺术 attilax总结.docx Atitit 应用程序容器化总结 v2 s66.docx Atitit file cms api
Atitit s2018.6 s6 doc list on com pc.docx Atitit s2018.6 s6 doc list on com pc.docx Aitit algo fi ...
- 获取CPU序列号的Delphi程序
Unit CPUid; Interface Type TCpuType = (cpu8086, cpu286, cpu386, cpu486, cpuPentium); Function CpuTyp ...
- Myeclipse安装、配置、测试
Myeclipse安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装与激活 4.JavaSE开发测试(确保JDK已正确安装) 5.JavaEE开发测试(确保服务器和 ...
- grokking deep learning
https://www.manning.com/books/grokking-deep-learning?a_aid=grokkingdl&a_bid=32715258
- 【转载】Docker 安装后 报 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 解决办法
Docker Docker 安装后 报 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docke ...
- 【Python】 Numpy极简寻路
[Numpy] 先感叹下最近挖坑越来越多了.. 最近想不自量力地挑战下ML甚至DL.然而我也知道对于我这种半路出家,大学数学也只学了两个学期,只学了点最基本的高数还都忘光了的渣滓来说,难度估计有点大. ...
- jquery中Get方法请求接口
$.ajax( { url: apiUrl + '/api/Code/GetCodeProductInfo', type: 'GET', //Header头部添加Token参数 beforeSend: ...
- HTTP Headers 信息
点开一个条目,可以查看请求的详细信息: General —— 通用信息 Request URL:请求的URL Request Method:请求的方法 Status Code:响应状态 ...