Http协议简绍

简介

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(Internet Engineering Task Force )共同合作研究,最终发布了一系列的RFC,其中著名的RFC 2616定义了HTTP 1.1。

我们把Http协议中通信的两方称作Client和Server关系如图(1):

1 Client和Server关系图

URL详解

2 URL示例

scheme:指定底层使用的协议(例如:http,https,ftp)

host:HTTP服务器的IP地址或者域名

port#:HTTP服务器的默认端口是80,这种情况下端口号可以省略。如果使用了别的端口,必须指明

path:访问资源的路径

url-params:url参数

query-string:发送给http服务器的数据(?后面)

anchor:锚,用于页面定位

http协议是无状态协议

原理:同一个客户端的这次请求和上次请求是没有对应关系,对http服务器来说,它并不知道这两个请求来自一个客户端。无状态是指协议对于事务没有记忆能力,服务器不知道客户端是什么状态。从另一个方面讲,打开一个服务器上的网页和你之前打开这个服务器上的网页之间没有任何联系。

解决方案:Cookie机制来维护

Http消息结构

Request消息的结构:三部分

请求行:http请求种类,请求资源路径,http协议版本

http header:http头部信息(后面文章后更新这块内容)

body:发送给服务器query-string的信息

当使用的是"GET"方法的时候,body是为空的

3 Request结构

Response消息的结构

请求行:协议版本,状态码,message

request header:request头信息

body:返回的请求资源主体

4 response

get和post的区别

1.GET提交的数据会放在URL之后,以?分割URL和传输数据,参数见以&相连;POST方法是把提交的数据放在HTTP包的Body中

2.GET提交的数据大小有限制;POST方法提交的数据没有限制

3.GET方式需要使用Request.QueryString来获取变量的值;POST通过Request.From来获取变量的值

4.GET方式提交数据,会带来安全问题

响应码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,293评论 19 139
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 12,676评论 6 152
  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 10,600评论 3 82
  • 前言:最近发现自己在网络相关这一块基础很是欠缺,所以准备花时间了解一下,本文主要是讲http协议的一些基础,和一些...
    justCode_阅读 6,251评论 0 23
  • 深入浅出HTTP协议(WEB开发和面试必备) 1.基础概念篇 a.简介 HTTP是Hyper Text Trans...
    半世韶华忆阑珊阅读 4,951评论 0 7