Learning Records 计算机网络( 四 )


  • get:请求读取URL所标志的信息
  • post:给服务器添加信息
  • put:在给定url下储存文档
  • delete:删除给定url所标志的资源
get和post区别:
  • get是从服务器上获取数据,post是向服务器发送数据
  • get会把参数数据队列添加到url中,值和表单内各个字段一一对应
  • get传输的数据量小,不超过2KB,post传输的数据量大,默认不限制
  • 根据HTTP规范,GET用于信息获取,是安全和幂等的
安全:仅用于获取信息而不是修改信息幂等:对同一URL的多个请求应返回相同的结果
在浏览器中输入 http://www.baidu.com/ 所执行的全过程Baidu.com是我们想要访问的服务器,执行以下操作
  • 客户端浏览器通过DNS解析http://www.baidu.com/的IP地址到220.181.27.48,通过此IP地址找到客户端到服务端的路径,客户端向该IP发起一个HTTP会话,然后通过TCP封装数据包,输出到网络层,建立TCP连接
  • 在客户端的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如果服务器使用80端口监听请求,客户端随机选择一个端口,和服务器进行交换,服务器把相应的请求返回给客户端的端口(服务器处理请求)
  • 客户端的网络层主要做的就是通过路由表查询如何到达服务器
  • 包通过链路层发送到路由器
状态码(开发常用)200:请求成功,一般用于get和post500:服务器内部错误,无法完成请求401:请求需要用户身份验证403:服务器拒绝请求404:服务器无法根据客户端请求找到网页资源
cookieHTTP协议本身是无状态的——指无法辨认用户的身份cookie实际上是一小段文本消息客户端向服务器发起请求,如果服务器需要记录该用户状态,就需要向客户浏览器发一个cookie 。而客户端浏览器会把cookie保存起来 。当浏览器再次请求时,会把cookie一起提交给服务器,服务器会检查该用户的状态

经验总结扩展阅读