1)浏览器向网站所在的服务器发送了一个 Request(请求)
2)网站服务器接收到这个Request 之后进行处理和解析,然后返回对应的一个Response(响应)给浏
览器,Response里面就包含了页面的源代码等内容,浏览器再对其进行解析便将网页呈现了出来。
请求方法 | 说明 |
---|---|
GET | 向服务器特定的资源发出请求 , 一般用于==获取/查询==资源信息 。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端,一般不包含”请求内容”部分,请求数据以地址的形式表现在请求行。 |
HEAD | 和GET类似,只不过服务端接受到HEAD请求后==只返回响应头==,而不会发送响应内容。当我们只需要查看某个页面的状态的时候,使用HEAD是非常高效的,因为在传输的过程中省去了页面内容。 |
POST | 向服务器的指定资源==提交数据进行处理==请求 (比如,登录验证,提交数据等),数据存储位置由服务器决定 |
PUT | 向服务器指定资源位置上传数据, PUT通常指定了资源的存放位置 |
DELETE | 请求服务器删除Request-URI所标识的资源 |
x1. GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如:
10.1.1.1 - - [18/Jul/2018:19:13:22 +0800] "GET /index.php?db=myblog&table=wp_users&token=4bee0fd824e39fd6a9249c83980b9919&lang=zh_CN HTTP/1.1" 200 3038
而POST方法是把提交的数据放在HTTP包的Body中.
2. GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.
3. GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.
状态码 | 说明 |
---|---|
200 | 客户端请求成功 |
302 | 临时跳转,跳转地址在响应报文中通过Location来指定 |
400 | 客户端请求语法错误,服务器无法识别 |
401 | 请求未经授权(需要认证) |
403 | 服务器收到请求,但被拒绝(资源权限问题) |
404 | 请求的资源不存在 |
500 | 服务器内部错误 |
根据TCP/IP协议簇的四层模型,http协议位于应用层,决定client到server的通讯内容及方式。
根据TCP/IP协议簇的四层模型,tcp协议(Transmission Control Protocol,传输控制协议) 位于传输层,提供数据的安全可靠传输。
根据TCP/IP协议簇的四层模型,ip网际协议(Internet Protocol)位于网络层,主要作用实现数据包快速传递到对方计算机IP地址,而IP间的通信依赖于MAC 地址(网卡的固定地址),所以需要再通过ARP 协议根据通信方的 IP 地址反查出对应的MAC 地址(反之是RARP协议)。
ARP协议以广播的形式发送以太网数据帧给以太网上的每个主机 ,请求数据帧中包含目的主机的 I P地址。如果自己和目标主机在同一个网络,那目标主机收到APR包后会将自己的MAC地址发送给对方;如果自己和目标主机不在同一个网络,那么连接这两个网络的路由器就可以回答该请求。
服务器收到客户端的http请求后,进行处理响应,然后再以TCP/IP协议返回给客户端。