HTTP要点概述:三,客户端和服务器,请求和响应

一,客户端和服务器:

HTTP协议主要用于客户端和服务器之间的通信。

1,客户端(client):请求访问资源的一端。(知道为啥用C表示客户端了吧)

2,服务器(server):提供资源响应的一端。

两台使用HTTP协议通信的两台计算机,在一条通信线路上,必定有一端是客户端,另一端是服务器。就实际情况而言,两台计算机之间作为服务器或者客户端角色可能会发生互换,就一条通信线路而言(记得好像是信道,information channels)客户端和服务器角色是固定的,并且HTTP可以明确区分哪个是客户端,那个是服务器。

二,请求和响应:

客户端和服务器之间通过请求和响应的交换达成通信。(说的真好)

HTTP 协议规定,请求从客户端发出,最后服务器端响应该请求并返回。所以,肯定是先从客户端开始建立通信的,服务器端在没有接收到请求之前不会发送响应。

(有没有想起NSURLRequest,NSURLResponse)

1,请求(Request)的报文格式:

a,方法(method):后面会详述

b,URI:统一资源定位符

c,请求首部字段(header Fields,贴心吧,很多地方不会告诉你就是它):

强行插入

4种首部字段类型

  • 通用首部字段(General Header Fields)
  • 请求首部字段(Request Header Fields)
  • 响应首部字段(Response Header Fields)
  • 实体首部字段(Entity Header Fields):针对请求报文和响应报文的实体部分使用的首部,补充了资源内容更新时间与实体有关的信息

d,实体内容,就是数据和参数等

2,响应(Response)的格式:

a,协议版本

b,状态码(status code):后面会详述;2xx,3xx,4xx,5xx

c,原因短语(reason-phrase):成功/失败原因的简单描述

d,首部字段(header fields):响应的一些附加信息,日期,内容大小,内容格式等。

e,实体(entity body):返回的数据等。

时间: 2024-11-10 11:13:32

HTTP要点概述:三,客户端和服务器,请求和响应的相关文章

【转帖】客户端通过 HTTP 请求和响应 的 Header 信息总结

请求Header原帖地址:http://technique-digest.iteye.com/blog/1174581 响应Header原帖地址:http://blog.pfan.cn/hurongliang/24720.html 客户端HTTP请求的Header信息 1.HTTP请求方式 如下表: 方 法 描 述 GET 向Web服务器请求一个文件 POST 向Web服务器发送数据让Web服务器进行处理 PUT 向Web服务器发送数据并存储在Web服务器内部 HEAD 检查一个对象是否存在 D

三、http协议—请求和响应报文的构成

http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之前不会发送响应 下面先来说说请求的构成: 1)请求方法URI协议/版本  2)请求头(Request Header)  3)请求正文 下面是一个请求的例子: GET/sample.jspHTTP/1.1 Accept:image/gif.image/jpeg,*/* Accept-Language:

HttpURLConnection 的getInputStream()客户端向服务器请求xml 时出 现系统错误

今天几乎为这个小问题困扰了一天,怎么调都调不了,最后发现是版本问题,在AndroidManifest.xml修改<uses-sdk  android:minSdkVersion="4"/>  里面原本是 <uses-sdkandroid:minSdkVersion="4"android:targetSdkVersion="17" /> android:targetSdkVersion="17" 必须去掉

Socket与SocketServer结合多线程实现多客户端与服务器通信

需求说明:实现多客户端用户登录,实现多客户端登录一般都需要使用线程技术: (1)创建服务器端线程类,run()方法中实现对一个请求的响应处理: (2)修改服务器端代码,实现循环监听状态: (3)服务器端每监听到一个请求,创建一个处理线程: 关于Socket与SocketServer介绍我这里不多说了,网上很多资料,这里推荐一个 http://www.cnblogs.com/rond/p/3565113.html 代码如下: 1.用户类 package com.j02.d04; import ja

iOS 中客户端和服务器的 Web Service 网络通信

当你打开你手机上新浪微博应用或者知乎应用是,你是否会去想这些显示在手机上的图片和数据时从哪里来的?又是通过怎样的方法实现的?好,那么接下来就介绍是如何实现的,过程又是怎么样的. 当我们浏览着关注或者好友的微博时,那些图片和数据不是凭空出现的,而是通过你的客户端向服务器请求后由新浪微博的服务器返回本地所获得,通过数据的解析就能够在客户端上进行显示,甚至是操作.而这些,就是我们通常所说的 Web Service.Web Service 技术是一种通过 Web 协议提供服务,保证不同平台的应用服务可以

HTTP/NSURLConnection(请求、响应)、http响应状态码大全

一.网络基础 1.基本概念> 为什么要学习网络编程在移动互联网时代,移动应用的特征有几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图只有通过网络跟外界进行数据交互.数据更新,应用才能保持新鲜.活力如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死水 移动网络应用 = 良好的UI + 良好的用户体验 + 实时更新的数据新闻:网易新闻.新浪新闻.搜狐新闻.腾讯新闻视频:优酷.百度视频.搜狐视频.爱奇艺视频音乐:QQ音乐.百度音乐.酷狗音乐.酷我音乐LBS:百度地

TCP Incast 问题TCP INCAST解决思路 应用场景:在集群文件系统内,客户端应用请求某个逻辑数据块(通常情况下一个读数据块大小是1MB),该数据块以条带化方式分别存储在几个存储服务器上,即采用更小的数据片存储(32KB,256KB等),这种小数据片称为服务器请求单元(SRU)。只有当客户端接收到所有的服务器返回的其所请求数据块的SRU后才继续发送出下一个数据块请求,即客户端同时向

TCP INCAST解决思路 应用场景:在集群文件系统内,客户端应用请求某个逻辑数据块(通常情况下一个读数据块大小是1MB),该数据块以条带化方式分别存储在几个存储服务器上,即采用更小的数据片存储(32KB,256KB等),这种小数据片称为服务器请求单元(SRU).只有当客户端接收到所有的服务器返回的其所请求数据块的SRU后才继续发送出下一个数据块请求,即客户端同时向多个存储服务器发起并发TCP请求,且所有服务器同时向客户端发送SRU. 出现的问题: 1)         这种多对一的服务器向客

观察HTTP协议中客户端向服务器发送的请求,理解并实现一个最简单的AJAX请求案例

一.什么是HTTP协议 HTTP协议即超文本传输协议,网站就是基于HTTP协议的,例如网站的图片.CSS.JS等都是基于HTTP协议进行传输的.HTTP协议是由从客户机到服务器的请求(Request)和从服务器到客户机的响应(Response)进行了约束和规范. 大白话的说,就是你在浏览器输入一个网址,例如http://baidu.com,这时你就是向百度的服务器发送了请求了....经过一系列你看不到的处理之后,你的浏览器出现一个百度的首页,这就是百度的服务器对你的浏览器的成功的响应. 二.在浏

Redis 学习(三)redis服务器集群、客户端分片

下面是来自知乎大神的一段说明,个人觉得非常清晰,就收藏了. 为什么集群? 通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取.Redis是一个很好的Cache工具.大型网站应用,热点数据量往往巨大,几十G上百G是很正常的事儿,在这种情况下,如何正确架构Redis呢? 首先,无论我们是使用自己的物理主机,还是使用云服务主机,内存资源往往是有限制的,scale up不是一个好办法,我们需要scale out横向可伸缩扩展,这需要由多台主机协同提供服务,即分布式多个Re